Jump to content
LaunchBox Community Forums

1 Screenshot

About This File

🎮 The Game Scraper for LaunchBox

The Game Scraper is a high-performance, multi-threaded metadata and media powerhouse for LaunchBox. It intelligently routes requests based on platform, performs deep "gap-filling" between APIs, and features a unique Bulk Resolution workflow to ensure no game is left behind.

⚠️ ATTENTION: If you encounter issues with YouTube video downloads, always ensure you have the most up-to-date version of yt-dlp.exe before seeking support.


🛠️ Dependencies & Requirements (Pre-Bundled)

To provide a seamless experience, everything you need is included in the plugin folder. You do not need to download external binaries unless you wish to update them manually.

Required Core Components (Included)

  • yt-dlp.exe: The core engine for downloading trailers.

  • ffmpeg.exe: Handles video merging and ensures files play correctly within LaunchBox.

  • SteamKit2.dll: Enables high-speed, anonymous communication with the Steam network.

  • windowsshortcutfactory.dll: enables integration with Better PC Game Importer

  • aria2c.exe: Included to provide accelerated, multi-segmented download speeds for video assets.

  • deno.exe: Included to help solve captchas and bypass YouTube's bot protection for age-gated or restricted content.

Recommended APIs (User-Provided)

  • SteamGridDB API Key: Required for high-quality, community-voted covers, heroes, and logos.

  • IGDB Client ID & Secret: Powers all console metadata and "Gap Filling" for PC titles.

  • FlareSolverr: Required for HowLongToBeat integration to bypass Cloudflare security gates.

 

📖 How to Use

Running a scrape takes only a few clicks:

  1. Select one or more games in your LaunchBox library.

  2. Right-click the highlighted selection.

  3. Choose The Game Scraper from the pop-up menu to open the dashboard and customize your options.

 

🚀 Feature Guide: How It Works & What It Can Do

🧠 General/Metadata Options

  • What it can do: Automatically scans, identifies, and populates game descriptions, developers, publishers, genres, play modes, release dates and other metadata fields based on your source selection.

  • How it works: In automatic mode the plugin checks your game's platform. For PC games, it scans Steam first, then automatically reaches out to a second console database to "gap-fill" hidden details that Steam lacks, like what Series a game belongs to or its official Age Rating. For Console games, it skips Steam entirely and routes straight to dedicated console databases based on the platform name. By selecting a different source you force the plugin to use it as the primary source. Select other options as you deem necessary. 

    • Better Pc Game Importer integration: If you have the Better PC Game Importer plugin it will integrate and you can select your game install folders. When you start your batch here the plugin will rename the folder, shortcuts, and update the path to match the new game title ensuring your library is in sync next time you import new game(s) in the Better PC Game Importer plugin. 

 

🎬 Game Trailer Downloader & Trimmer

  • What it can do: Finds, trims, and downloads game trailers up to 4K quality that stream seamlessly inside LaunchBox when you highlight a game.

  • How it works: You select your preferred source (Official Steam Storefront videos or a YouTube search query). For YouTube videos the plugin will automatically download the video and slice it at your exact cutoff mark (e.g., turning a 20-minute walkthrough video into a tight, 2-minute attraction preview). If your chosen resolution isn't available, it automatically scales down to the next best option. You can also select between FFMPEG and WMC. I recommend you try FFMPEG if it doesnt work or crashes Launchbox use WMC instead. Also for YouTube is the Suffix field. You may change this and the plugin will add it on to the end of the search which is always going to be the name of the game (sometimes the platform) and then your suffix. 

 

