The GameIntel API provides agent-native Steam market intelligence: game metadata, review sentiment, pricing history, change tracking, Japan-market signals, watchlists, alerts, webhooks, and operator health. All responses are JSON.
Source of truth
This page is a human-friendly overview. The live Swagger schema at /docs and raw schema at /openapi.json are the source of truth for the newest beta endpoints.
Header-based authentication
Most endpoints require an API key. You can pass it using either of two methods:
Method 1: X-API-Key header
Method 2: Authorization: Bearer <key> header
Public routes include /health and lightweight ops visibility such as /ops/status. In Swagger UI, use the built-in Authorize button once and test protected endpoints directly.
-H "X-API-Key: gi_key_your_key_here"
-H "Authorization: Bearer gi_key_your_key_here"
Rate limits are enforced per API key on a daily basis and reset at midnight UTC. When a key exceeds its quota, the API returns 429 Too Many Requests with a Retry-After header.
During the founding beta, limits are assigned per customer or plan rather than exposed as a fixed public pricing matrix. Live headers and live /openapi.json are the source of truth.
| Plan | Daily Requests | Watchlist Limit | Webhook Limit |
|---|---|---|---|
| Free | 1000 |
10 |
1 |
| Beta | 2500 |
25 |
5 |
| Pro | 10000 |
100 |
20 |
Errors return a JSON object with a detail field describing the problem.
X-API-Key header provided.
The current beta goes beyond basic game lookup. These are the surfaces that make GameIntel usable inside real agent workflows.
Monitoring and workflow endpoints
GET /games/{steam_id}/changes adds time-window change tracking for price, sentiment, tags, and review summary snapshots.
GET /market/jp, GET /market/jp/trending, and GET /market/jp/games/{game_id} expose Japan-market support, JP review volume, and JP pricing context.
GET|POST /watchlist, GET /watchlist/alerts, and POST /watchlist/alerts/{alert_id}/read support tracked-game workflows.
GET|POST /webhooks, DELETE /webhooks/{webhook_id}, and POST /webhooks/{webhook_id}/test support delivery into downstream automations.
GET /ops/status and GET /ops/history/{job} expose lightweight operator visibility for the local collection pipeline.
Search, retrieve, and analyze games in the database.
Search for games by name, filter by tags, and sort results. Returns paginated results with full game metadata including tags.
horror,indie)
optional
name, release_date, metacritic_score
"name"
?tags=horror,atmospheric\
&sort=metacritic_score\
&page_size=2 \
-H "X-API-Key: gi_your_key"
"results": [
{
"id": 1938090,
"name": "Signalis",
"developer": "rose-engine",
"release_date": "2022-10-27",
"metacritic_score": 81,
"positive_reviews": 18420,
"negative_reviews": 1105,
"tags": [
{ "name": "Horror", "vote_count": 842 },
{ "name": "Atmospheric", "vote_count": 731 }
]
}
],
"total": 342,
"page": 1,
"page_size": 2
}
Retrieve full metadata for a single game by its Steam App ID. Includes developer, publisher, release date, review counts, estimated owners, average playtime, genres, and all associated tags with vote counts.
-H "X-API-Key: gi_your_key"
"id": 1245620,
"name": "Elden Ring",
"developer": "FromSoftware Inc.",
"publisher": "Bandai Namco",
"release_date": "2022-02-25",
"metacritic_score": 94,
"positive_reviews": 572841,
"negative_reviews": 68230,
"estimated_owners": "20M - 50M",
"average_playtime": 6840,
"genres": "Action, RPG",
"tags": [
{ "id": 42, "name": "Souls-like", "vote_count": 3241 },
{ "id": 15, "name": "Open World", "vote_count": 2890 }
],
"created_at": "2026-03-01T00:00:00Z",
"updated_at": "2026-03-11T08:30:00Z"
}
Find games similar to the given game, scored by shared tag overlap. Results include a similarity score (0–1), the specific shared tags, and review data for each match.
?limit=3 \
-H "X-API-Key: gi_your_key"
"game_id": 1245620,
"game_name": "Elden Ring",
"similar": [
{
"game_id": 374320,
"name": "Dark Souls III",
"similarity_score": 0.912,
"shared_tags": ["Souls-like", "RPG", "Dark Fantasy"],
"review_score": 0.891
},
{
"game_id": 814380,
"name": "Sekiro",
"similarity_score": 0.874,
"shared_tags": ["Souls-like", "Action"],
"review_score": 0.872
}
]
}
Get AI-analyzed review sentiment breakdown for a game. Returns an overall score and label, per-topic sentiment (gameplay, story, graphics, etc.), and lists of top praise and complaints extracted from player reviews.
-H "X-API-Key: gi_your_key"
"game_id": 1245620,
"game_name": "Elden Ring",
"overall_score": 0.89,
"overall_label": "very_positive",
"topics": {
"gameplay": "excellent",
"story": "good",
"atmosphere": "excellent",
"graphics": "good",
"performance": "mixed",
"audio": "excellent",
"difficulty": "polarizing"
},
"top_praise": [
"open world design",
"boss variety",
"build diversity"
],
"top_complaints": [
"PC performance",
"late-game balance"
],
"reviews_analyzed": 2500,
"analyzed_at": "2026-03-10T14:22:00Z"
}
Get the latest review summary for a game — total positive and negative counts plus an overall review score descriptor (e.g. "Overwhelmingly Positive").
-H "X-API-Key: gi_your_key"
"game_id": 1245620,
"game_name": "Elden Ring",
"summary": {
"id": 1,
"game_id": 1245620,
"total_positive": 572841,
"total_negative": 68230,
"review_score_desc": "Very Positive",
"updated_at": "2026-03-11T06:00:00Z"
}
}
Retrieve the full pricing history for a game. Returns daily snapshots with currency, price in cents, discount percentage, and whether the game is free. Multi-region data when available.
-H "X-API-Key: gi_your_key"
"game_id": 1245620,
"game_name": "Elden Ring",
"snapshots": [
{
"id": 4812,
"game_id": 1245620,
"currency": "USD",
"price_cents": 5999,
"discount_percent": 0,
"is_free": false,
"snapshot_date": "2026-03-11",
"created_at": "2026-03-11T04:00:00Z"
},
{
"id": 4201,
"game_id": 1245620,
"currency": "USD",
"price_cents": 2999,
"discount_percent": 50,
"is_free": false,
"snapshot_date": "2026-02-20",
"created_at": "2026-02-20T04:00:00Z"
}
]
}
Browse tags, discover trends, and track tag growth over time.
List all tags in the database, ordered by the number of games tagged. No parameters — returns the full list with game counts.
-H "X-API-Key: gi_your_key"
{
"id": 1,
"name": "Indie",
"steam_tag_id": 492,
"game_count": 4821
},
{
"id": 2,
"name": "Action",
"steam_tag_id": 19,
"game_count": 3902
},
// ... more tags
]
Get the top 20 trending tags by game count. Optionally filter by time period. Returns the same tag structure as /tags but limited to the fastest-growing categories.
7d, 30d, 90d
"30d"
-H "X-API-Key: gi_your_key"
{
"id": 38,
"name": "Roguelike",
"steam_tag_id": 1716,
"game_count": 1247
},
{
"id": 12,
"name": "Horror",
"steam_tag_id": 1667,
"game_count": 982
}
]
Get time-series trend data for a specific tag. Returns daily snapshots with game count, total reviews, and average review score. Also computes deltas across the requested period. The tag parameter accepts either a tag name (case-insensitive) or a numeric tag ID.
?days=7 \
-H "X-API-Key: gi_your_key"
"tag_id": 12,
"tag_name": "Horror",
"steam_tag_id": 1667,
"days_requested": 7,
"data_points": 7,
"series": [
{
"date": "2026-03-05",
"game_count": 974,
"total_reviews": 4218300,
"avg_review_score": 0.7842
},
{
"date": "2026-03-11",
"game_count": 982,
"total_reviews": 4231040,
"avg_review_score": 0.7856
}
],
"game_count_change": 8,
"review_growth": 12740,
"avg_score_change": 0.0014
}
Japan-specific market intelligence — overview stats, trending games, and per-game data for the Japanese market.
Health check and system status.
Check if the API is running and get database stats. No authentication required.
"status": "ok",
"version": "0.1.0",
"games_count": 31729,
"tags_count": 232,
"sentiment_count": 16184
}
AI-native access via MCP
GameIntel exposes an MCP server that lets AI assistants (Claude, Cursor, Windsurf, etc.) query game data, sentiment, and market intelligence directly through tool calls — no REST integration needed.
The MCP server supports the same data endpoints as the REST API: game search, sentiment analysis, similar games, tag trends, and JP market data.
GameIntel currently ships a local MCP server wrapper, not a hosted /mcp endpoint. Point your MCP client at the checked-out mcp-server/server.py entrypoint, set GAMEINTEL_API_URL and GAMEINTEL_API_KEY, and use the README in the repo for the exact client config.