PYTHON ODDS API

Python Odds API for Football Betting Data

Pull UK football odds into Python using plain REST JSON, no proprietary SDK required. Works straight away with requests or httpx.

Odds API for Python
import requests
r = requests.get(BASE + "/events", headers={"X-Api-Key": KEY})

JSON over HTTPS, authenticated with an X-Api-Key header.

WHY PYTHON DEVELOPERS NEED THIS

Build football odds tools without wrestling with a bookmaker's SDK

Anyone building odds comparison tables, alert bots, tipster tools, or backtesting scripts in Python needs a data source that behaves predictably. Scraping bookmaker sites is slow, breaks constantly, and is hard to maintain in a production script. A REST API returning consistent JSON slots straight into pandas, asyncio, or a scheduled job, so you spend time on your product instead of on parsing HTML. This page covers what you need before you touch a single endpoint.

Odds comparison tools

Python developers building odds comparison sites need one consistent JSON feed rather than several bookmaker websites to scrape. A single call with requests or httpx can populate a dataframe or database table, which is far easier to keep running than a set of fragile scrapers.

Alerting and notification bots

Telegram and Discord bots that flag value bets or odds movements need structured data they can poll on a schedule. Clean JSON responses fit naturally into Python's scheduling and asyncio libraries without any custom HTML parsing.

Tipster and prediction tools

Tipster platforms and prediction models need current and historical odds to calculate implied probabilities and track accuracy over time. Python's data stack, including pandas and NumPy, works directly with plain JSON odds data, so there is no bespoke SDK to learn.

Research and backtesting

Analysts backtesting betting strategies need consistent odds across matches and bookmakers to model returns accurately. A plain REST response can be pulled directly into a research script or notebook, keeping the whole pipeline simple to reproduce.

Endpoints Python apps call most

Start with events and odds. Add history or arbitrage by plan.

GET /v1/football/events?schedule_date=YYYY-MM-DD&has_odds=true&per_page=25

GET /v1/football/events/EVENT_ID/odds?package=core&odds_format=decimal

GET /v1/football/events/EVENT_ID/odds/best?odds_format=decimal

Replace EVENT_ID with an event_id from the events endpoint.

Example JSON your Python code parses

Best odds payload for a quick compare loop.

{
  "event_id": "evt_123",
  "odds_format": "decimal",
  "markets": [
    {
      "key": "1x2",
      "best": [
        { "name": "Home", "odds": 2.02, "bookmaker_code": "UO004" },
        { "name": "Draw", "odds": 3.45, "bookmaker_code": "UO018" },
        { "name": "Away", "odds": 3.78, "bookmaker_code": "UO006" }
      ]
    }
  ]
}

What you can build

What you can build in Python

Bots, scanners, Discord/Telegram alerts, and research scripts.

Built for Python

Odds JSON that drops into Python scripts.

Poll, compare, alert, research. One UK bookmaker feed.

Bookmakers covered

Odds from major UK bookmakers, covering fixtures across football leagues.

Pricing

Simple pricing for Python projects

Pick a plan based on how many requests your script, bot, or dashboard needs each month.

Starter

£79/month

Billed today · no trial

For prototypes and early builds

  • 10 UK bookmakers
  • Core markets only Main match odds such as match winner, over/under, both teams to score, double chance, draw no bet, and handicaps.
  • 1,000 requests/hour
  • Email support

Business

£359/month

Billed today · no trial

For arbitrage tools and revenue-generating systems

  • 34 UK bookmakers
  • Core markets Main match odds such as match winner, over/under, both teams to score, double chance, draw no bet, and handicaps.
  • Advanced markets Deeper betting markets such as corners, cards, team props, player props, specials, and bookmaker-specific markets.
  • 20,000 requests/hour
  • Arbitrage API included
  • Specials Football specials: markets on topics like next manager, transfers, and awards.
  • Historical odds
  • Price boosts Promotional boosted odds on selected markets and outcomes — e.g. enhanced player props and match combos. Single-event and batch endpoints available.
  • Bet builders Bookmaker-published multi-leg bets for one match — e.g. BTTS + corners + cards.

FAQ

Python odds API - FAQ

Is there an official Python SDK?

You call the REST API with requests or httpx. Tutorials show plain HTTP patterns.

Which endpoints do Python bots use?

Usually /events, /odds or /odds/best, and optionally /arbitrage or history.

Can I use this in Jupyter?

Yes. Same API keys and JSON responses in notebooks.

Which bookmakers are included?

Major UK bookmakers including Bet365, Betfair, Paddy Power, Sky Bet, William Hill, Coral, Ladbrokes, Betway, 888sport, Unibet, and Spreadex.

Can I try the API before I pay?

Yes. Create an account and subscribe to a plan, then explore endpoints in the Swagger playground at api.ukoddsapi.com/docs.

Tutorials

Python tutorials.

Copy patterns into your project.