⏱️ Playtime Tracking (HowLongToBeat)

  • What it can do: Imports real-world completion times into custom LaunchBox fields so you can filter your library by game length.

  • How it works: The plugin HLTB to get the aggregated playtime for the game being scanned. It uses FlareSolverr to bypass cloudflare protections. The plugin will pull the completion times, Main Story, Main+Sides, Completionist, etc... and will create a new category the game fits in to based on the "Main Story" completion time. This allows you to create dynamic, auto updating, playlists in Launchbox that get updates when you add games. 

    • Quick: Under 5 hours

    • Standard: 5-15 hours

    • Extended: 15-30 hours

    • Long: 30-60 hours

    • Massive: Over 60 hours

  • NOTE: Because there is no official API, and because we use FlareSolverr, HLTB cannot be ran with the metadata/media portions on the plugin. To do so would either get you banned or be incredibly slow. Thus it must be ran separate. 

 

Special thanks to 7nseccmem for extensive testing and ideas for this version. 

Coming soon... ScreenScraper source

Edited by spiritedusual
Updated everything


What's New in Version 2.0   See changelog

Released

No changelog available for this version.

  • Like 2
  • Thanks 4

User Feedback

Recommended Comments



spiritedusual

Posted (edited)

24 minutes ago, mrpetenorth said:

Apologies, the edit maybe made it less clear. You're right, despite the summary screen, the Steam videos and images (as well as SGDB) ARE being downloaded but in the lb default folders which i don't use. I'm carrying on with it and I'll just move what I need manually. YouTube downloading never works for me though sadly.

There is a log in the plugin folder that will detail whats happening with youtube if you post it here I can help you with that. Also let me know how you organize your videos so I can understand what you need for when I add in the custom location feature. 

Edited by spiritedusual
mrpetenorth

Posted

3 hours ago, spiritedusual said:

There is a log in the plugin folder that will detail whats happening with youtube if you post it here I can help you with that. Also let me know how you organize your videos so I can understand what you need for when I add in the custom location feature. 

Ah great thanks. I think the log is fairly self explanatory and tells me what I need to do to sort that out!

[09:02:59] [VIDEO] Starting yt-dlp download for: https://www.youtube.com/watch*******
[09:03:02] [VIDEO] yt-dlp Finished. Exit Code: 1
[09:03:02] [YT-DLP ERROR/WARNING] ERROR: [youtube] ULsF7B6bFuU: Sign in to confirm your age. This video may be inappropriate for some users. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp  for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies  for tips on effectively exporting YouTube cookies
 

As for my folder structure, it is

D:/Emulation

-[Platform Name]

---[Art]

-------[Box 3d]

-------------image 1

-------------Image 2

---[Videos]

-------Video 1

-------Video 2

But I'm in the middle of running through my Windows games now, all my other platforms are fully populated. Once I've moved across what I need to the right folders I'll be done and it will be one game every once in a while so it will be no hardship. I just thought that perhaps there were others out there who might also use a different folder structure and it would be a useful tool.

spiritedusual

Posted (edited)

8 minutes ago, mrpetenorth said:

Ah great thanks. I think the log is fairly self explanatory and tells me what I need to do to sort that out!

[09:02:59] [VIDEO] Starting yt-dlp download for: https://www.youtube.com/watch*******
[09:03:02] [VIDEO] yt-dlp Finished. Exit Code: 1
[09:03:02] [YT-DLP ERROR/WARNING] ERROR: [youtube] ULsF7B6bFuU: Sign in to confirm your age. This video may be inappropriate for some users. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp  for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies  for tips on effectively exporting YouTube cookies
 

As for my folder structure, it is

D:/Emulation

-[Platform Name]

---[Art]

-------[Box 3d]

-------------image 1

-------------Image 2

---[Videos]

-------Video 1

-------Video 2

But I'm in the middle of running through my Windows games now, all my other platforms are fully populated. Once I've moved across what I need to the right folders I'll be done and it will be one game every once in a while so it will be no hardship. I just thought that perhaps there were others out there who might also use a different folder structure and it would be a useful tool.

Great thanks. Yea there are instructions for how to deal with the youtube thing. And as for your media location, it looks like you dont keep it with the launchbox install. So the media that is downloaded is in the /launchbox/videos/ and /images/ folder though right? 

Edited by spiritedusual
mrpetenorth

