Scraping
Download cover art, screenshots, metadata for your games
Scraping fills your gamelist with cover art, screenshots, descriptions, release dates, and rating — the difference between a list of filenames and an actual library view. EmulationStation has scraping built in.
| Before | After |
|---|---|
Super Mario World.sfc | full SNES art + box + screenshot + description |
Setup
Get a ScreenScraper account
Free, mandatory: register at screenscraper.fr. Anonymous scraping rate-limits you to a trickle; an account is mostly to track requests.
Connect your handheld to the internet
ES → System Settings → Network → enable WiFi.
Open the scraper
ES → Scraper (top-level menu).
Login
Enter your ScreenScraper username + password in the Username / Password fields.
Pick what to download
Tick which assets you want — screenshots, box art (2D and/or 3D), wheel logos, marquee, manuals, videos. Each adds bytes per game; for a 200-game library, screenshots + box 2D + wheel is a sane default.
Pick which systems
The scraper offers per-system selection. Skip systems that won't scrape well (PortMaster ports, custom collections).
Start
Press Start Scraper. ES walks the system list. Slow part: rate-limited by ScreenScraper.
Recommended for the default Art Book Next theme
Match the theme's expectations to avoid empty thumbnails:
| Setting | Value |
|---|---|
| Image Source | Screenshot (or Box 2D for boxart-first themes) |
| Box Source | Box 2D |
| Logo Source | Wheel |
See themes for the full pairing table.
During gameplay
The scraper takes nontrivial CPU and lots of small file I/O — don't run it while a game is running. If you want it to grind through 1000 games while you're away:
- SSH in (so ES doesn't have to hold the screen on).
- Stop ES with
sudo systemctl stop emustation. - Sadly, the in-ES scraper won't run with ES stopped — there's no headless scraper in the ArchR build today.
- Keep ES running but lock the screen: in ES, System Settings → Screensaver Settings → set timeout to 1 min, choose the "Black" screensaver. Plug in the charger.
ArchR pauses Syncthing/Tailscale/ZeroTier during emulation but not during scraping — those services keep running, so heavy scraping + active VPN means a bit of WiFi contention.
Manual metadata
Sometimes ScreenScraper gets the wrong region / wrong title (e.g. JP imports). Edit per-game:
ES → highlight game → press Y (Edit Metadata) → fix any field. Saved to /storage/roms/<system>/gamelist.xml.
If you want to bulk edit on a PC, just edit gamelist.xml directly with your favorite XML editor — ES picks up changes on rescan.
Backup before scraping
Big scrape sessions hit ScreenScraper rate limits and may leave half-populated metadata if interrupted. Before a long run, copy /storage/roms/<system>/gamelist.xml somewhere safe so you can roll back if you don't like the result.
ssh root@archr.local
cd /storage/roms/snes
cp gamelist.xml gamelist.backup.xml