Free JSON API for online slot game data. No API key, no authentication, no signup. Just fetch the data you need.
| Field | Type | Example | Coverage |
|---|---|---|---|
| name | string | "Gates of Olympus" | 100% |
| slug | string | "gates-of-olympus" | 100% |
| provider | string | "Pragmatic Play" | 100% |
| provider_slug | string | "pragmatic-play" | 100% |
| rtp | float | 96.5 | 99% |
| volatility | string|null | "high" | 97% |
| volatility_score | int|null | 3 | 97% |
| max_win | int|null | 5000 | 94% |
| max_win_category | string|null | "high" | 94% |
| features | array|null | ["free-spins", "multiplier", "wilds", "tumble"] | 96% |
| mechanic | string|null | "cluster-pays" | 86% |
| theme | string|null | "mythology" | 95% |
| grid | string|null | "5x3" | 79% |
| paylines | int|null | 243 | partial |
| has_bonus_buy | bool|null | true | 36% |
| has_jackpot | bool|null | true | partial |
| release_date | string|null | "2021-02-25" | 84% |
| year | int|null | 2021 | 84% |
| hit_frequency | float|null | 23.5 | 27% |
| min_bet | float|null | 0.1 | 79% |
| max_bet | float|null | 100 | 79% |
| Field | Type | Description | Coverage |
|---|---|---|---|
| rtp_tiers | array|null | All RTP configurations, e.g. [96.21, 94.24, 91.25] | partial |
| summary | string|null | Short description of the slot (German) | ~10% |
| score | float|null | Editorial rating 1-10 | ~10% |
| bonus_buy_prices | array|null | Bonus buy options with name and price multiplier | ~9% |
| bonus_trigger_rates | array|null | Average spins to trigger each bonus | ~5% |
| series | string|null | Slot series name, e.g. "Le Series" | rare |
low (1) → medium (2) → high (3) → very-high (4) → extreme (5). The volatility_score field provides the numeric equivalent for sorting.
const res = await fetch('https://slot.report/api/v1/slots.json');
const data = await res.json();
// All high-volatility slots with 10,000x+ max win
const highVol = data.results.filter(s =>
s.volatility === 'extreme' && s.max_win >= 10000
);
console.log(`${highVol.length} extreme slots found`);
import requests
data = requests.get('https://slot.report/api/v1/slots.json').json()
# Average RTP by provider
from collections import defaultdict
rtps = defaultdict(list)
for s in data['results']:
if s['rtp']:
rtps[s['provider']].append(s['rtp'])
for provider, values in sorted(rtps.items()):
print(f"{provider}: {sum(values)/len(values):.2f}% avg RTP")
# All slots
curl -s https://slot.report/api/v1/slots.json | jq '.count'
# Single slot
curl -s https://slot.report/api/v1/slots/starburst.json | jq '{name, rtp, volatility, max_win}'
# All Hacksaw Gaming slots
curl -s https://slot.report/api/v1/providers/hacksaw-gaming.json | jq '.results[].name'
The API is designed for reasonable use. There are no hard limits for normal usage, but automated bulk scraping may be throttled. Search engine bots and AI crawlers are not rate-limited.
If you need higher throughput for a specific project, download the full dataset from /api/v1/slots.json once and cache it locally.
Slot data is collected from official provider websites and verified against multiple secondary sources including SlotCatalog, Bonustiime, AskGamblers, BigWinBoard, and SlotsJudge. The database covers 58 providers including Pragmatic Play, Play'n GO, NetEnt, Red Tiger, Hacksaw Gaming, Nolimit City, BGaming, ELK Studios, Big Time Gaming, Quickspin, Relax Gaming, Blueprint Gaming, iSoftBet, Endorphina, Habanero, Booming Games, GameArt, Games Global, Betsoft, Thunderkick and more.
RTP values represent the highest available tier. Many providers offer casinos multiple RTP configurations — the actual RTP at a specific casino may be lower.
Volatility ratings are normalized to a 5-point scale across all providers, as each studio uses different native scales.
The API covers slots from 58 game studios. Use the /api/v1/providers/{slug}.json endpoint to filter by provider.
| Provider | Slots | Avg RTP | Endpoint |
|---|---|---|---|
| Pragmatic Play | 856 | 96.39% | pragmatic-play |
| Play'n GO | 445 | 96.24% | playn-go |
| Red Tiger | 339 | 95.82% | red-tiger |
| BGaming | 302 | 96.50% | bgaming |
| NetEnt | 244 | 96.36% | netent |
| iSoftBet | 226 | 96.03% | isoftbet |
| Endorphina | 218 | 95.96% | endorphina |
| Gamomat | 199 | 96.11% | gamomat |
| Hacksaw Gaming | 171 | 96.35% | hacksaw-gaming |
| Blueprint Gaming | 165 | 95.87% | blueprint-gaming |
| Nolimit City | 157 | 96.10% | nolimit-city |
| ELK Studios | 151 | 94.83% | elk-studios |
| Booming Games | 146 | 95.80% | booming-games |
| Quickspin | 141 | 96.33% | quickspin |
| Habanero | 140 | 96.80% | habanero |
| Relax Gaming | 132 | 95.96% | relax-gaming |
| Thunderkick | 126 | 95.82% | thunderkick |
| GameArt | 118 | 96.11% | gameart |
| Games Global | 117 | 95.70% | games-global |
| Betsoft | 109 | 95.66% | betsoft |
| Big Time Gaming | 92 | 96.34% | big-time-gaming |
| Push Gaming | 84 | 96.38% | push-gaming |
| Yggdrasil Gaming | 77 | 95.77% | yggdrasil-gaming |
| Popiplay | 77 | 96.56% | popiplay |
| Just For The Win | 76 | 95.36% | just-for-the-win |
Plus 33 additional studios. See /api/v1/providers.json for the complete list with all 58 providers.
The database is updated at least once per week, usually more frequently. New slot releases are added within days of launch. The last_updated field in /api/v1/status.json shows when the data was last refreshed.
This is an independent, non-commercial project. Updates may occasionally be delayed by a few days, but the goal is to keep the data as current as possible.
The API is free to use for any purpose. If you use the data in a public project, we appreciate a mention:
Slot data by <a href="https://slot.report/">slot.report</a>
This is a request, not a requirement. Use the data freely.
This API is built and maintained by slot.report — an independent German slot review site. We analyze online slots with real data, not marketing copy.
The API exists because no free, open slot data source existed before. If you find it useful, tell others about it.