GET /api/rtp/list
Search, filter, sort, and paginate the registry.
| q | Free text. Matches name, slug, provider. |
| provider | Filter by provider key (e.g. pragmatic-play). |
| game_type | slot · scratchcard · table · instant · bingo · keno |
| has_variants | 1 to filter to multi-variant slots only. |
| sort | name (default) · provider · rtp_desc · rtp_asc · variants_desc · recent |
| limit | 1–200, default 50 |
| offset | Pagination offset, default 0 |
curl 'https://toolsgambling.com/api/rtp/list?provider=playngo&has_variants=1&limit=5'
{
"meta": {
"data_version": "1.0.0",
"frozen_at": "2026-05-08T...",
"total": 3646,
"filtered": 391,
"has_more": true,
"query": { ... }
},
"facets": {
"providers": [{ "provider": "...", "display": "...", "count": 620 }],
"game_types": [{ "game_type": "slot", "count": 3561 }]
},
"items": [{
"canonical_slug": "moon-princess",
"canonical_name": "Moon Princess",
"provider": "playngo",
"provider_display": "Play'n GO",
"stated_rtp": 96.5,
"rtp_variants": [84.5, 87.5, 91.49, 94.51, 96.5],
"rtp_min": 84.5,
"rtp_max": 96.5,
"variants_count": 5,
"volatility": null,
"max_win": null,
"release_year": 2017,
"game_type": "slot",
"last_verified": "2026-05-08T...",
"snapshot_id": "sha256:...",
"source_url": "https://www.playngo.com/games/moon-princess",
"badges": ["verified_rtp", "variants_tracked"],
...
}]
}GET /api/rtp/[slug]
Single canonical slot with provider meta and derived fields.
curl 'https://toolsgambling.com/api/rtp/gates-of-olympus'
If slug is not in the registry, the endpoint returns HTTP 404 with body {"statusCode": 404, "statusMessage": "slot not found in registry"}.
GET /widget/rtp/[slug]
Pre-rendered iframe widget for embedding. Returns HTML, not JSON.
<iframe src="https://toolsgambling.com/widget/rtp/gates-of-olympus?theme=dark&size=standard"
width="100%" height="220" frameborder="0" loading="lazy">
</iframe> Query params: theme=dark|light|auto, size=compact|standard|detailed, accent=hex. Free use with attribution required (built into widget).
Caching & rate limits
/api/rtp/list— cached 5 minutes at the edge/api/rtp/[slug]— cached 1 hour at the edge/widget/rtp/[slug]— cached 1 hour
| X-RateLimit-Limit | Total budget per window (currently 1000) |
| X-RateLimit-Remaining | Requests left in the current 24h window |
| X-RateLimit-Reset | Unix-seconds when the bucket resets |
Exceeding the limit returns HTTP 429 with a JSON body describing the reset time. Exempt endpoints (no limit): /api/rtp/provider/[provider], /api/rtp/history, /api/widget/rtp/[slug].
Embed code from /rtp includes a ?v= data-version param. It's a cache-bust hint for partner CDNs — old embeds with older versions keep working, the widget route ignores the param.
Need more than 1,000/day?
We issue early-access API keys manually for confirmed use cases — affiliate sites integrating the data, internal tools at gambling-industry companies, research / journalism projects.
Email hello@toolsgambling.com with a brief note:
- your site or company
- what you're building / why you need higher quota
- expected request volume (per day)
No self-serve form, no auto-issuance. We'll reply within a few business days. White-label (no attribution) and API key dashboards launch with the Pro tier later.