{"id":79,"date":"2025-12-08T17:12:54","date_gmt":"2025-12-08T17:12:54","guid":{"rendered":"https:\/\/oddspapi.io\/blog\/?p=79"},"modified":"2026-02-22T15:36:48","modified_gmt":"2026-02-22T15:36:48","slug":"esports-odds-api-guide-how-to-get-pinnacle-cs2-lol-data-for-free","status":"publish","type":"post","link":"https:\/\/oddspapi.io\/blog\/esports-odds-api-guide-how-to-get-pinnacle-cs2-lol-data-for-free\/","title":{"rendered":"Esports Odds API: CS2, LoL &#038; Dota 2 Betting Data from 350+ Bookmakers"},"content":{"rendered":"<h2>Why Most Esports APIs Fall Short<\/h2>\n<p>If you&#8217;ve tried to build anything with esports odds data, you already know the problem. The enterprise providers \u2014 Sportradar, PandaScore, Abios \u2014 charge $2,000-$10,000\/month and lock you into annual contracts. The generic sports APIs cover 5-10 bookmakers for esports, maybe Bet365 and a few soft books. Neither option gives you what actually matters: <strong>sharp bookmaker odds from Pinnacle alongside esports specialists like GG.BET and Thunderpick<\/strong>, all in one feed.<\/p>\n<p>OddsPapi fills that gap. 350+ bookmakers, including sharp books (Pinnacle, Singbet), crypto books (1xBet, Stake), and esports-native books (GG.BET, Thunderpick, Betway) \u2014 all through one REST API with a free tier. No enterprise sales call. No scraping. JSON in, odds out.<\/p>\n<p>This guide covers everything: what&#8217;s covered, how to fetch it, and how it compares to every alternative.<\/p>\n<h2>Esports Odds Feed: What&#8217;s Covered<\/h2>\n<p>OddsPapi treats each esports title as its own sport, with dedicated sport IDs, tournament structures, and market types. Here&#8217;s the coverage breakdown:<\/p>\n<figure class=\"wp-block-table\">\n<table>\n<thead>\n<tr>\n<th>Game<\/th>\n<th>Sport ID<\/th>\n<th>Example Tournaments<\/th>\n<th>Markets<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><strong>Counter-Strike 2<\/strong><\/td>\n<td>17<\/td>\n<td>PGL Major, ESL Pro League, BLAST Premier, IEM<\/td>\n<td>Match Winner, Map Winner, Map Handicap, Total Maps, Correct Score<\/td>\n<\/tr>\n<tr>\n<td><strong>League of Legends<\/strong><\/td>\n<td>18<\/td>\n<td>Worlds, LEC, LCS, LCK, LPL, CBLOL<\/td>\n<td>Match Winner, Map Winner, Map Handicap, Total Maps<\/td>\n<\/tr>\n<tr>\n<td><strong>Dota 2<\/strong><\/td>\n<td>16<\/td>\n<td>The International, DreamLeague, ESL One, DPC<\/td>\n<td>Match Winner, Map Winner, Map Handicap, Total Maps<\/td>\n<\/tr>\n<tr>\n<td><strong>Valorant<\/strong><\/td>\n<td>61<\/td>\n<td>VCT Champions Tour, Game Changers, EMEA Clash<\/td>\n<td>Match Winner, Map Winner, Map Handicap<\/td>\n<\/tr>\n<tr>\n<td><strong>Call of Duty<\/strong><\/td>\n<td>56<\/td>\n<td>CDL Major, Call of Duty League<\/td>\n<td>Match Winner, Map Markets<\/td>\n<\/tr>\n<tr>\n<td><strong>Rocket League<\/strong><\/td>\n<td>59<\/td>\n<td>RLCS, Rocket League Championship Series<\/td>\n<td>Match Winner, Map Markets<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/figure>\n<h3>Key Bookmakers for Esports<\/h3>\n<p>The bookmakers that matter for esports aren&#8217;t the same ones that matter for NFL or Premier League. Here&#8217;s who you get through OddsPapi:<\/p>\n<figure class=\"wp-block-table\">\n<table>\n<thead>\n<tr>\n<th>Bookmaker<\/th>\n<th>Type<\/th>\n<th>Why It Matters<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><strong>Pinnacle<\/strong><\/td>\n<td>Sharp<\/td>\n<td>The benchmark line for esports. Lowest vig, sharpest market.<\/td>\n<\/tr>\n<tr>\n<td><strong>GG.BET<\/strong><\/td>\n<td>Esports Specialist<\/td>\n<td>Deepest esports market coverage. Player props, round markets.<\/td>\n<\/tr>\n<tr>\n<td><strong>Betway<\/strong><\/td>\n<td>Major Soft<\/td>\n<td>Heavy esports sponsorship (formerly Betway Esports). Wide coverage.<\/td>\n<\/tr>\n<tr>\n<td><strong>1xBet<\/strong><\/td>\n<td>Crypto\/Global<\/td>\n<td>Covers tier-2 and tier-3 tournaments most books ignore.<\/td>\n<\/tr>\n<tr>\n<td><strong>Thunderpick<\/strong><\/td>\n<td>Crypto Esports<\/td>\n<td>Esports-first book. CS2 and Dota 2 specialist markets.<\/td>\n<\/tr>\n<tr>\n<td><strong>Bet365<\/strong><\/td>\n<td>Soft Global<\/td>\n<td>Largest soft book. Mainstream esports coverage.<\/td>\n<\/tr>\n<tr>\n<td><strong>Stake<\/strong><\/td>\n<td>Crypto<\/td>\n<td>Major CS2 sponsor. Fast odds updates for live esports.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/figure>\n<h3>REST API vs WebSocket<\/h3>\n<p>OddsPapi offers two ways to consume esports odds data:<\/p>\n<figure class=\"wp-block-table\">\n<table>\n<thead>\n<tr>\n<th>Method<\/th>\n<th>Use Case<\/th>\n<th>Update Speed<\/th>\n<th>Tier<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><strong>REST API<\/strong><\/td>\n<td>Pre-match analysis, line shopping, model building<\/td>\n<td>Seconds (poll-based)<\/td>\n<td>Free<\/td>\n<\/tr>\n<tr>\n<td><strong>WebSocket<\/strong><\/td>\n<td>Live betting bots, real-time dashboards, arb detection<\/td>\n<td>Sub-second (push-based)<\/td>\n<td>Pro<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/figure>\n<p>For pre-match esports data, the REST API on the free tier is all you need. If you&#8217;re building something that reacts to live odds movements during a CS2 match, the WebSocket feed on the Pro tier pushes updates as they happen \u2014 no polling delay.<\/p>\n<h2>Esports Betting API Comparison (2026)<\/h2>\n<p>Here&#8217;s how OddsPapi stacks up against the alternatives for esports odds data specifically:<\/p>\n<figure class=\"wp-block-table\">\n<table>\n<thead>\n<tr>\n<th>Feature<\/th>\n<th>OddsPapi<\/th>\n<th>PandaScore<\/th>\n<th>Abios<\/th>\n<th>The Odds API<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><strong>Esports Bookmakers<\/strong><\/td>\n<td>14+ per fixture (majors)<\/td>\n<td>N\/A (stats only)<\/td>\n<td>N\/A (stats only)<\/td>\n<td>5-10<\/td>\n<\/tr>\n<tr>\n<td><strong>Total Bookmakers<\/strong><\/td>\n<td>350+<\/td>\n<td>0 (no odds)<\/td>\n<td>0 (no odds)<\/td>\n<td>~40<\/td>\n<\/tr>\n<tr>\n<td><strong>Sharp Books (Pinnacle)<\/strong><\/td>\n<td>Yes<\/td>\n<td>No<\/td>\n<td>No<\/td>\n<td>Yes<\/td>\n<\/tr>\n<tr>\n<td><strong>Esports Specialists<\/strong><\/td>\n<td>GG.BET, Thunderpick, Stake<\/td>\n<td>N\/A<\/td>\n<td>N\/A<\/td>\n<td>No<\/td>\n<\/tr>\n<tr>\n<td><strong>Games Covered (Odds)<\/strong><\/td>\n<td>6+ titles<\/td>\n<td>20+ (stats only)<\/td>\n<td>30+ (stats only)<\/td>\n<td>4-5<\/td>\n<\/tr>\n<tr>\n<td><strong>Match Stats\/Scores<\/strong><\/td>\n<td>No<\/td>\n<td>Yes (deep)<\/td>\n<td>Yes (deep)<\/td>\n<td>No<\/td>\n<\/tr>\n<tr>\n<td><strong>Historical Odds<\/strong><\/td>\n<td>Free tier<\/td>\n<td>N\/A<\/td>\n<td>N\/A<\/td>\n<td>Paid only<\/td>\n<\/tr>\n<tr>\n<td><strong>WebSocket<\/strong><\/td>\n<td>Pro tier<\/td>\n<td>Yes<\/td>\n<td>Yes<\/td>\n<td>No<\/td>\n<\/tr>\n<tr>\n<td><strong>Free Tier<\/strong><\/td>\n<td>Yes (350+ books)<\/td>\n<td>No<\/td>\n<td>No<\/td>\n<td>Yes (~40 books)<\/td>\n<\/tr>\n<tr>\n<td><strong>Price<\/strong><\/td>\n<td>Free \u2013 $99\/mo<\/td>\n<td>$2,000+\/mo<\/td>\n<td>Enterprise<\/td>\n<td>Free \u2013 $199\/mo<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/figure>\n<p><strong>The honest take:<\/strong> If you need match stats, player performance data, or in-game events (kills, objectives, round scores), PandaScore and Abios are built for that \u2014 but they don&#8217;t provide odds data. If you need odds from multiple bookmakers to build line shopping tools, arb scanners, or predictive models, OddsPapi is the only API that covers esports-specialist bookmakers on a free tier.<\/p>\n<h2>Supported Esports Games &amp; Tournaments<\/h2>\n<h3>Counter-Strike 2 (Sport ID: 17)<\/h3>\n<p>CS2 has the deepest esports odds coverage across bookmakers. Major tournaments consistently have 10-14 bookmakers pricing matches.<\/p>\n<p><strong>Tournaments with odds coverage:<\/strong> PGL Majors, ESL Pro League, BLAST Premier, IEM Katowice\/Cologne, ESL Challenger League (regional), CCT Series, NODWIN Clutch Series<\/p>\n<p><strong>Market depth:<\/strong> Match Winner (171), Map 1 Winner (173), Map 2 Winner (175), Map 3 Winner (177), Map Handicap, Total Maps, Correct Score<\/p>\n<h3>League of Legends (Sport ID: 18)<\/h3>\n<p>LoL coverage spans all major regional leagues and international events.<\/p>\n<p><strong>Tournaments with odds coverage:<\/strong> Worlds, LEC (Europe), LCS (North America), LCK (Korea), LPL (China), CBLOL (Brazil), LJL (Japan), Prime League Pro Division<\/p>\n<p><strong>Typical coverage:<\/strong> 20-25 fixtures per week with odds across 10+ bookmakers on tier-1 events.<\/p>\n<h3>Dota 2 (Sport ID: 16)<\/h3>\n<p>Dota 2 coverage focuses on the DPC circuit and major LANs.<\/p>\n<p><strong>Tournaments with odds coverage:<\/strong> The International, DreamLeague, ESL One, DPC Regional Leagues, BetBoom Dacha<\/p>\n<h3>Valorant (Sport ID: 61)<\/h3>\n<p>Valorant coverage has grown rapidly since VCT franchising.<\/p>\n<p><strong>Tournaments with odds coverage:<\/strong> VCT Champions Tour, VCT Game Changers, EMEA Clash, Americas League, Pacific League<\/p>\n<h3>Call of Duty (Sport ID: 56) &amp; Rocket League (Sport ID: 59)<\/h3>\n<p>Coverage for CoD and Rocket League is available for major events \u2014 CDL Majors for Call of Duty, RLCS for Rocket League. Market depth is narrower (primarily Match Winner), but Pinnacle and other sharp books do price these events.<\/p>\n<h3>Sport ID Reference<\/h3>\n<figure class=\"wp-block-table\">\n<table>\n<thead>\n<tr>\n<th>Game<\/th>\n<th>Sport ID<\/th>\n<th>API Slug<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Dota 2<\/td>\n<td>16<\/td>\n<td>esport-dota<\/td>\n<\/tr>\n<tr>\n<td>Counter-Strike 2<\/td>\n<td>17<\/td>\n<td>esport-counter-strike<\/td>\n<\/tr>\n<tr>\n<td>League of Legends<\/td>\n<td>18<\/td>\n<td>esport-league-of-legends<\/td>\n<\/tr>\n<tr>\n<td>Call of Duty<\/td>\n<td>56<\/td>\n<td>esport-call-of-duty<\/td>\n<\/tr>\n<tr>\n<td>Rocket League<\/td>\n<td>59<\/td>\n<td>esport-rocket-league<\/td>\n<\/tr>\n<tr>\n<td>Valorant<\/td>\n<td>61<\/td>\n<td>esport-valorant<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/figure>\n<h2>Esports Markets &amp; Odds Types<\/h2>\n<p>Esports markets follow a different structure than traditional sports. The core unit is a <strong>map<\/strong> (or game\/round depending on the title), not a half or quarter. Here are the verified market IDs for esports:<\/p>\n<figure class=\"wp-block-table\">\n<table>\n<thead>\n<tr>\n<th>Market<\/th>\n<th>Market ID<\/th>\n<th>Outcomes<\/th>\n<th>Available For<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><strong>Match Winner<\/strong><\/td>\n<td>171<\/td>\n<td>171 (Team 1), 172 (Team 2)<\/td>\n<td>All titles<\/td>\n<\/tr>\n<tr>\n<td><strong>Map 1 Winner<\/strong><\/td>\n<td>173<\/td>\n<td>173 (Team 1), 174 (Team 2)<\/td>\n<td>CS2, LoL, Dota 2, Valorant<\/td>\n<\/tr>\n<tr>\n<td><strong>Map 2 Winner<\/strong><\/td>\n<td>175<\/td>\n<td>175 (Team 1), 176 (Team 2)<\/td>\n<td>CS2, LoL, Dota 2, Valorant<\/td>\n<\/tr>\n<tr>\n<td><strong>Map 3 Winner<\/strong><\/td>\n<td>177<\/td>\n<td>177 (Team 1), 178 (Team 2)<\/td>\n<td>CS2, LoL, Dota 2 (Bo3+)<\/td>\n<\/tr>\n<tr>\n<td><strong>Correct Score 2-0<\/strong><\/td>\n<td>1721<\/td>\n<td>1721 (Team 1), 1722 (Team 2)<\/td>\n<td>CS2, LoL, Dota 2<\/td>\n<\/tr>\n<tr>\n<td><strong>Map 1 Handicap<\/strong><\/td>\n<td>1725<\/td>\n<td>1725 (Team 1), 1726 (Team 2)<\/td>\n<td>CS2<\/td>\n<\/tr>\n<tr>\n<td><strong>Total Maps Over<\/strong><\/td>\n<td>1737<\/td>\n<td>1737 (Over), 1738 (Under)<\/td>\n<td>CS2, LoL, Dota 2<\/td>\n<\/tr>\n<tr>\n<td><strong>Map 1 Total Over<\/strong><\/td>\n<td>1741<\/td>\n<td>1741 (Over), 1742 (Under)<\/td>\n<td>CS2<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/figure>\n<p><strong>Note:<\/strong> Market availability varies by bookmaker and tournament tier. Pinnacle and GG.BET typically offer the widest range of esports markets. Smaller bookmakers may only price the Match Winner (171) market.<\/p>\n<h2>Python Tutorial: Fetch Esports Odds in 5 Minutes<\/h2>\n<p>Everything below uses the free tier. No credit card required.<\/p>\n<h3>Step 1: Get Your API Key<\/h3>\n<p>Sign up at <a href=\"https:\/\/oddspapi.io\">oddspapi.io<\/a> and grab your API key from the dashboard. Authentication is via query parameter \u2014 no headers, no OAuth.<\/p>\n<h3>Step 2: Discover Esports Sports<\/h3>\n<pre class=\"wp-block-code\"><code>import requests\n\nAPI_KEY = \"YOUR_API_KEY\"\nBASE = \"https:\/\/api.oddspapi.io\/v4\"\n\n# List all sports \u2014 filter for esports\nresponse = requests.get(f\"{BASE}\/sports\", params={\"apiKey\": API_KEY})\nsports = response.json()\n\nesports = [s for s in sports if s[\"slug\"].startswith(\"esport\")]\nfor s in esports:\n    print(f\"{s['sportId']:>3}  {s['sportName']}\")\n\n# Output:\n# 16  ESport Dota\n# 17  ESport Counter-Strike\n# 18  ESport League of Legends\n# 56  ESport Call of Duty\n# 57  ESport Overwatch\n# 58  ESport Rainbow Six\n# 59  ESport Rocket League\n# 60  ESport StarCraft\n# 61  ESport Valorant\n# 62  ESport Arena of Valor\n# 63  ESport King of Glory\n# 65  ESport Honor of Kings<\/code><\/pre>\n<h3>Step 3: Find CS2 Matches with Odds<\/h3>\n<pre class=\"wp-block-code\"><code># Fetch CS2 fixtures for the next 7 days\nfrom datetime import datetime, timedelta\n\ntoday = datetime.now().strftime(\"%Y-%m-%d\")\nweek_out = (datetime.now() + timedelta(days=7)).strftime(\"%Y-%m-%d\")\n\nresponse = requests.get(f\"{BASE}\/fixtures\", params={\n    \"apiKey\": API_KEY,\n    \"sportId\": 17,          # CS2\n    \"from\": today,\n    \"to\": week_out,\n    \"hasOdds\": True          # Only fixtures with odds\n})\nfixtures = response.json()\n\nprint(f\"CS2 fixtures with odds: {len(fixtures)}\\n\")\nfor f in fixtures[:5]:\n    print(f\"{f['participant1Name']} vs {f['participant2Name']}\")\n    print(f\"  Tournament: {f['tournamentName']}\")\n    print(f\"  Fixture ID: {f['fixtureId']}\")\n    print(f\"  Start: {f['startTime']}\\n\")<\/code><\/pre>\n<h3>Step 4: Compare Odds Across Bookmakers<\/h3>\n<pre class=\"wp-block-code\"><code># Get odds for a specific fixture\nfixture_id = fixtures[0][\"fixtureId\"]\n\nresponse = requests.get(f\"{BASE}\/odds\", params={\n    \"apiKey\": API_KEY,\n    \"fixtureId\": fixture_id\n})\ndata = response.json()\n\nprint(f\"{data.get('participant1Name', 'Team 1')} vs {data.get('participant2Name', 'Team 2')}\\n\")\nprint(f\"{'Bookmaker':<20} {'Team 1':>8} {'Team 2':>8}\")\nprint(\"-\" * 38)\n\nfor slug, bk_data in data[\"bookmakerOdds\"].items():\n    markets = bk_data.get(\"markets\", {})\n    if \"171\" in markets:  # Match Winner market\n        outcomes = markets[\"171\"][\"outcomes\"]\n        p1 = outcomes.get(\"171\", {}).get(\"players\", {}).get(\"0\", {}).get(\"price\", \"\u2014\")\n        p2 = outcomes.get(\"172\", {}).get(\"players\", {}).get(\"0\", {}).get(\"price\", \"\u2014\")\n        print(f\"{slug:<20} {p1:>8} {p2:>8}\")<\/code><\/pre>\n<p>This prints something like:<\/p>\n<pre class=\"wp-block-code\"><code>Parivision vs Team Vitality\n\nBookmaker                Team 1   Team 2\n--------------------------------------\npinnacle                  1.303     3.44\nbetway                     4.40     1.17\nvbet                       1.33     3.10\npaddypower                 1.30     3.50\nroobet                     1.35     2.94\nbcgame                     1.33     3.10<\/code><\/pre>\n<h3>Step 5: Fetch Odds for Multiple Esports<\/h3>\n<pre class=\"wp-block-code\"><code># Scan all esports titles for upcoming matches\nESPORTS = {\n    16: \"Dota 2\",\n    17: \"CS2\",\n    18: \"League of Legends\",\n    61: \"Valorant\",\n}\n\nimport time\n\nfor sport_id, name in ESPORTS.items():\n    response = requests.get(f\"{BASE}\/fixtures\", params={\n        \"apiKey\": API_KEY,\n        \"sportId\": sport_id,\n        \"from\": today,\n        \"to\": week_out,\n        \"hasOdds\": True\n    })\n    fixtures = response.json()\n    print(f\"{name}: {len(fixtures)} fixtures with odds\")\n    time.sleep(2)  # Respect rate limits\n\n# Output (example):\n# Dota 2: 7 fixtures with odds\n# CS2: 27 fixtures with odds\n# League of Legends: 25 fixtures with odds\n# Valorant: 10 fixtures with odds<\/code><\/pre>\n<h2>Historical Esports Odds: Free Backtesting Data<\/h2>\n<p>Most APIs charge extra for historical data. OddsPapi includes it on the free tier \u2014 every odds movement, timestamped, for every bookmaker that priced the match.<\/p>\n<p>This is the data you need to backtest esports betting models: Did Pinnacle&#8217;s opening line predict the winner? How much did odds move after map vetoes? Where did the value sit before the market corrected?<\/p>\n<pre class=\"wp-block-code\"><code># Fetch historical odds for a CS2 match\nfixture_id = \"id1704591169167084\"  # PGL Major match\n\nresponse = requests.get(f\"{BASE}\/historical-odds\", params={\n    \"apiKey\": API_KEY,\n    \"fixtureId\": fixture_id,\n    \"bookmakers\": \"pinnacle\",    # Up to 3 bookmakers per request\n    \"marketId\": 171              # Match Winner\n})\ndata = response.json()\n\n# Historical odds are timestamped arrays\npinnacle = data[\"bookmakers\"][\"pinnacle\"][\"markets\"][\"171\"]\nteam1_history = pinnacle[\"outcomes\"][\"171\"][\"players\"][\"0\"]\n\nprint(f\"Pinnacle odds history ({len(team1_history)} snapshots):\\n\")\nfor snap in team1_history[:5]:\n    print(f\"  {snap['createdAt'][:19]}  \u2192  {snap['price']}\")<\/code><\/pre>\n<p>Output:<\/p>\n<pre class=\"wp-block-code\"><code>Pinnacle odds history (7 snapshots):\n\n  2026-02-22T04:18:46  \u2192  1.303\n  2026-02-22T04:18:41  \u2192  1.307\n  2026-02-22T04:17:52  \u2192  1.3\n  2026-02-22T04:17:52  \u2192  1.317\n  2026-02-22T04:17:51  \u2192  1.308<\/code><\/pre>\n<p>You get the full line movement history \u2014 from opening price to kickoff \u2014 for free. Compare this to The Odds API, where historical data requires a paid plan, or PandaScore, which doesn&#8217;t provide odds data at all.<\/p>\n<h2>Esports Odds API FAQ<\/h2>\n<p><script type=\"application\/ld+json\">\n{\n  \"@context\": \"https:\/\/schema.org\",\n  \"@type\": \"FAQPage\",\n  \"mainEntity\": [\n    {\n      \"@type\": \"Question\",\n      \"name\": \"Is the esports odds API free?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"Yes. OddsPapi's free tier includes odds from 350+ bookmakers across all esports titles \u2014 CS2, League of Legends, Dota 2, Valorant, Call of Duty, and Rocket League. Historical odds data is also included on the free tier.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"Which esports titles are covered?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"OddsPapi covers Counter-Strike 2 (CS2), League of Legends, Dota 2, Valorant, Call of Duty, Rocket League, Overwatch, Rainbow Six, StarCraft, Arena of Valor, King of Glory, and Honor of Kings. Each title has its own sport ID and tournament structure.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"Does the API include Pinnacle esports odds?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"Yes. OddsPapi includes Pinnacle odds for esports alongside esports specialists like GG.BET, Thunderpick, and Betway. Pinnacle odds are the industry benchmark for sharp pricing on CS2, LoL, and Dota 2 matches.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"What is the difference between an esports odds feed and an API?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"An odds feed typically refers to a real-time push-based data stream (WebSocket) that delivers odds updates as they happen. An API is a request-response interface where you poll for data. OddsPapi provides both: a REST API for polling (free tier) and a WebSocket feed for real-time streaming (Pro tier).\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"How fast are esports odds updates?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"Via the REST API, odds are updated within seconds of bookmaker changes. Via the WebSocket feed (Pro tier), updates are pushed in sub-second intervals. For pre-match analysis and line shopping, the REST API is sufficient. For live betting automation, use the WebSocket feed.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"Can I get BLAST Premier or IEM odds through the API?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"Yes. Major CS2 tournaments like BLAST Premier, IEM, ESL Pro League, and PGL Majors are covered with odds from 10-14 bookmakers per fixture. Use sportId=17 and filter by tournament to find specific event fixtures.\"\n      }\n    }\n  ]\n}\n<\/script><\/p>\n<h3>Is the esports odds API free?<\/h3>\n<p>Yes. OddsPapi&#8217;s free tier includes odds from 350+ bookmakers across all esports titles \u2014 CS2, League of Legends, Dota 2, Valorant, Call of Duty, and Rocket League. Historical odds data is also included for free.<\/p>\n<h3>Which esports titles are covered?<\/h3>\n<p>Counter-Strike 2 (CS2), League of Legends, Dota 2, Valorant, Call of Duty, Rocket League, Overwatch, Rainbow Six, StarCraft, Arena of Valor, King of Glory, and Honor of Kings. Each title has its own sport ID and tournament structure.<\/p>\n<h3>Does the API include Pinnacle esports odds?<\/h3>\n<p>Yes. OddsPapi includes Pinnacle odds for esports alongside specialists like GG.BET, Thunderpick, and Betway. Pinnacle is the industry benchmark for sharp esports pricing.<\/p>\n<h3>What&#8217;s the difference between an esports odds feed and an API?<\/h3>\n<p>An odds feed is a real-time push-based stream (WebSocket) that delivers updates as they happen. An API is request-response \u2014 you poll for data. OddsPapi provides both: a REST API (free tier) and a WebSocket feed (Pro tier).<\/p>\n<h3>How fast are esports odds updates?<\/h3>\n<p>REST API: seconds. WebSocket feed: sub-second. For pre-match line shopping and model building, REST is sufficient. For live betting automation during a CS2 match, use the WebSocket feed.<\/p>\n<h3>Can I get BLAST Premier or IEM odds through the API?<\/h3>\n<p>Yes. Major CS2 tournaments \u2014 BLAST Premier, IEM, ESL Pro League, PGL Majors \u2014 have odds from 10-14 bookmakers per fixture. Use <code>sportId=17<\/code> and filter fixtures by tournament.<\/p>\n<h2>Start Building<\/h2>\n<p>350+ bookmakers. CS2, LoL, Dota 2, Valorant, and more. Historical odds included. Free forever on the starter tier.<\/p>\n<p>Stop scraping. Stop paying enterprise rates for esports data you can get in 5 minutes.<\/p>\n<p style=\"text-align:center;margin-top:2rem;\"><a href=\"https:\/\/oddspapi.io\" style=\"background:#00d4aa;color:#000;padding:14px 32px;border-radius:6px;text-decoration:none;font-weight:bold;font-size:1.1rem;\">Get Your Free API Key \u2192<\/a><\/p>\n<p><!--\nFocus Keyphrase: esports odds api\nSEO Title: Esports Odds API: CS2, LoL & Dota 2 Betting Data from 350+ Bookmakers\nMeta Description: The only esports odds API with Pinnacle, GG.BET & 350+ bookmakers. Real-time CS2, LoL, Dota 2 odds feed. Free tier with historical data.\nSlug: esports-odds-api-guide-how-to-get-pinnacle-cs2-lol-data-for-free\n--><\/p>\n","protected":false},"excerpt":{"rendered":"<p>The only esports odds API with Pinnacle, GG.BET &#038; 350+ bookmakers. Real-time CS2, LoL, Dota 2 odds feed. Free tier with historical data.<\/p>\n","protected":false},"author":2,"featured_media":82,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7],"tags":[13,9,11,10],"class_list":["post-79","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-how-to-guides","tag-esports","tag-odds-api","tag-python","tag-sports-betting-api"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.4 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Esports Odds API: CS2, LoL &amp; Dota 2 Betting Data from 350+ Bookmakers | Odds API Development Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/oddspapi.io\/blog\/esports-odds-api-guide-how-to-get-pinnacle-cs2-lol-data-for-free\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Esports Odds API: CS2, LoL &amp; Dota 2 Betting Data from 350+ Bookmakers | Odds API Development Blog\" \/>\n<meta property=\"og:description\" content=\"The only esports odds API with Pinnacle, GG.BET &amp; 350+ bookmakers. Real-time CS2, LoL, Dota 2 odds feed. Free tier with historical data.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/oddspapi.io\/blog\/esports-odds-api-guide-how-to-get-pinnacle-cs2-lol-data-for-free\/\" \/>\n<meta property=\"og:site_name\" content=\"Odds API Development Blog\" \/>\n<meta property=\"article:published_time\" content=\"2025-12-08T17:12:54+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-02-22T15:36:48+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/oddspapi.io\/blog\/wp-content\/uploads\/2025\/12\/esports-odds-api-guide-1.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1376\" \/>\n\t<meta property=\"og:image:height\" content=\"768\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Odds API Writer\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/oddspapi.io\/logo-v2.webp\" \/>\n<meta name=\"twitter:creator\" content=\"@oddspapiapi\" \/>\n<meta name=\"twitter:site\" content=\"@oddspapiapi\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Odds API Writer\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/oddspapi.io\/blog\/esports-odds-api-guide-how-to-get-pinnacle-cs2-lol-data-for-free\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/oddspapi.io\/blog\/esports-odds-api-guide-how-to-get-pinnacle-cs2-lol-data-for-free\/\"},\"author\":{\"name\":\"Odds API Writer\",\"@id\":\"https:\/\/oddspapi.io\/blog\/#\/schema\/person\/b6f21e649c4f556f0a95c23a0f1efa13\"},\"headline\":\"Esports Odds API: CS2, LoL &#038; Dota 2 Betting Data from 350+ Bookmakers\",\"datePublished\":\"2025-12-08T17:12:54+00:00\",\"dateModified\":\"2026-02-22T15:36:48+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/oddspapi.io\/blog\/esports-odds-api-guide-how-to-get-pinnacle-cs2-lol-data-for-free\/\"},\"wordCount\":1457,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/oddspapi.io\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/oddspapi.io\/blog\/esports-odds-api-guide-how-to-get-pinnacle-cs2-lol-data-for-free\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/oddspapi.io\/blog\/wp-content\/uploads\/2025\/12\/esports-odds-api-guide-1.jpg\",\"keywords\":[\"Esports\",\"Odds API\",\"Python\",\"Sports Betting API\"],\"articleSection\":[\"How To Guides\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/oddspapi.io\/blog\/esports-odds-api-guide-how-to-get-pinnacle-cs2-lol-data-for-free\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/oddspapi.io\/blog\/esports-odds-api-guide-how-to-get-pinnacle-cs2-lol-data-for-free\/\",\"url\":\"https:\/\/oddspapi.io\/blog\/esports-odds-api-guide-how-to-get-pinnacle-cs2-lol-data-for-free\/\",\"name\":\"Esports Odds API: CS2, LoL & Dota 2 Betting Data from 350+ Bookmakers | Odds API Development Blog\",\"isPartOf\":{\"@id\":\"https:\/\/oddspapi.io\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/oddspapi.io\/blog\/esports-odds-api-guide-how-to-get-pinnacle-cs2-lol-data-for-free\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/oddspapi.io\/blog\/esports-odds-api-guide-how-to-get-pinnacle-cs2-lol-data-for-free\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/oddspapi.io\/blog\/wp-content\/uploads\/2025\/12\/esports-odds-api-guide-1.jpg\",\"datePublished\":\"2025-12-08T17:12:54+00:00\",\"dateModified\":\"2026-02-22T15:36:48+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/oddspapi.io\/blog\/esports-odds-api-guide-how-to-get-pinnacle-cs2-lol-data-for-free\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/oddspapi.io\/blog\/esports-odds-api-guide-how-to-get-pinnacle-cs2-lol-data-for-free\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/oddspapi.io\/blog\/esports-odds-api-guide-how-to-get-pinnacle-cs2-lol-data-for-free\/#primaryimage\",\"url\":\"https:\/\/oddspapi.io\/blog\/wp-content\/uploads\/2025\/12\/esports-odds-api-guide-1.jpg\",\"contentUrl\":\"https:\/\/oddspapi.io\/blog\/wp-content\/uploads\/2025\/12\/esports-odds-api-guide-1.jpg\",\"width\":1376,\"height\":768},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/oddspapi.io\/blog\/esports-odds-api-guide-how-to-get-pinnacle-cs2-lol-data-for-free\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/oddspapi.io\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Esports Odds API: CS2, LoL &#038; Dota 2 Betting Data from 350+ Bookmakers\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/oddspapi.io\/blog\/#website\",\"url\":\"https:\/\/oddspapi.io\/blog\/\",\"name\":\"OddsPapi\",\"description\":\"Sports Odds APIs Tutorials &amp; Guides\",\"publisher\":{\"@id\":\"https:\/\/oddspapi.io\/blog\/#organization\"},\"alternateName\":\"Odds Papi\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/oddspapi.io\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/oddspapi.io\/blog\/#organization\",\"name\":\"OddsPapi\",\"url\":\"https:\/\/oddspapi.io\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/oddspapi.io\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/oddspapi.io\/blog\/wp-content\/uploads\/2025\/11\/oddspapi.png\",\"contentUrl\":\"https:\/\/oddspapi.io\/blog\/wp-content\/uploads\/2025\/11\/oddspapi.png\",\"width\":135,\"height\":135,\"caption\":\"OddsPapi\"},\"image\":{\"@id\":\"https:\/\/oddspapi.io\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/x.com\/oddspapiapi\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/oddspapi.io\/blog\/#\/schema\/person\/b6f21e649c4f556f0a95c23a0f1efa13\",\"name\":\"Odds API Writer\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/oddspapi.io\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/33b204f24af3d02e35b25ae730c0536121ca6a783fdb196e7611c9e49fcd13eb?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/33b204f24af3d02e35b25ae730c0536121ca6a783fdb196e7611c9e49fcd13eb?s=96&d=mm&r=g\",\"caption\":\"Odds API Writer\"},\"url\":\"https:\/\/oddspapi.io\/blog\/author\/andy-lavelle\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Esports Odds API: CS2, LoL & Dota 2 Betting Data from 350+ Bookmakers | Odds API Development Blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/oddspapi.io\/blog\/esports-odds-api-guide-how-to-get-pinnacle-cs2-lol-data-for-free\/","og_locale":"en_US","og_type":"article","og_title":"Esports Odds API: CS2, LoL & Dota 2 Betting Data from 350+ Bookmakers | Odds API Development Blog","og_description":"The only esports odds API with Pinnacle, GG.BET & 350+ bookmakers. Real-time CS2, LoL, Dota 2 odds feed. Free tier with historical data.","og_url":"https:\/\/oddspapi.io\/blog\/esports-odds-api-guide-how-to-get-pinnacle-cs2-lol-data-for-free\/","og_site_name":"Odds API Development Blog","article_published_time":"2025-12-08T17:12:54+00:00","article_modified_time":"2026-02-22T15:36:48+00:00","og_image":[{"width":1376,"height":768,"url":"https:\/\/oddspapi.io\/blog\/wp-content\/uploads\/2025\/12\/esports-odds-api-guide-1.jpg","type":"image\/jpeg"}],"author":"Odds API Writer","twitter_card":"summary_large_image","twitter_image":"https:\/\/oddspapi.io\/logo-v2.webp","twitter_creator":"@oddspapiapi","twitter_site":"@oddspapiapi","twitter_misc":{"Written by":"Odds API Writer","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/oddspapi.io\/blog\/esports-odds-api-guide-how-to-get-pinnacle-cs2-lol-data-for-free\/#article","isPartOf":{"@id":"https:\/\/oddspapi.io\/blog\/esports-odds-api-guide-how-to-get-pinnacle-cs2-lol-data-for-free\/"},"author":{"name":"Odds API Writer","@id":"https:\/\/oddspapi.io\/blog\/#\/schema\/person\/b6f21e649c4f556f0a95c23a0f1efa13"},"headline":"Esports Odds API: CS2, LoL &#038; Dota 2 Betting Data from 350+ Bookmakers","datePublished":"2025-12-08T17:12:54+00:00","dateModified":"2026-02-22T15:36:48+00:00","mainEntityOfPage":{"@id":"https:\/\/oddspapi.io\/blog\/esports-odds-api-guide-how-to-get-pinnacle-cs2-lol-data-for-free\/"},"wordCount":1457,"commentCount":0,"publisher":{"@id":"https:\/\/oddspapi.io\/blog\/#organization"},"image":{"@id":"https:\/\/oddspapi.io\/blog\/esports-odds-api-guide-how-to-get-pinnacle-cs2-lol-data-for-free\/#primaryimage"},"thumbnailUrl":"https:\/\/oddspapi.io\/blog\/wp-content\/uploads\/2025\/12\/esports-odds-api-guide-1.jpg","keywords":["Esports","Odds API","Python","Sports Betting API"],"articleSection":["How To Guides"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/oddspapi.io\/blog\/esports-odds-api-guide-how-to-get-pinnacle-cs2-lol-data-for-free\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/oddspapi.io\/blog\/esports-odds-api-guide-how-to-get-pinnacle-cs2-lol-data-for-free\/","url":"https:\/\/oddspapi.io\/blog\/esports-odds-api-guide-how-to-get-pinnacle-cs2-lol-data-for-free\/","name":"Esports Odds API: CS2, LoL & Dota 2 Betting Data from 350+ Bookmakers | Odds API Development Blog","isPartOf":{"@id":"https:\/\/oddspapi.io\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/oddspapi.io\/blog\/esports-odds-api-guide-how-to-get-pinnacle-cs2-lol-data-for-free\/#primaryimage"},"image":{"@id":"https:\/\/oddspapi.io\/blog\/esports-odds-api-guide-how-to-get-pinnacle-cs2-lol-data-for-free\/#primaryimage"},"thumbnailUrl":"https:\/\/oddspapi.io\/blog\/wp-content\/uploads\/2025\/12\/esports-odds-api-guide-1.jpg","datePublished":"2025-12-08T17:12:54+00:00","dateModified":"2026-02-22T15:36:48+00:00","breadcrumb":{"@id":"https:\/\/oddspapi.io\/blog\/esports-odds-api-guide-how-to-get-pinnacle-cs2-lol-data-for-free\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/oddspapi.io\/blog\/esports-odds-api-guide-how-to-get-pinnacle-cs2-lol-data-for-free\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/oddspapi.io\/blog\/esports-odds-api-guide-how-to-get-pinnacle-cs2-lol-data-for-free\/#primaryimage","url":"https:\/\/oddspapi.io\/blog\/wp-content\/uploads\/2025\/12\/esports-odds-api-guide-1.jpg","contentUrl":"https:\/\/oddspapi.io\/blog\/wp-content\/uploads\/2025\/12\/esports-odds-api-guide-1.jpg","width":1376,"height":768},{"@type":"BreadcrumbList","@id":"https:\/\/oddspapi.io\/blog\/esports-odds-api-guide-how-to-get-pinnacle-cs2-lol-data-for-free\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/oddspapi.io\/blog\/"},{"@type":"ListItem","position":2,"name":"Esports Odds API: CS2, LoL &#038; Dota 2 Betting Data from 350+ Bookmakers"}]},{"@type":"WebSite","@id":"https:\/\/oddspapi.io\/blog\/#website","url":"https:\/\/oddspapi.io\/blog\/","name":"OddsPapi","description":"Sports Odds APIs Tutorials &amp; Guides","publisher":{"@id":"https:\/\/oddspapi.io\/blog\/#organization"},"alternateName":"Odds Papi","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/oddspapi.io\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/oddspapi.io\/blog\/#organization","name":"OddsPapi","url":"https:\/\/oddspapi.io\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/oddspapi.io\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/oddspapi.io\/blog\/wp-content\/uploads\/2025\/11\/oddspapi.png","contentUrl":"https:\/\/oddspapi.io\/blog\/wp-content\/uploads\/2025\/11\/oddspapi.png","width":135,"height":135,"caption":"OddsPapi"},"image":{"@id":"https:\/\/oddspapi.io\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/x.com\/oddspapiapi"]},{"@type":"Person","@id":"https:\/\/oddspapi.io\/blog\/#\/schema\/person\/b6f21e649c4f556f0a95c23a0f1efa13","name":"Odds API Writer","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/oddspapi.io\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/33b204f24af3d02e35b25ae730c0536121ca6a783fdb196e7611c9e49fcd13eb?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/33b204f24af3d02e35b25ae730c0536121ca6a783fdb196e7611c9e49fcd13eb?s=96&d=mm&r=g","caption":"Odds API Writer"},"url":"https:\/\/oddspapi.io\/blog\/author\/andy-lavelle\/"}]}},"_links":{"self":[{"href":"https:\/\/oddspapi.io\/blog\/wp-json\/wp\/v2\/posts\/79","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/oddspapi.io\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/oddspapi.io\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/oddspapi.io\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/oddspapi.io\/blog\/wp-json\/wp\/v2\/comments?post=79"}],"version-history":[{"count":8,"href":"https:\/\/oddspapi.io\/blog\/wp-json\/wp\/v2\/posts\/79\/revisions"}],"predecessor-version":[{"id":2474,"href":"https:\/\/oddspapi.io\/blog\/wp-json\/wp\/v2\/posts\/79\/revisions\/2474"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/oddspapi.io\/blog\/wp-json\/wp\/v2\/media\/82"}],"wp:attachment":[{"href":"https:\/\/oddspapi.io\/blog\/wp-json\/wp\/v2\/media?parent=79"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/oddspapi.io\/blog\/wp-json\/wp\/v2\/categories?post=79"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/oddspapi.io\/blog\/wp-json\/wp\/v2\/tags?post=79"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}