Scraping
Download cover art, screenshots and metadata for your games
Scraping turns a list of filenames into a library: cover art, screenshots, a description, a release date and a rating for each game. EmulationStation does it on the device, no computer needed.
Which databases are available
Open EmulationStation's main menu and pick Scraper. The Scrape from list on this build has two entries:
| Database | Account needed | Covers |
|---|---|---|
| IGDB | Client ID and Client Secret | Most console and computer systems |
| ArcadeDB | None | Arcade, Neo Geo and LCD handheld games |
EmulationStation also has code for ScreenScraper, TheGamesDB and HfsDB, but those three are compiled in only when the person building the image supplies their own API credentials. The published ArchR images are built without them, so they do not appear in the list. If you build ArchR yourself and export SCREENSCRAPER_DEV_LOGIN or GAMESDB_APIKEY before the build, they come back.
Setting up IGDB
IGDB uses Twitch credentials. Register an application at dev.twitch.tv/console/apps, which gives you a Client ID and a Client Secret. Both are free.
Connect the console to the network
ES → Network Settings → Enable WiFi, then fill in WiFi SSID and WiFi key.
Open the scraper
ES → Scraper. It has three tabs: Scrape, Options and Accounts.
Enter your credentials
On the Accounts tab, fill in Client ID and Client Secret under IGDB.
Choose what to download
On the Options tab, pick an Image source and a Box source. The choices change with the database: IGDB offers Screenshot, Box 2D and Fan Art, ArcadeDB also offers Title screenshot, Marquee and video.
Choose what to scrape
Back on the Scrape tab, set Games to scrape for and tick the systems under Systems included. Ignore recently scraped games defaults to the last 15 days, so re-running the scraper does not redo work.
Start
Press Scrape now. It runs in the background and you can keep browsing while it works.
Options worth knowing
- Games to scrape for: All, Games missing any media, or Games missing all media. The middle one is the default and the one you want for a top-up run.
- Overwrite names, Overwrite descriptions and Overwrite medias decide whether an existing value is replaced or kept. Turn overwrite off if you have edited titles by hand.
- Preferred region appears only for databases that publish per-region data.
- Included scrapers under Manual scrape controls which databases the per-game search screen offers. It is separate from Scrape from.
Where the files land
Media goes next to the ROMs, one folder per kind:
/storage/roms/<system>/images/ box art, screenshots, logos
/storage/roms/<system>/videos/ preview videos
/storage/roms/<system>/manuals/ manuals
/storage/roms/<system>/gamelist.xml titles, descriptions, ratings, datesThose folders are skipped when EmulationStation builds the game list, so they never show up as fake games.
Fixing one game by hand
Databases guess wrong, particularly with Japanese imports and hacks. Highlight the game, press X to open Game options, then Edit this game's metadata. Changes are written to that system's gamelist.xml.
If your console opens save states on X instead, someone has turned off Access game options with north button in User Interface Settings. With that switch off, game options move to a hold of A.
Editing gamelist.xml directly
It is plain XML, so bulk edits from a computer are easy over SSH or Samba. EmulationStation keeps the game list in memory and rewrites the file when it exits, so stop it first or your edits will be overwritten:
systemctl stop emustation
# edit /storage/roms/<system>/gamelist.xml
systemctl start emustationBack up before a long run
A big scrape can leave half-filled metadata if it is interrupted. Copy the file first:
ssh root@archr.local
cd /storage/roms/snes
cp gamelist.xml gamelist.backup.xmlThere is no command-line scraper
ArchR does not ship Skyscraper or any other standalone scraper, and the built-in one only runs inside EmulationStation. So you cannot stop EmulationStation and leave a scrape running overnight. If you want the screen off while it works, set a short screensaver timeout in UI Settings → Screensaver settings and leave the console on the charger.
Scraping is not one of the services ArchR pauses when a game starts, so avoid launching a game in the middle of a long run.