fixture_idOne event. Connected sources.One consistent schema. Work with stable fixture IDs and normalized markets. Keep the source identity behind every observation.

Explore our private pre-match football data pilot. The hosted workspace and REST API are running; data access requires approval. Signup includes no data grants or credits.
Use one format for fixtures and markets while keeping each source’s price, timestamp, and settlement context.
fixture_idOne event. Connected sources.One consistent schema. Work with stable fixture IDs and normalized markets. Keep the source identity behind every observation.
activeActive · stale · suspendedFreshness you can see. Know when a price was observed, when it changed, and when it is no longer eligible to use.
seen_tsOriginal time. Lasting context.Every change has a story. Read the restricted history contract, including original timestamps and coverage gaps. History access requires separate approval.
missing[]Clear reasons. Better decisions.Nothing silently missing. Understand unavailable coverage with explicit reasons. Build around the data you actually have.
| Bookmaker | Max live delay (sec) | Max pregame delay (main, sec) | Max pregame delay (sec) | Player props | Domain |
|---|---|---|---|---|---|
| Loading current server observations… | |||||
Observed maxima over the trailing 24 hours, refreshed every 10 minutes. ≤ marks an independently sampled detection-delay bound. Other numbers use provider-stamped change-to-receipt time. Main = full-time 1X2. Sampling means no eligible change has been measured yet; stopped sources are not retried. Live collection is not enabled. ✓ = verified player-prop support; ✕ = no verified support.
Spend your time building the product. Get structured observations with clear units, traceable sources, and explicit coverage.
A single observation carries its identity, native unit, state, and timestamp. Your application gets more than a number.
{
"key": {
"source_id": 100,
"fixture_id": 100000,
"market_id": 1001,
"outcome_id": 10011,
"source_fixture_id": "example-fixture",
"side": "quote",
"depth": 0
},
"value": {
"state": "active",
"decimal_odds": "1.95000000",
"native_unit": "decimal_odds"
},
"seen_ts": "2026-11-09T12:00:00Z"
}Hosted HTTPS API with account permissions, bounded pagination, and a free access check.
Explore RESTAn implemented protocol with separate stream permissions. Streaming is not enabled for new accounts.
Read the stream contractDocumented ticks, snapshots and exports. History access and source-purpose approval are separate; no public rollout.
Read the history contractStart with cURL, Python, or JavaScript. Use the same documented contract from your first request to your next integration.
Read the quick start Standard HTTP tools. No SDK installation or private checkout.#!/bin/sh
set -eu
: "${ODDSWIRE_API_KEY:?Load your own API key into the environment}"
case "$ODDSWIRE_API_KEY" in
*[!A-Za-z0-9_-]*) echo 'Unexpected key format' >&2; exit 1 ;;
esac
# The header is read from stdin instead of being placed in curl's arguments.
printf 'header = "X-API-Key: %s"\n' "$ODDSWIRE_API_KEY" |
curl --config - --silent --show-error --fail-with-body --max-time 10 \
'https://api.oddswire.io/v1/account/entitlements'Connect sportsbook and prediction-market observations without losing what makes them different.
Current availabilityDecimal prices with source, market, settlement, and state preserved.
Selected pre-match football fixturesNative probabilities remain distinct from decimal odds, with fee and settlement context.
Selected sports contractsSelected pre-match regulation 1X2 fixtures. Customer coverage and source-use rights require separate review.
Bring source-native prices into one consistent view.
Review historical-data contracts and their separate access requirements.
Keep probabilities, sportsbook odds, and settlement context clear.
Start with a documented contract. Build your own experience.
Start with the calculations, data conventions, and checks behind each comparison.
How common odds formats encode the same payout and how to convert them without confusing odds with probability.
A worked proportional de-vig calculation for complete two-way and regulation football 1X2 markets.
Check event identity, period, settlement, fees, units, and freshness before comparing observations across sources.
Why a price can be unchanged and current, and why delivery time cannot replace source observation time.
Build around partial coverage, stale observations, suspended prices, and explicit missing-data reasons.
Compare odds API contracts, history, market data and access requirements using primary documentation and a practical evaluation checklist.
Run a dependency-free Python odds example with exact decimal inputs, implied probabilities and proportional margin removal.
Create a workspace, check your access, and use the free tools. Review current availability before planning a data integration.
Everything you need to understand the contract before writing your first integration.
Email/password signup and automatic workspace setup are live. Data permissions and credit allocation require separate approval.
Oddswire gives developers a consistent format for sportsbook odds and prediction-market observations. The contract includes fixture and market identifiers, native price units, timestamps, and reasons for missing coverage.
With separately approved data scope, the REST contract can support odds comparison and prediction-market analysis. History and line-movement integrations have additional release and permission limits. Read the coverage and settlement context before comparing observations from different sources. Oddswire does not place bets or access sportsbook accounts.
The working pilot focuses on selected pre-match football regulation 1X2 markets. Retained data has been read through the hosted API under a founder-only internal review. This is not customer coverage or a guarantee of six-league availability. Check current availability and account-specific coverage.
No. The interactive preview uses clearly labeled synthetic data to demonstrate the format and interface. It does not connect to a live feed or use a private API key. Account-specific coverage is available inside the authenticated workspace.
Create an account with email/password, verify your email, and open the automatically created workspace. An owner or admin can create an account-owned API key. Signup and key creation provide no data grants or credit allocation. Source-data access requires separate review; a beta invitation matters only if one has been issued.
Errors, conditional 304 responses, and account or control requests are free. A successfully delivered metered data response uses one credit, including an empty result. WebSocket messages do not consume REST credits. A client timeout can leave delivery and charging uncertain; check usage before retrying.