Posted (edited)

8 minutes ago, spiritedusual said:

Great thanks. Yea there are instructions for how to deal with the youtube thing. And as for your media location, it looks like you dont keep it with the launchbox install. So the media is in the /launchbox/videos/ and /images/ folder though right? 

Correct. Launchbox is installed on C with all roms and media on D which is also mapped for use on another machine. eg D:\Emulation\NEC TurboGrafx-16\Videos\Air Zonk-02.mp4

Edited by mrpetenorth
spiritedusual

Posted

1 minute ago, mrpetenorth said:

Correct. Launchbox is installed on C with all roms and media on D which is also mapped for use on another machine. eg D:\Emulation\NEC TurboGrafx-16\Videos\Air Zonk-02.mp4

Got it. Well its good to hear it's working as its designed but yea right now not a way to change the default download location. It is something I will add soonish though. In the mean time you'll have to manually move your media to your designated drive. I know you've already got your system all set up, but you might want to look in to symlinks/junctions. If you don't know what they are it basically a way to make your files appear in two locations without using up any extra space. If you used this you could leave launchbox settings as they are and just move your files in to a folder and symlink/junction that location to where launchbox expects the media to be. I'm not super knowledgeable about it but it might be worth looking in to. 

mrpetenorth

Posted

6 minutes ago, spiritedusual said:

Got it. Well its good to hear it's working as its designed but yea right now not a way to change the default download location. It is something I will add soonish though. In the mean time you'll have to manually move your media to your designated drive. I know you've already got your system all set up, but you might want to look in to symlinks/junctions. If you don't know what they are it basically a way to make your files appear in two locations without using up any extra space. If you used this you could leave launchbox settings as they are and just move your files in to a folder and symlink/junction that location to where launchbox expects the media to be. I'm not super knowledgeable about it but it might be worth looking in to. 

Thanks, it's been suggested to me before and it may be something to think about. For now, it works, and Windows was the one platform that it felt too much to get to perfect, especially since it's my one library that keeps growing. This plugin has given me the tools to make it possible so thanks very much for the work that's gone into it!

spiritedusual

Posted

4 minutes ago, mrpetenorth said:

Thanks, it's been suggested to me before and it may be something to think about. For now, it works, and Windows was the one platform that it felt too much to get to perfect, especially since it's my one library that keeps growing. This plugin has given me the tools to make it possible so thanks very much for the work that's gone into it!

Glad to hear its working out for you! 

  • Like 1
queendopamin

Posted (edited)

got it in my plugins folder but it is absolutely not showing up in launch box. bummer

Screenshot_1.jpg

Edited by queendopamin
  • Like 1
spiritedusual

Posted

5 hours ago, queendopamin said:

got it in my plugins folder but it is absolutely not showing up in launch box. bummer

Screenshot_1.jpg

My plugin doesnt show up there. When selecting a game or games right click and select the PC Game Scraper at the bottom of the menu. 

queendopamin

Posted

wait, so...sorry for my denseness, but this is how I try to add games (see screenshots).

as I understood it, your plugin would make it so other DBs (that do include the games that I am trying to add) would be used.

am I just mistaken across the board? :D

Screenshot_4.jpg

Screenshot_5.jpg

spiritedusual

Posted (edited)

8 minutes ago, queendopamin said:

wait, so...sorry for my denseness, but this is how I try to add games (see screenshots).

as I understood it, your plugin would make it so other DBs (that do include the games that I am trying to add) would be used.

am I just mistaken across the board? :D

Screenshot_4.jpg

Screenshot_5.jpg

Add your game just the title and platform would be the bare minimum I would say. Then right click on it after adding it and click PC Game Scraper and run the plugin. Please review the instructions for API information. If this is NOT a PC game you will need API access to IGDB.

Edited by spiritedusual
queendopamin

Posted

alrighty thanks, think I'll stick with Playnite as it worked there no problem 😅

spiritedusual

Posted

