API

API reference

Everything public on Backd is available as JSON: live markets with prices in every odds format, public records and calls, combos, leaderboards, and how Backd callers are split on any market. No key, no sign-up.

The basics

Base URLhttps://backd.market/api/v1
AuthNone. Every endpoint is read-only and returns only what's public.
Rate limit120 requests a minute per IP. Every response carries x-ratelimit-limit, x-ratelimit-remaining and x-ratelimit-reset.
CORSAllowed from any origin, so it works straight from a browser.
CachingResponses carry cache-control; live data is 15 seconds, lists 30 to 60, odds an hour.
NumbersChances are 0 to 1. Money is on a notional $10 a call. Times are ISO 8601 or Unix seconds where marked.

Your first request

curl "https://backd.market/api/v1/markets?category=Football&limit=3"
Response
{
  "ok": true,
  "live": true,
  "count": 3,
  "events": [
    { "slug": "epl-ars-che-2026-10-04", "title": "Arsenal vs. Chelsea", "category": "Football",
      "markets": [ { "id": "4711001", "question": "Will Arsenal win on 2026-10-04?", "outcomes": [ { "name": "Yes", "chance": 0.58, "odds": { "percent": "58%", "decimal": "1.72", "fractional": "8/11", "american": "−138", "price": "58¢" } }, "…" ] } ],
      "url": "https://backd.market/match/epl-ars-che-2026-10-04" }
  ]
}

Endpoints

EndpointWhat it returns
GET /api/v1/marketsOpen events, busiest first.
GET /api/v1/markets/{eventSlug}One event with every market, live prices in every odds format, and how Backd callers are split on each market..
GET /api/v1/markets/{eventSlug}/historyThe chance of a market’s first outcome over time, for charts..
GET /api/v1/liveEvery match in play right now, with the score, the clock and the chance of each result..
GET /api/v1/callsPublic calls across Backd, newest first.
GET /api/v1/calls/{id}One public call, with any updates the caller added to their thesis..
GET /api/v1/users/{handle}Someone’s public record: right %, profit on $10 calls, XP, streak and follows..
GET /api/v1/users/{handle}/callsA person’s public calls, newest first, optionally by status..
GET /api/v1/leaderboardPublic records ranked on settled calls.
GET /api/v1/combosPublic combos (2 to 6 picks that all have to happen), newest first..
GET /api/v1/oddsOne chance in every odds format, with what $10 wins and the XP a right call would earn..

Common shapes

Every response is { "ok": true, ...data }. Errors are { "ok": false, "error": { "code", "message" } } with a matching status: 400 for a bad parameter, 404 when nothing matches, 429 when rate limited, 503 while records are unavailable. See errors.

Chance is always 0 to 1. Odds repeat the same chance as percent, decimal, fractional, american and price, so you never need to convert. profit_on_10 is the profit a $10 call made or would make.

OpenAPI

The whole API is described at /api/v1/openapi.json (OpenAPI 3.1), generated from the same spec as these pages. Point a client generator at it.

Writing data (making calls, combos or challenges from your own app) isn't in this API yet. Records are written only by Backd's server at the live price; that's what keeps them honest. Tell us what you'd build and we'll look at a signed write API.
Backd is free to play. We never take money and never pay out.TermsPrivacyX
API reference · Docs · Backd