Live and pre-match odds from OPAP (Allwyn), served as JSON exactly as OPAP publishes them — every market, line and id, unchanged. Files (6) - site_live_opapstore_soccer.json — Live soccer with match result, totals, BTTS, corners and draw no bet - site_live_opapstore_basketball.json — Live basketball - site_live_opapstore_tennis.json — Live tennis - site_pregame_opapstore_soccer.json — Pre-match soccer — match result, totals, double chance, BTTS, half-time, Asian handicap, corners - site_pregame_opapstore_basketball.json — Pre-match basketball - site_pregame_opapstore_tennis.json — Pre-match tennis Freshness: live files about every 2–5 s, pre-match about every 6–10 s. Odds: Decimal (prices[].decimal) plus fractional (numerator/denominator). Cross-bookmaker id: Betradar: externalIds[] with provider: "betradar" (sr:match:{id}) — on every event. How to use it 1. GET /v1/files lists the files your subscription can read. 2. GET /v1/data/{filename} returns {"company", "file", "updated_at", "data"}; data is OPAP's own JSON. 3. Poll with If-Modified-Since (send back the Last-Modified header): you get 304 Not Modified until the file changes. Request gzip — responses arrive about 6–10 times smaller. Up to 10 requests per second per file at the origin; your plan's quota is set on this listing. Documentation: field map, real samples and a tested Python parser for match-result odds — https://arbplay.app/api/allwyn-odds-api · full reference — https://arbplay.app/api/docs ArbPlay is independent and not affiliated with or endorsed by OPAP (Allwyn) or its operator. Informational use; the API does not place bets.
Last updated 2026-10-09