4 minutes ago, queendopamin said:

alrighty thanks, think I'll stick with Playnite as it worked there no problem 😅

Playnite for sure has a lot of scrapers and is better at some things but I've used both a lot and Launchbox IMO is better once you get over the learning hurdle. Playnite themes looks really nice though. 

kinkyjohnfowler

Posted

Hi, it is asking  me to manually search for each game and not progressing until I skip.

spiritedusual

Posted (edited)

1 hour ago, kinkyjohnfowler said:

Hi, it is asking  me to manually search for each game and not progressing until I skip.

There is a log file in the plugin folder. Please post the relevant section where you are manually skipping and I will try to help you out. 

I can say that a manual entry prompt is due to the plugin not being able to match your game. Are your titles correct? 

Edited by spiritedusual
shanty

Posted (edited)

Why are there no instructions for noobs? Create this folded.. put this there.....Do this before.... 

Edited by shanty
  • Like 1
spiritedusual

Posted

8 hours ago, shanty said:

Why are there no instructions for noobs? Create this folded.. put this there.....Do this before.... 

The DLL goes where all plugins go. I think I archived it in a way that should be clear. If you have specific questions you should ask and I can help you. 

omniphonix

Posted

Version 2.0 throws an error about missing a third-party .NET component called WindowsShortcutFactory:

Could not load file or assembly 'WindowsShortcutFactory, Version=1.2.0.0, Culture=neutral, PublicKeyToken=null'. The system cannot find the file specified.

App:     LaunchBox
Version: 13.27
Theme:   Old Default
Type:    System.IO.FileNotFoundException
Site:    Void MoveNext()
Source:  TheGameScraper

   at TheGameScraper.SteamScanner.ProcessGame(IGame game, PluginConfig config, Action`1 statusUpdater, Form owner, SteamKitClient skClient, DeferredGame deferredData)
   at System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start[TStateMachine](TStateMachine& stateMachine)
   at TheGameScraper.SteamScanner.ProcessGame(IGame game, PluginConfig config, Action`1 statusUpdater, Form owner, SteamKitClient skClient, DeferredGame deferredData)
   at TheGameScraper.SteamScanner.<>c__DisplayClass35_3.<<OnSelected>b__1>d.MoveNext()
--- End of stack trace from previous location ---
   at TheGameScraper.SteamScanner.OnSelected(IGame[] selectedGames)
   at System.Threading.Tasks.Task.<>c.<ThrowAsync>b__128_0(Object state)
   at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
   at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)

 

  • Haha 1
spiritedusual

Posted

19 minutes ago, omniphonix said:

Version 2.0 throws an error about missing a third-party .NET component called WindowsShortcutFactory:

Could not load file or assembly 'WindowsShortcutFactory, Version=1.2.0.0, Culture=neutral, PublicKeyToken=null'. The system cannot find the file specified.

App:     LaunchBox
Version: 13.27
Theme:   Old Default
Type:    System.IO.FileNotFoundException
Site:    Void MoveNext()
Source:  TheGameScraper

   at TheGameScraper.SteamScanner.ProcessGame(IGame game, PluginConfig config, Action`1 statusUpdater, Form owner, SteamKitClient skClient, DeferredGame deferredData)
   at System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start[TStateMachine](TStateMachine& stateMachine)
   at TheGameScraper.SteamScanner.ProcessGame(IGame game, PluginConfig config, Action`1 statusUpdater, Form owner, SteamKitClient skClient, DeferredGame deferredData)
   at TheGameScraper.SteamScanner.<>c__DisplayClass35_3.<<OnSelected>b__1>d.MoveNext()
--- End of stack trace from previous location ---
   at TheGameScraper.SteamScanner.OnSelected(IGame[] selectedGames)
   at System.Threading.Tasks.Task.<>c.<ThrowAsync>b__128_0(Object state)
   at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
   at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)

 

Oops forgot to include that in the archive. FIXED! Thank you 


Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Add a comment...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...