A userscript that enhances Steam store pages by displaying price comparisons from GG.deals directly on the game page.
Disclaimer: This is an unofficial userscript and is not affiliated with, endorsed by, or connected to GG.deals or Steam in any way. This script simply provides a convenient interface to publicly available data from GG.deals.
-
First, install a userscript manager:
- Tampermonkey (Recommended)
- Violentmonkey
- Greasemonkey
-
Click this link to install the script: ➡️ INSTALL GG.DEALS STEAM COMPANION ⬅️
If the automatic installation doesn't work:
- Open your userscript manager's dashboard
- Create a new script
- Copy and paste the contents from this link
- Save the script
- Shows real-time price comparisons from official stores and keyshops
- Displays historical low prices with dates
- Clean and modern UI that matches Steam's design
- Toggle between official stores and keyshop prices
- Remembers your display preferences
- Automatic price highlighting for best deals
- Responsive design that works on all screen sizes
- Cache system with 24-hour duration and manual refresh option
- Visit any Game page or DLC page on the Steam store
- The script will automatically add a price comparison section above the purchase options
- Use the toggles to show/hide official stores and keyshop prices
- Click "View Offers" to see all available deals on GG.deals
- Fixed Steam Sub ID Support: Steam sub IDs are no longer supported by GG.deals API - now automatically extracts app ID from Steam page URL
- Enhanced Error Logging: Added detailed error reporting with URLs, status codes, and timestamps for better debugging
- Improved Settings Icon: Replaced buggy gear icon with clean, modern settings panel icon
- Smart Cloudflare Handling: Better detection and user feedback when Cloudflare blocks requests
- API-First Approach: Prioritizes API usage for better reliability and performance
- Steam Sub ID Fix: Updated API endpoints to use app IDs for both apps and subs (GG.deals API change)
- Web Scraping Priority: Updated URL formats to try app format first for better compatibility
- Cloudflare Protection Handling: Added smart fallback mechanism when Cloudflare blocks web scraping
- Enhanced Error Detection: Specific detection for 403 errors with helpful user notifications
- Graceful Degradation: Containers remain visible with helpful messages instead of disappearing
- Updated Known Limitations: Documented Cloudflare protection and API recommendations
- Enhanced Error Logging: Added detailed error reporting with URLs, status codes, and timestamps
- Better Debugging: Comprehensive error objects for easier troubleshooting
- Added official API support (requires your API key)
- Option to disable/enable web scraping
- Option to disable/enable API
- Complete customization of the colors
- Option to choose the preferred region and the currency (API)
- If web scraping is off, it doesn't show the prices for the bundles (API gives null data in response)
- Fixed tooltip hover on historical prices
- Fixed button going over container, fixed uneven icon, moved updated text as tooltip
- Added bundle displays, fixed UI errors, forced correct URLs, and other small things
- Various fixes
- Integrated suggestions from @enchained for /issues/1, 2 & 3 (better title search, compact view and support for package and bundles)
- LICENSE and greasyfork upload
- Integration of a cache system for the prices, with manual refresh
- Initial release
- Bundles: Always use web scraping, never API (GG.deals API doesn't support Steam bundles)
- Steam Sub IDs: No longer supported by GG.deals API - script automatically extracts app IDs from Steam pages (I don't know why they removed it)
- Cloudflare Protection: GG.deals website uses Cloudflare which may block automated requests, like the Steam Resolvers (HTTP 403 errors)
- API vs Web Scraping: API is recommended for best reliability and performance
"No data found for this game"
- This usually means the game isn't in GG.deals database
- For Steam subs, the script now automatically extracts the correct app ID
- Try refreshing the page or using the manual refresh button
HTTP 403 Errors
- Cloudflare is blocking the request
- Enable API usage with a valid API key for best results
- Web scraping may be temporarily unavailable
Prices not updating
- Check if API is enabled and API key is valid
- Try manual refresh button
- Check browser console for detailed error messages
The script provides detailed error logging in the browser console (F12 → Console) including:
- Request URLs and status codes
- Steam IDs being used
- API responses and error details
- Timestamps for all operations
The script requires the following permissions:
- Access to store.steampowered.com
- Access to gg.deals
- XMLHttpRequest to fetch price data
- Storage to save your display preferences
Feel free to submit issues and enhancement requests!
Price data is provided by GG.deals. All trademarks and copyrights belong to their respective owners.


