Discover/oddsportal.com API
live

oddsportal.com APIoddsportal.com

Access sports betting odds, match details, league standings, and bookmaker data from OddsPortal across 8+ sports via a structured REST API.

Endpoints
7
Updated
3mo ago
Try it

No input parameters required.

api.parse.bot/scraper/866c8d40-aa7f-4f08-9d76-4cd26492cb04/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Use it in your codegrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/866c8d40-aa7f-4f08-9d76-4cd26492cb04/get_all_sports' \
  -H 'X-API-Key: $PARSE_API_KEY'
All endpoints · 7 totalclick to expand

Get all available sports supported by OddsPortal. Returns a static list of sport names and URL slugs.

Input

No input parameters required.

Response
{
  "type": "object",
  "fields": {
    "sports": "array of sport objects each containing name and slug"
  },
  "sample": {
    "data": {
      "sports": [
        {
          "name": "Football",
          "slug": "football"
        },
        {
          "name": "Tennis",
          "slug": "tennis"
        },
        {
          "name": "Basketball",
          "slug": "basketball"
        }
      ]
    },
    "status": "success"
  }
}

About the oddsportal.com API

The OddsPortal API exposes 7 endpoints covering sports betting data across football, tennis, basketball, and five other sports — including match details with multi-market odds, league metadata, bookmaker ratings, and standings URLs. The get_match_details endpoint returns structured SportsEvent data alongside raw odds for markets including 1x2, over/under, Asian handicap, and both-teams-to-score. Tournament identifiers and bookmaker bitmasks from get_league_matches are required to navigate the data hierarchy.

Sports, Leagues, and Match Coverage

The API starts with get_all_sports, which returns a static list of sport names and their URL slugs. From there, get_sport_leagues accepts one of eight sport slugs — football, tennis, basketball, hockey, baseball, american-football, handball, or rugby-league — and returns major leagues with country, name, and slug fields. These slugs feed directly into get_league_matches, which requires sport, league, and country params and returns a tournament_id and bitmask string alongside the constructed page URL. Set is_results to true to retrieve metadata for the completed-matches page instead of upcoming fixtures.

Match Details and Odds Data

get_match_details takes a match_slug (formatted as <home-team>-<away-team>-<match-id>, obtainable from league pages) plus the sport, league, and country slugs. The response includes a details object structured as a Schema.org SportsEvent — covering teams, venue, and date — plus a match_id string and an odds_raw object keyed by market: 1x2, over_under, asian_handicap, and btts. The odds data is returned in a compressed, obfuscated format consistent with how OddsPortal encodes this information; consumers will need to decode it before use.

Bookmakers and Geo-Dependency

get_all_bookmakers returns the full bookmaker list with per-bookmaker fields including id, name, ratings, payout percentages broken down overall and per sport, bonus offer details, and feature flags. The response also includes tab_counts segmenting bookmakers into all, classic, and crypto categories. A note field in the response flags that results reflect geographic availability based on proxy IP location — the bookmaker set visible to the API may differ from what a user in another region would see.

Navigation Helpers

Two lightweight endpoints round out the API. get_today_matches accepts an optional sport slug and returns the URL for that sport's today-matches page, useful for polling fresh fixtures. get_league_standings returns the standings page URL for a given sport, league, and country combination — it does not return parsed standings data directly, only the URL string.

Common use cases
  • Aggregate 1x2, over/under, and Asian handicap odds from multiple bookmakers for a specific football match
  • Build a league browser by iterating get_sport_leagues across all eight supported sport slugs
  • Filter bookmakers by payout percentage or crypto support using fields from get_all_bookmakers
  • Monitor today's upcoming fixtures across sports using get_today_matches on a polling schedule
  • Retrieve tournament IDs via get_league_matches to construct match-level data pipelines for a given competition
  • Compare bookmaker ratings and bonus offers for a target market segment using tab_counts category data
  • Store SportsEvent structured data (teams, venue, date) from get_match_details for historical match archiving
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000250 req/min

One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does OddsPortal have an official developer API?+
OddsPortal does not publish an official public developer API. There is no documented REST or GraphQL interface available at oddsportal.com for third-party developers.
What does the odds_raw field in get_match_details actually contain?+
The odds_raw object is keyed by market name — 1x2, over_under, asian_handicap, and btts. The values within each market are in a compressed, obfuscated format that mirrors how OddsPortal encodes odds on its site. You will need to write a decoder to extract individual bookmaker lines and price values from this structure before the data is usable in calculations.
Why might the bookmaker list differ between API calls?+
The get_all_bookmakers response is geo-dependent: the set of bookmakers returned reflects which ones OddsPortal makes visible based on the proxy IP location used at request time. The response includes a note field that flags this behavior. Bookmakers available in one region may not appear for another, so the total count and the bookmakers array can vary across requests routed through different geographies.
Does the API return parsed, tabular standings data for leagues?+
Not currently. get_league_standings returns only the standings page URL for a given sport, league, and country — it does not parse the table rows, team positions, points, or win/draw/loss records into structured fields. You can fork this API on Parse and revise it to add an endpoint that parses standings table data for the leagues you need.
Can I retrieve historical odds movement or line history for a match?+
Not currently. get_match_details returns a snapshot of odds at the time of the request; there is no endpoint for opening lines, odds history, or timestamped movement data. You can fork this API on Parse and revise it to add a historical odds endpoint if that data is available on the match page.
Page content last updated . Spec covers 7 endpoints from oddsportal.com.
Related APIs in SportsSee all →
athletic.net API
Search and analyze cross country and track & field performance data across the US, including athlete profiles, meet results, team rosters, and rankings. Access comprehensive meet information, historical records, and state-level competition data to track athlete progress and discover top performers.
maxpreps.com API
Access high school sports data from MaxPreps. Search for schools, retrieve team rosters and schedules, look up athlete profiles, and browse national or state rankings across all sports.
vg.no API
Access VG.no's latest news, articles, sports scores, and TV guides through a single interface where you can browse the front page, search articles by topic, view category-specific content, and find related stories. Get real-time sports scores and television schedules alongside comprehensive news coverage from Norway's leading news outlet.
vegasinsider.com API
Retrieve MLB betting odds from major sportsbooks including bet365, FanDuel, and DraftKings, covering Moneyline, Total, and Runline markets for any supported date. Easily compare odds across books to identify the best available lines.
puntoticket.com API
Browse and search events happening in Chile with PuntoTicket, viewing featured shows, filtering by category, and checking detailed pricing and availability for concerts, theater, sports, and more. Find the perfect event by exploring all listings or discovering what's trending right now.
130point.com API
Search for sold trading cards across eBay, Goldin, Heritage Auctions, Pristine Auction, MySlabs, and Fanatics Collect to find historical prices, sale dates, and marketplace information all in one place. Get comprehensive sales data to research card values and track market trends across multiple platforms instantly.
wynncraft.com API
Access detailed Wynncraft game information to look up item metadata and search across the complete item database, retrieve player statistics and character inventories, and browse guild information and global search results. Use this data to compare gear, track player progress, analyze guild rosters, or build tools for the Wynncraft community.
whoscored.com API
Search for players and teams, then dive deep into their performance metrics, match statistics, and detailed passing data to analyze football games and player abilities. Get comprehensive insights on team performance, individual player stats, and play-by-play event information to power your football analysis and decision-making.
OddsPortal API – Sports Odds & Match Data · Parse