Greek Bookmaker Odds API
The ArbPlay Odds HTTP API serves live and pre-match odds from seven Greek bookmakers — Stoiximan, Novibet, Fonbet, Superbet, Elabet, OPAP (Allwyn) and Bwin — as JSON over HTTPS. Each file is the bookmaker's own data, rewritten about every 1–3 seconds live and 4–7 pre-match. Subscribe on RapidAPI, Zyla or JoJ API, or ask for a direct key.
Coverage: seven bookmakers compared
Refresh is shown as live / pre-match. The horizon is roughly how far ahead each bookmaker's pre-match soccer files reach.
| Bookmaker | Files | Live | Pre-match soccer horizon | Refresh | Betradar id | Structure |
|---|---|---|---|---|---|---|
| Stoiximan | 5 | Every sport, one file | about 7 days | ≈1–3 s / ≈4–7 s | Yes | Store keyed by id / blocks |
| Novibet | 4 | Every sport, one file | about 5 days | ≈1–3 s / ≈4–7 s | Yes | Bet views |
| Fonbet | 1 | Every sport, live + pre-match in one file | Combined file | ≈1–3 s | No | Numeric factor ids |
| Superbet | 6 | Soccer, basketball, tennis | about 6 days | ≈1–3 s / ≈4–7 s | Yes | Event list |
| Elabet | 6 | Soccer, basketball, tennis | about 9 days | ≈1–3 s / ≈4–7 s | No | Linked tables |
| OPAP (Allwyn) | 6 | Soccer, basketball, tennis | about 2 weeks | ≈1–3 s / ≈4–7 s | Yes (every event) | Events → outcomes |
| Bwin | 6 | Soccer, basketball, tennis | about 2 weeks | ≈1–3 s / ≈4–7 s | Yes | Fixtures |
How the API works
Base URL https://api.arbplay.app. Two read-only endpoints:
GET /v1/files— the files your key can read:{"company", "count", "files"}GET /v1/data/{filename}— one file inside an envelope;datais the bookmaker's JSON, unchanged
{
"company": "novibet",
"file": "site_pregame_novibet_soccer.json",
"updated_at": "2026-09-26T20:02:33Z",
"data": [
"… Novibet's own JSON, unchanged …"
]
}
updated_at is when the file was last written. The same time is sent as Last-Modified; send it back as If-Modified-Since and you get 304 Not Modified until the file changes. Full reference: API docs.
Quick start
# 1. which files can this key read?
curl -sS --compressed -H "X-API-Key: YOUR_API_KEY" \
https://api.arbplay.app/v1/files
# 2. download one file (JSON envelope: company, file, updated_at, data)
curl -sS --compressed -H "X-API-Key: YOUR_API_KEY" \
https://api.arbplay.app/v1/data/site_live_stoiximan.json -o site_live_stoiximan.json
Python and Node examples, error codes and rate limits are in the docs; each bookmaker page has a tested parser.
Get API access
Every bookmaker is a separate listing on three marketplaces. Subscribe there and call the marketplace's gateway with its key; plans and quotas are set on each listing.
Need several bookmakers, higher limits or a direct X-API-Key for https://api.arbplay.app? Contact ArbPlay. How direct keys, bundles, trial keys and rate limits work: Odds API FAQ.
Freshness
- Live files: rewritten about every 1–3 s. Pre-match files: about every 4–7 s.
- Poll with
If-Modified-Sinceand request gzip (curl --compressed); the largest file, Superbet pre-match soccer, is around 200 MB uncompressed.
Raw bookmaker JSON, and matching events across bookmakers
The API does not normalize anything: each file is exactly what the bookmaker publishes, so a Stoiximan file and a Bwin file look nothing alike. That keeps every market and field the bookmaker has, and it means your parser is per bookmaker. Each bookmaker page has a field map, a real trimmed sample and a tested Python function for match-result odds.
To line the same match up across bookmakers, join on the Betradar (Sportradar) match id where it exists — Stoiximan, Novibet, Superbet, OPAP and Bwin carry it — and fall back to team names plus start time for Elabet, Fonbet and events without the id.
Samples, OpenAPI and agent-readable sources
- Real trimmed samples for every bookmaker, in the exact response format
- OpenAPI 3.1 spec and a Postman collection
- /llms.txt and /for-agents for AI assistants and crawlers
- Plain-language guide: Greek bookmaker odds API
Frequently asked questions
What is the ArbPlay Odds HTTP API?
A read-only JSON API at https://api.arbplay.app that serves the odds of seven Greek bookmakers — Stoiximan, Novibet, Fonbet, Superbet, Elabet, OPAP (Allwyn) and Bwin — as each bookmaker publishes them. It has two endpoints: GET /v1/files lists the files your key can read and GET /v1/data/{filename} returns one file.
Which bookmakers and sports are covered?
Seven Greek bookmakers. Stoiximan and Novibet have one live file with every in-play sport plus pre-match soccer, basketball and tennis, and Stoiximan adds a file for 15 major soccer leagues; Fonbet has one file with every sport, live and pre-match; Superbet, Elabet, OPAP and Bwin have live and pre-match files for soccer, basketball and tennis.
How fresh is the data?
During active hours live files are rewritten about every 1 to 3 seconds and pre-match files about every 4 to 7 seconds. Every response carries updated_at and Last-Modified, and If-Modified-Since returns 304 when nothing changed.
Is the data normalized across bookmakers?
No. Each file is the bookmaker's own JSON, served unchanged, so every bookmaker has its own structure. Each bookmaker page has a field map, a real sample and a tested Python function that extracts match-result odds.
How do I match the same event across bookmakers?
Stoiximan, Novibet, Superbet, OPAP and Bwin carry a Betradar (Sportradar) match id, so you can join on it. For Elabet and Fonbet, and events without the id, match on team names and start time.
How do I get an API key?
Subscribe to a bookmaker's listing on RapidAPI, Zyla API Hub or JoJ API and call it with that marketplace's key; plans and quotas are set on each listing. For a direct key to api.arbplay.app, contact ArbPlay.
api.arbplay.app is the Odds HTTP API. It is separate from the ArbPlay app's own endpoints under arbplay.app/api/* (sign-in, the arbitrage feed), which are not a public API.
ArbPlay is independent and not affiliated with or endorsed by any of these bookmakers or their operators. Odds are collected from publicly available bookmaker odds and served unchanged for informational use; ArbPlay does not place bets. 21+.