protondb.com APIprotondb.com ↗
Access ProtonDB game compatibility tiers, user reports, Steam Deck verification status, and global stats for any Steam App ID via a structured API.
curl -X GET 'https://api.parse.bot/scraper/566b9bab-74d5-4cf8-9980-34c236c0e3b3/search_games?query=Portal' \ -H 'X-API-Key: $PARSE_API_KEY'
Search for games by title using the Algolia search index. Returns matching games with their Steam App IDs and basic metadata including app type.
| Param | Type | Description |
|---|---|---|
| queryrequired | string | Search keyword or game title to find matching games. |
{
"type": "object",
"fields": {
"hits": "array of game objects with name and objectID (Steam App ID)",
"query": "string, the search query echoed back",
"nbHits": "integer, total number of matching results"
},
"sample": {
"data": {
"hits": [
{
"name": "Portal 2",
"objectID": "620"
},
{
"name": "Portal",
"objectID": "400"
}
],
"page": 0,
"query": "Portal",
"nbHits": 1133,
"nbPages": 57,
"hitsPerPage": 20
},
"status": "success"
}
}About the protondb.com API
This API exposes 8 endpoints covering ProtonDB's full dataset of Linux and Steam Deck game compatibility data. Use get_game_summary to retrieve a game's tier rating (platinum through borked), confidence level, and total report count by Steam App ID, or call get_game_reports to pull individual user-submitted reports with hardware specs and Proton version details. The API also surfaces global statistics, dashboard breakdowns by catalog size, Steam Deck verification criteria, and a searchable game index.
Game Compatibility Endpoints
get_game_summary takes a Steam app_id and returns the core compatibility fields: tier (one of platinum, gold, silver, bronze, or borked), a numeric score between 0 and 1, confidence (strong, good, or inadequate), trendingTier, and bestReportedTier. This gives a quick read on how reliably a title runs under Proton. get_game_reports returns paginated individual reports for the same app_id, each containing contributor details, system specs, Proton version, timestamp, and user notes. The optional device parameter lets you filter to pc, steam-deck, or chrome-os reports specifically.
Search and Explore
search_games queries the game index by title string and returns an array of hits, each with a game name and objectID (the Steam App ID you need for other endpoints), plus nbHits indicating total matches. explore_games_list offers a paginated catalog view with sort options including popular, releaseDate, wilsonRating, playerCount, userScore, and mostBorked. Each result includes appId, title, and whitelistStatus.
Steam Deck Verification and Steam Store Details
get_deck_verified_details returns Valve's official Steam Deck compatibility assessment for a given app_id. The resolved_category field uses numeric codes: 3 for Verified, 2 for Playable, 1 for Unsupported, and 0 for Unknown. The resolved_items array breaks down individual test criteria results. get_steam_app_details returns full Steam store metadata for the same app — description, pricing, system requirements, and media — keyed by app_id.
Global Statistics
get_stats_summary returns site-wide counts: total reports, uniqueGames with at least one submission, and a timestamp of the last data update. get_dashboard_stats goes deeper, providing compatibility breakdowns across topTen, topHundred, topThousand, and fullSteamCatalog game sets, each segmented by ProtonDB medal tiers, click-play categories, and Steam Deck verification ratings.
- Build a Linux gaming compatibility checker that looks up any Steam App ID and displays its ProtonDB tier and confidence level.
- Filter Steam libraries by Proton compatibility tier to surface only gold or platinum-rated titles for a given user's game list.
- Compare official Steam Deck Verified status (from
get_deck_verified_details) against community ProtonDB tiers to flag disagreements. - Aggregate
get_dashboard_statsbreakdowns over time to track how the proportion of Verified Steam Deck titles in the full catalog changes. - Surface recent user reports filtered to
steam-deckdevice type to show hardware-specific notes and Proton versions for a title. - Power a game discovery page sorted by
wilsonRatingoruserScorefromexplore_games_listto surface well-reported Linux-compatible titles. - Cross-reference
get_steam_app_detailspricing and system requirements with ProtonDB compatibility tier to build a Linux-focused game buying guide.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 250 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does ProtonDB have an official public developer API?+
What does the `tier` field in `get_game_summary` actually represent?+
tier field reflects the aggregate community compatibility rating derived from user reports. Values run from platinum (works perfectly out of the box) down through gold, silver, bronze, and borked (does not run). The response also includes trendingTier for the current directional trend and bestReportedTier for the highest tier ever reported, which can differ from the current aggregate.Can I retrieve historical compatibility data or track how a game's tier has changed over time?+
How does report pagination work in `get_game_reports`?+
page (current page), perPage (results per page), and total (total reports for the game). There is no explicit page input parameter exposed in the current endpoint definition, so the API returns the default first page of results. For games with high report counts, the total field tells you how many reports exist in full.