
iGaming Tools
Games & ComicsStructured iGaming data API: providers, game catalogues with mechanics, RTP and volatility, plus release history, industry news, jobs and per-market search demand. Free tier, full OpenAPI 3 schema, MCP server available.
π Documentation & Examples
Everything you need to integrate with iGaming Tools
π Quick Start Examples
// iGaming Tools API Example
const response = await fetch('https://i-gaming.tools/docs/', {
method: 'GET',
headers: {
'Content-Type': 'application/json'
}
});
const data = await response.json();
console.log(data);iGaming Tools API
The iGaming Tools API serves normalised iGaming data as plain JSON: slot providers, a slot catalogue with mechanics, RTP, volatility and max win, series, themes and features, industry news, job vacancies, regulators, and a per-market search-demand cut. Every endpoint is cursor-paginated, ETag-aware and built for incremental sync.
Base URL: https://i-gaming.tools/api/v1/ Β· OpenAPI 3.0.3 schema: i-gaming.tools/docs/openapi.json
Docs: i-gaming.tools/docs Β· MCP server: https://mcp.i-gaming.tools/mcp
How to Get an iGaming Tools API Key
- Create an account at i-gaming.tools and confirm your email β no card on file.
- Issue a key yourself from the dashboard at
/account/. It is shown once, at the moment you create it β copy it then, because it is never displayed again. - Send it on every request in the
Authorizationheader asToken <your-token>.
Free tier: 10,000 requests/month (refilled on the 1st of each month, UTC), a 100 requests/minute rate limit, and up to 100 rows per page β with every endpoint and every source included. There is no self-serve upgrade: higher volume is arranged by agreement, at support@i-gaming.tools. Keys are created and revoked from the browser, so a leaked key cannot revoke your other keys or mint itself a replacement.
First Request
curl -H "Authorization: Token YOUR_TOKEN" \
"https://i-gaming.tools/api/v1/providers/?page_size=5"
Python
import requests
resp = requests.get(
"https://i-gaming.tools/api/v1/slots/",
headers={"Authorization": "Token YOUR_TOKEN"},
params={
"provider": "pragmatic-play",
"rtp_min": 96.5,
"volatility": "high",
"page_size": 20,
},
)
for slot in resp.json()["results"]:
print(slot["name"], slot["rtp_default"], slot["volatility"], slot["max_win"])
JavaScript
const res = await fetch(
'https://i-gaming.tools/api/v1/slots/?mechanic=megaways&has_bonus_buy=true',
{ headers: { Authorization: 'Token YOUR_TOKEN' } }
);
const { results, next } = await res.json();
results.forEach((s) => console.log(s.name, s.provider.name, s.rtp_default));
Endpoints
| Endpoint | Returns |
|---|---|
/api/v1/providers/ |
Slot provider list and full profiles β firmographics, licences, offices, contacts, counts |
/api/v1/slots/ |
Slot catalogue: RTP, volatility, mechanic, max win, jackpot type, release date, thumbnail, demo link |
/api/v1/series/ |
Game families (Big Bass, Wolf Goldβ¦) with RTP and max-win ranges |
/api/v1/themes/, /api/v1/features/ |
Controlled vocabularies with slugs and aliases β look slugs up here before filtering |
/api/v1/demand/ |
Search-demand cut, sliced by slot, country, provider, theme, feature, mechanic or game category |
/api/v1/news/ |
Industry news articles, filterable by brand, language, host and date range |
/api/v1/jobs/ |
iGaming vacancies with source_url back to the original posting |
/api/v1/regulators/ |
Licensing regulators, plus their news |
/api/v1/sources/ |
Provenance β where the data was collected from |
/api/v1/stats/ |
Catalogue statistics; quota-exempt, so you can poll it freely |
Filtering the Slot Catalogue
GET /api/v1/slots/ accepts provider, series, theme, feature, mechanic (lines, ways, cluster, megaways, scatter_pays), game_category (video_slot, crash, instant_win, scratch, live, table), volatility (low β very_high), jackpot_type, rtp_min / rtp_max, max_win_min / max_win_max, has_bonus_buy, released_after / released_before, search, and ordering (-release_date, -captured_at). The same catalogue filters narrow /api/v1/demand/.
Incremental Sync
?updated_since=<ISO-8601>returns only records changed at or after that moment, ordered(updated_at, id)ascending. Store theX-Sync-Timestampresponse header and pass it back on the next run.- Send a stored ETag as
If-None-Matchand an unchanged resource answers304 Not Modifiedwith no body β and no quota decrement. - Deltas never include removals. Reconcile against
/api/v1/slots/ids/and/api/v1/providers/ids/β plain slug lists β and tombstone whatever disappeared.
Quota and Rate Limits
Two independent limits apply. 429 Too Many Requests is the per-minute technical cap β back off for the Retry-After interval. 402 Payment Required means the monthly quota is spent. Only 2xx responses decrement the quota: 304s, 4xx and 5xx do not, and /stats/, /news/stats/ and /jobs/stats/ never do.
MCP Server β No Key, No Quota
https://mcp.i-gaming.tools/mcp exposes 17 read-only tools over Streamable HTTP with no authentication and no metering, so an AI assistant can query the same catalogue directly.
claude mcp add --transport http igaming https://mcp.i-gaming.tools/mcp
The same URL works in Cursor, VS Code Copilot, Gemini CLI, Windsurf, and as a custom connector in Claude or ChatGPT.
Use Cases
- Affiliate and comparison sites β slot pages with RTP, volatility, mechanics and demo links, kept in sync
- Market research β per-country search demand by slot, provider, theme, feature or mechanic
- Media monitoring β industry news tracked by brand, regulator or source
- Recruitment β vacancy feeds filtered by company, city or brand
- AI assistants β grounded answers over the catalogue through the free MCP server








