About This File
🎮 PC Game Scraper for LaunchBox
PC Game Scraper is a robust metadata and media scraping plugin for LaunchBox. It intelligently prioritizes Steam for PC game metadata and IGDB for console titles. It leverages SteamGridDB for high-quality frontend artwork and YouTube (via yt-dlp) for video trailers.
The plugin features advanced integration with HowLongToBeat (via FlareSolverr), now upgraded with a dedicated "Console Fork" to pull version-specific completion times directly from the site’s internal data.
🛠️ Dependencies & Requirements
To use all features, the following components are required or recommended. I've included everything I can for your convenience. If you are not comfortable with them or do not want to use the optional Deno.exe. You may download your own or remove Deno.exe if you don't plan on using cookies.txt or downloading age gated videos.
Required for Core Functionality
-
yt-dlp.exe (Required for Video): The engine that downloads trailers. Must be placed in the plugin folder.
-
ffmpeg.exe (Required for Video): Handles video merging and ensures files play correctly in LaunchBox.
Recommended
- SteamGridDB API Key (Highly Recommended): Required for fallback images not available on Steam.
-
IGDB Client ID & Secret (Highly Recommended): Required for all console game metadata and "Gap Filling" for PC games metadata either not on Steam or difficult to extract.
-
FlareSolverr (Required for HLTB): A local proxy service needed to bypass Cloudflare security when fetching HowLongToBeat playtimes.
-
cookies.txt and Deno.exe (Optional): Helps
yt-dlpbypass age-restricted content gates on YouTube and sign in to your premium account. Deno.exe will solve captchas to bypass YouTube's bot protection.
⚠️ Disclaimer
This plugin scrapes data from third-party sources. Please use FlareSolverr and yt-dlp responsibly and at your own discretion.
✨ Key Features
🧠 Smart Metadata Routing
-
PC Logic: Scans Steam first. If a game is found, it then uses IGDB to "Gap Fill" fields Steam often lacks, like Series and Age Rating.
-
Console Logic: Automatically skips Steam and routes directly to IGDB based on the game's platform.
-
Manual Search: If automatic matching fails the user is prompted for a new search term, steam app id, steam store or igdb url.
🎬 Video Downloader
-
Source Selector: Select your desired source, Steam or Youtube.
-
Smart Fallback: For PC games, if Steam source is selected it attempts to grab the official Steam Store trailer first. If unavailable allows the user to switch to Youtube, or if the game is a console title, it pivots to a YouTube search and injects the platform in to the search term for better matching.
-
Dynamic Slicer: Automatically applies your "Max Duration" limit to YouTube downloads to save disk space. YouTube videos will be cut off at the time set. A 10 minute gameplay video is cut down to 5 minutes.
-
Resolution: Will attempt to download the desired resolution. If it is not available will scale down until one is found for the selected video.
-
Suffix: Allows user to define desired youtube search term suffix, IE Trailer, Gameplay, etc...
⏱️ HowLongToBeat
The plugin now uses two distinct methods to fetch playtimes:
-
PC Logic: Pulls the general "blended average" from the HLTB search results.
-
Console Logic: Loads the game's specific detail page and extracts the exact platform data (e.g., pulling GameCube-specific times for Metroid Prime rather than the Wii Remaster times).
-
Custom Fields: Creates custom fields for dynamic playlist creation. Marathon 60h+, Long 30-60h, Extended 15-30h, Standard 5-15h, and Quick <5h, as well as the exact times provided by HLTB.
🎮 Real-World Workflow Examples
If you select a game and run all three functions (Metadata, Images, and Video), here is how the plugin behaves:
Example A: Windows Game (Cyberpunk 2077)
-
Identification: Finds the game on Steam via name match.
-
Metadata: Pulls metadata from Steam, then if client id/client secret are populated and correct hits IGDB to add additional fields not available or hard to parse from steam.
-
Images: Grabs all available steam images. If images are missing or if SGDB override is enabled and your SGDB API is present it hits SteamGridDB.
-
Video: Downloads the official trailer directly from the Steam Store servers or YouTube if the video source is YouTube.
-
HLTB: If enabled and flaresolverr is setup. saves the general PC completion times to your custom fields as well as the category times mentioned above.
Example B: Console Game (The Legend of Zelda: Twilight Princess for GameCube)
-
Identification: Automatically routes to IGDB after detecting the GameCube platform.
-
Metadata: Pulls the IGDB metadata.
-
Images: Since no Steam ID exists, it goes straight to SteamGridDB to find the community-voted best GameCube media.
-
Video: Recognizes it isn't a PC game and routes to YouTube to search for "The Legend of Zelda: Twilight Princess GameCube Trailer".
-
HLTB: Triggers the Console Fork. It ignores the Wii and Wii U times and pulls only the GameCube platform data.
Edited by spiritedusual
Updated readme
What's New in Version 1.1 See changelog
Released
Lots of updates some I made a while back so can't list them all.
A redesign of the UI to hopefully make it easier to understand and just makes more sense this way.
Added automatic workflow and removed redundant or unnecessary settings in the ui.
Corrected several fallbacks to improve matching.
If you add the iGDB client id/secret the plugin matches the platform of the title to the IGDB database and will either scan Steam (Windows) or IGDB for everything else.
The Metadata, Video, and HLTB all now work independently of each other. Previously you could not disable the metadata section.
The video section now correctly works for all platforms. Previously because the sections were interconnected downloading video from youtube for non steam games basically didn't work at all.
The max duration setting in the video download section now works and will cut off the found file at the selected duration.
Now when searching for non windows or arcade games the plugin will inject the platform name in to the youtube search so "title" "platform" "user defined suffix".
Due to YouTubes bot protection you could and would get blocked when using your cookies file to log in to premium due to a failure to solve a captcha. Now deno.exe is included in the archive and functions as a solver when and if you choose to use your cookies file to retrieve age gated trailers. More on this in the readme above.
The HLTB section now impliment the same intelligent platform selection as the video section. It pulls the exact times from the HLTB section for the platform selected. (This will probably get changed to the averages later but I'm tired...)
Thank you to ronnie in the discord for getting me interested in this plugin again.