# EPL Odds API

The Odds API covers EPL odds for live and upcoming matches in a simple JSON API.

Not a developer? Current EPL odds can also be accessed in Excel or Google Sheets. For website owners, the odds widget brings bookmaker odds into websites with a simple HTML tag.

# Features

  • EPL odds are covered for live and upcoming matches.

  • Featured markets, including 1X2, handicap, over/under are covered for several bookmakers. See the full list of bookmakers.

  • Additional markets including player props, half time, double chance and more are covered for mainly US bookmakers, with coverage expanding to other bookmakers. See the full list of betting markets.

  • Odds are refreshed at regular intervals. More information on update intervals can be found here.

  • EPL scores are covered, with final scores available for games completed up to 3 days ago.

  • Current odds data and scores are available on all usage plans, including the free usage plan.

  • Historical EPL odds data is available on paid usage plans. Historical odds for featured markets (1X2, handicap, over/under) are available from mid-2020. Historical odds for other markets are available from mid-2023. More information on historical odds data can be found here.

  • The API response includes deep links to bookmaker websites.

# Querying EPL Odds

Featured markets (1X2, handicap and totals) can be queried using the odds endpoint. For additional markets including player props, use the event-odds endpoint.

Parameters

To query current EPL odds for featured markets, the following parameters need to be provided:

  • sport   In this case soccer_epl
  • regions   Regions of bookmakers to return, for example eu
  • markets   For example, h2h for 1X2, spreads for handicap, and totals for over/under
  • apiKey   Get a free API key

See the documentation for more options

Example API Request

https://api.the-odds-api.com/v4/sports/soccer_epl/odds?regions=eu&markets=h2h,spreads,totals&oddsFormat=decimal&apiKey=YOUR_API_KEY

Example API Response

The API will return live and upcoming EPL games, including start times, home and away teams, and odds from bookmakers for the specified regions and markets.

[{
    "id": "c68b82f9cb2f42d00f21fcb79941dbe6",
    "sport_key": "soccer_epl",
    "sport_title": "EPL",
    "commence_time": "2025-08-30T11:30:00Z",
    "home_team": "Chelsea",
    "away_team": "Fulham",
    "bookmakers": [
        {
            "key": "onexbet",
            "title": "1xBet",
            "last_update": "2025-08-26T08:12:49Z",
            "markets": [
            {
                "key": "h2h",
                "last_update": "2025-08-26T08:12:49Z",
                "outcomes": [
                    {"name": "Chelsea", "price": 1.54},
                    {"name": "Fulham", "price": 6.23},
                    {"name": "Draw", "price": 4.62}
                ]
            },
            {
                "key": "spreads",
                "last_update": "2025-08-26T08:12:49Z",
                "outcomes": [
                    {"name": "Chelsea", "price": 2.46, "point": -1.5},
                    {"name": "Fulham", "price": 1.61, "point": 1.5}
                ]
            },
            {
                "key": "totals",
                "last_update": "2025-08-26T08:12:49Z",
                "outcomes": [
                    {"name": "Over", "price": 1.75, "point": 2.5},
                    {"name": "Under", "price": 2.21, "point": 2.5}
                ]
            }
        ]
    },
    ...

The usage cost of the API call in this example is

usage cost = [number of markets] x [number of regions] = 3 x 1 = 3 credits

See the API documentation for details.

# Query Any EPL Market

Any supported EPL markets can be queried one game at a time using the event-odds endpoint.

Parameters

To query current EPL odds for any market, including player props, half and quarter time markets and more, the following parameters need to be provided:

  • sport   In this case soccer_epl
  • eventId   This example uses the id of Chelsea v Fulham (id c68b8...). A list of current event ids can be queried using the events endpoint.
  • regions   Regions of bookmakers to return, for example eu
  • markets   For example alternate_totals, double_chance, player_shots_on_target
  • apiKey   Get a free API key

See the documentation for more options.

Example API Request

https://api.the-odds-api.com/v4/sports/soccer_epl/events/c68b82f9cb2f42d00f21fcb79941dbe6/odds/?apiKey=YOUR_API_KEY&regions=eu&markets=alternate_totals,double_chance,player_shots_on_target&oddsFormat=decimal

Example API Response

The response will contain the specified EPL game including odds from the specified bookmakers and markets.

{
  "id": "c68b82f9cb2f42d00f21fcb79941dbe6",
  "sport_key": "soccer_epl",
  "sport_title": "EPL",
  "commence_time": "2025-08-30T11:30:00Z",
  "home_team": "Chelsea",
  "away_team": "Fulham",
  "bookmakers": [
    {
      "key": "onexbet",
      "title": "1xBet",
      "markets": [
        {
          "key": "double_chance",
          "last_update": "2025-08-26T08:11:31Z",
          "outcomes": [
            {"name": "Chelsea or Draw", "price": 1.15},
            {"name": "Fulham or Draw", "price": 2.62},
            {"name": "Chelsea or Fulham", "price": 1.23}
          ]
        },
        {
          "key": "alternate_totals",
          "last_update": "2025-08-26T08:11:46Z",
          "outcomes": [
            {"name": "Over", "price": 1.01, "point": 0.5},
            {"name": "Over", "price": 1.01, "point": 1},
            {"name": "Over", "price": 1.21, "point": 1.5},
            {"name": "Over", "price": 1.31, "point": 2},
            {"name": "Over", "price": 1.75, "point": 2.5},
            {"name": "Over", "price": 2.14, "point": 3},
            ...
            {"name": "Under", "price": 2.21, "point": 2.5},
            {"name": "Under", "price": 1.68, "point": 3},
            {"name": "Under", "price": 1.43, "point": 3.5},
            {"name": "Under", "price": 1.19, "point": 4},
            {"name": "Under", "price": 1.13, "point": 4.5},
            ...
          ]
        },
        {
          "key": "player_shots_on_target",
          "last_update": "2025-08-26T08:11:46Z",
          "outcomes": [
            {"name": "Over", "description": "Raul Jimenez", "price": 1.57, "point": 0.5},
            {"name": "Over", "description": "Raul Jimenez", "price": 3.75, "point": 1.5},
            {"name": "Over", "description": "Raul Jimenez", "price": 11, "point": 2.5},
            {"name": "Over", "description": "Kenny Tete", "price": 3, "point": 0.5},
            {"name": "Over", "description": "Kenny Tete", "price": 15, "point": 1.5},
            {"name": "Over", "description": "Reece James", "price": 2.62, "point": 0.5}
            ...
          ]
        }
      ]
    },
    ...
  

The usage cost of the API call in this example is

usage cost = [number of markets] x [number of regions] = 3 x 1 = 3 credits

If you only need featured markets (1X2, handicap, over/under), it will be more cost-efficient to query the odds endpoint since it will return multiple matches.

See the API documentation for details.

# Other Sports

See the full list of sports covered by The Odds API.

# Stay Updated

Follow us on X.com or Bluesky to stay updated on new sports, bookmakers, markets and features.