{"id":101,"date":"2026-01-10T16:27:35","date_gmt":"2026-01-10T16:27:35","guid":{"rendered":"https:\/\/oddspapi.io\/blog\/?p=101"},"modified":"2026-10-06T13:30:35","modified_gmt":"2026-10-06T13:30:35","slug":"singbet-api-asian-handicap-odds-guide","status":"publish","type":"post","link":"https:\/\/oddspapi.io\/blog\/singbet-api-asian-handicap-odds-guide\/","title":{"rendered":"Singbet (Crown) API: Find the Tournaments Its Handicap Leads"},"content":{"rendered":"<h2>Singbet API: Read Crown&#8217;s Prices from One Key<\/h2>\n<p>If you want Singbet prices in code, you need an agent account or a feed that already carries the book. OddsPapi carries Singbet (Crown in Asia) as the slug <code>singbet<\/code>, live and historical, in the same <code>\/v4\/odds<\/code> call as Pinnacle and SBOBet. The <a href=\"https:\/\/oddspapi.io\/sportsbooks\/singbet\">Singbet sportsbook page<\/a> lists the book.<\/p>\n<p>We measured what that feed holds on 6 October 2026, then pulled the closing line on 48 played fixtures. Singbet ships a narrow Asian handicap ladder. On Brazil&#8217;s Serie B and Mexico&#8217;s Liga de Expansion, its handicap closes tighter than Pinnacle&#8217;s. On the Premier League, Pinnacle wins. The four Python snippets below reproduce both results.<\/p>\n<h2>What the singbet Feed Holds<\/h2>\n<p>Census at 13:07 UTC on 6 October 2026: one upcoming fixture from each of 90 soccer tournaments, one call each with <code>bookmakers=singbet,pinnacle,sbobet<\/code>. Margins are the overround on active prices.<\/p>\n<figure class=\"wp-block-table\">\n<table>\n<thead>\n<tr>\n<th><\/th>\n<th>singbet<\/th>\n<th>pinnacle<\/th>\n<th>sbobet<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Tournaments priced (of 90)<\/td>\n<td>40<\/td>\n<td>52<\/td>\n<td>30<\/td>\n<\/tr>\n<tr>\n<td>Median markets per fixture<\/td>\n<td>14<\/td>\n<td>36.5<\/td>\n<td>16<\/td>\n<\/tr>\n<tr>\n<td>Median full-time Asian handicap rungs<\/td>\n<td>2<\/td>\n<td>9<\/td>\n<td>2<\/td>\n<\/tr>\n<tr>\n<td>Median 1X2 margin<\/td>\n<td>9.96%<\/td>\n<td>6.98%<\/td>\n<td>12.21%<\/td>\n<\/tr>\n<tr>\n<td>Median tightest Asian handicap margin<\/td>\n<td>4.24%<\/td>\n<td>5.11%<\/td>\n<td>3.88%<\/td>\n<\/tr>\n<tr>\n<td><code>liveOdds<\/code> in the catalogue<\/td>\n<td>true<\/td>\n<td>true<\/td>\n<td>false<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/figure>\n<p>Singbet priced the Championship, League One, J1 and J2, both Brazilian Serie A and B, Liga MX and Liga de Expansion MX, MLS, Serie A, the Bundesliga and Liga Portugal in this sample. On the Kazakhstan v Faroe Islands Nations League board, its 27 markets covered the 1X2, four full-time handicap rungs, goal totals, corners, correct score and the first-half versions.<\/p>\n<p>Singbet charges about 10% on the three-way and about 4% on its tightest handicap. SBOBet shows the same split, which our <a href=\"https:\/\/oddspapi.io\/blog\/sbobet-api-odds-access\/\">SBOBet API<\/a> post measured. Benchmark Singbet&#8217;s handicap, and ignore its three-way.<\/p>\n<p>On the live board, a price can sit for hours, so we kept only rungs where both books had repriced within the last two hours. On those, Singbet was tighter than Pinnacle on 33 of 46 shared rungs and tighter than SBOBet on 17 of 20. Most of that sample is second-tier football several days out, so we checked it against the close.<\/p>\n<h2>Where Singbet&#8217;s Handicap Beats Pinnacle at the Close<\/h2>\n<p>The closing price is the last active snapshot before kick-off, from <code>\/v4\/historical-odds<\/code>. We pulled two samples of 24 played fixtures each and compared margins rung by rung where both books quoted the same line.<\/p>\n<figure class=\"wp-block-table\">\n<table>\n<thead>\n<tr>\n<th>Closing line<\/th>\n<th>EPL, Serie A, Bundesliga, Championship (12-20 Sep 2026)<\/th>\n<th>Serie B (BR), Liga de Expansion MX, MLS, CPL, Division Intermedia (2-5 Oct 2026)<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Shared rungs where singbet closed tighter<\/td>\n<td>21 of 95<\/td>\n<td><strong>40 of 49<\/strong><\/td>\n<\/tr>\n<tr>\n<td>Median singbet minus pinnacle margin<\/td>\n<td>+0.30 pts<\/td>\n<td>-0.42 pts<\/td>\n<\/tr>\n<tr>\n<td>Median rungs at close (singbet \/ pinnacle)<\/td>\n<td>4 \/ 9<\/td>\n<td>2 \/ 9<\/td>\n<\/tr>\n<tr>\n<td>Median tightest AH margin (singbet \/ pinnacle \/ sbobet)<\/td>\n<td>2.45% \/ 2.03% \/ 2.02%<\/td>\n<td>2.71% \/ 3.87% \/ 3.44%<\/td>\n<\/tr>\n<tr>\n<td>Median 1X2 margin (singbet \/ pinnacle \/ sbobet)<\/td>\n<td>4.28% \/ 2.97% \/ 5.31%<\/td>\n<td>9.78% \/ 5.64% \/ 12.06%<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/figure>\n<p>The second sample splits cleanly by tournament. Singbet closed tighter on 22 of 26 shared rungs in Brasileiro Serie B and 12 of 15 in Liga de Expansion MX. In the first sample, Pinnacle was tighter on every shared rung of 13 of the 24 fixtures, including Tottenham v Aston Villa and four other Premier League matches.<\/p>\n<p>So pick the anchor per tournament. On the top European leagues, de-vig Pinnacle. On Serie B and Liga de Expansion, read Singbet&#8217;s handicap as the sharper line, and keep Pinnacle for the rungs Singbet does not quote. Our <a href=\"https:\/\/oddspapi.io\/blog\/consensus-odds-fair-odds-calculator-python\/\">consensus odds<\/a> guide covers the de-vig step.<\/p>\n<h2>Asian Handicap in Two Minutes<\/h2>\n<p>An Asian handicap gives one participant a goal head start and removes the draw, so every market has two outcomes. In the OddsPapi catalogue, the <code>handicap<\/code> value on a market belongs to participant 1: market <code>1070<\/code> is participant 1 at -0.25 and participant 2 at +0.25.<\/p>\n<p>Half-goal lines (-0.5, -1.5) settle as a plain win or loss. Whole-goal lines (0, -1) refund the stake on an exact result. Quarter lines split the stake across the two neighbouring lines. Home -0.25 at 1.95 for $100 is $50 on Home 0 and $50 on Home -0.5:<\/p>\n<figure class=\"wp-block-table\">\n<table>\n<thead>\n<tr>\n<th>Result<\/th>\n<th>$50 on Home 0<\/th>\n<th>$50 on Home -0.5<\/th>\n<th>Return on $100<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Home wins<\/td>\n<td>Win, $97.50 back<\/td>\n<td>Win, $97.50 back<\/td>\n<td><strong>$195<\/strong><\/td>\n<\/tr>\n<tr>\n<td>Draw<\/td>\n<td>Push, $50 back<\/td>\n<td>Loss<\/td>\n<td><strong>$50<\/strong> (half loss)<\/td>\n<\/tr>\n<tr>\n<td>Away wins<\/td>\n<td>Loss<\/td>\n<td>Loss<\/td>\n<td><strong>$0<\/strong><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/figure>\n<p>The <a href=\"https:\/\/oddspapi.io\/blog\/asian-handicap-calculator-python\/\">Asian handicap calculator<\/a> settles every quarter line in Python, and <a href=\"https:\/\/oddspapi.io\/blog\/why-sharps-bet-asian-handicap\/\">why sharps bet Asian handicap<\/a> measures the margin gap across books.<\/p>\n<h2>Python Tutorial: Pull Singbet&#8217;s Handicap Next to Pinnacle&#8217;s<\/h2>\n<h3>Step 1: Resolve the Asian Handicap Market IDs<\/h3>\n<p>Get a key at <a href=\"https:\/\/oddspapi.io\/en\/sign-up\">oddspapi.io<\/a>. The key goes in the <code>apiKey<\/code> query parameter, never a header. Resolve the market IDs by name from <code>\/v4\/markets<\/code>, and keep the outcome names: the catalogue lists outcome <code>2<\/code> before outcome <code>1<\/code> on some IDs, so a script that reads prices in dict order swaps the participants.<\/p>\n<pre class=\"wp-block-code\"><code>import time\nimport requests\n\nAPI_KEY = \"YOUR_API_KEY\"\nBASE_URL = \"https:\/\/api.oddspapi.io\/v4\"\n\ndef get(path, **params):\n    \"\"\"GET with the key as a query parameter; waits out a 429 and retries.\"\"\"\n    params[\"apiKey\"] = API_KEY\n    for _ in range(5):\n        r = requests.get(f\"{BASE_URL}\/{path}\", params=params, timeout=60)\n        if r.status_code != 429:\n            return r\n        time.sleep(r.json().get(\"error\", {}).get(\"retryMs\", 2000) \/ 1000 + 0.5)\n    return r\n\n# Resolve every full-time Asian Handicap market ID by NAME, never a hardcoded list.\nmarkets = get(\"markets\").json()\nAH = {}  # marketId -&gt; (handicap, {outcomeId: \"1\" or \"2\"})\nfor m in markets:\n    if (m[\"sportId\"] == 10 and m[\"marketName\"] == \"Asian Handicap\"\n            and m[\"period\"] == \"fulltime\"):\n        AH[str(m[\"marketId\"])] = (\n            m[\"handicap\"],\n            {str(o[\"outcomeId\"]): o[\"outcomeName\"] for o in m[\"outcomes\"]},\n        )\n\nprint(f\"{len(AH)} full-time Asian Handicap market IDs\")\nfor mid in [\"1068\", \"1070\", \"1072\", \"1074\"]:\n    print(mid, AH[mid])<\/code><\/pre>\n<p>Output:<\/p>\n<pre class=\"wp-block-code\"><code>49 full-time Asian Handicap market IDs\n1068 (-0.5, {'1069': '2', '1068': '1'})\n1070 (-0.25, {'1071': '2', '1070': '1'})\n1072 (0.0, {'1072': '1', '1073': '2'})\n1074 (0.25, {'1074': '1', '1075': '2'})<\/code><\/pre>\n<h3>Step 2: Find a Fixture Both Books Price<\/h3>\n<p>Pass the slugs you want in <code>bookmakers<\/code>. The call returns only those books, so the payload stays small, and a slug that is missing from a 200 response means that book has not priced the fixture yet.<\/p>\n<pre class=\"wp-block-code\"><code># Reuses get() from Step 1.\nfrom datetime import date, timedelta\n\n# Brasileiro Serie B is tournamentId 390. Ask for the two books by slug.\ntoday = date.today()\nfixtures = get(\"fixtures\", sportId=10, tournamentId=390,\n               **{\"from\": today.isoformat(),\n                  \"to\": (today + timedelta(days=8)).isoformat()}).json()\n\nboard, fixture = None, None\nfor f in fixtures:\n    r = get(\"odds\", fixtureId=f[\"fixtureId\"], bookmakers=\"singbet,pinnacle\")\n    books = r.json().get(\"bookmakerOdds\", {}) if r.status_code == 200 else {}\n    if \"singbet\" in books and \"pinnacle\" in books:\n        board, fixture = books, f\n        break\n    time.sleep(1.0)\n\nif fixture is None:\n    raise SystemExit(\"No Serie B fixture in the window carries both books yet.\")\n\nprint(fixture[\"participant1Name\"], \"v\", fixture[\"participant2Name\"], fixture[\"startTime\"])\nfor slug, book in board.items():\n    print(f\"{slug:9} {len(book['markets']):3} markets  suspended={book['suspended']}\")<\/code><\/pre>\n<p>Output (6 October 2026):<\/p>\n<pre class=\"wp-block-code\"><code>SC Recife PE v Sao Bernardo FC 2026-10-06T22:30:00.000Z\npinnacle   95 markets  suspended=False\nsingbet    14 markets  suspended=False<\/code><\/pre>\n<h3>Step 3: Compare the Two Ladders Rung by Rung<\/h3>\n<p>Read each price&#8217;s <code>active<\/code> flag and its outcome name. The live endpoint&#8217;s <code>players[\"0\"]<\/code> is a single quote.<\/p>\n<pre class=\"wp-block-code\"><code># Reuses AH from Step 1 and board from Step 2.\ndef ah_ladder(book):\n    \"\"\"{handicap: (price on participant 1, price on participant 2)}, active prices only.\"\"\"\n    ladder = {}\n    for mid, market in book[\"markets\"].items():\n        if mid not in AH:\n            continue\n        handicap, names = AH[mid]\n        legs = {}\n        for oid, outcome in market[\"outcomes\"].items():\n            quote = outcome[\"players\"][\"0\"]\n            if quote[\"active\"]:\n                legs[names[oid]] = quote[\"price\"]   # read the name, not the dict order\n        if \"1\" in legs and \"2\" in legs:\n            ladder[handicap] = (legs[\"1\"], legs[\"2\"])\n    return ladder\n\ndef margin(p1, p2):\n    return (1 \/ p1 + 1 \/ p2 - 1) * 100\n\nsing, pin = ah_ladder(board[\"singbet\"]), ah_ladder(board[\"pinnacle\"])\nprint(f\"singbet rungs: {len(sing)}   pinnacle rungs: {len(pin)}\")\nprint(f\"{'line':&gt;6} | {'singbet':^17} {'margin':&gt;6} | {'pinnacle':^17} {'margin':&gt;6}\")\nfor h in sorted(set(sing) &amp; set(pin)):\n    s, p = sing[h], pin[h]\n    print(f\"{h:+6.2f} | {s[0]:7.3f} \/ {s[1]:7.3f} {margin(*s):5.2f}% | \"\n          f\"{p[0]:7.3f} \/ {p[1]:7.3f} {margin(*p):5.2f}%\")<\/code><\/pre>\n<p>Output:<\/p>\n<pre class=\"wp-block-code\"><code>singbet rungs: 2   pinnacle rungs: 9\n  line |      singbet      margin |     pinnacle      margin\n -0.75 |   2.042 \/   1.870  2.45% |   2.030 \/   1.862  2.97%\n -0.50 |   1.760 \/   2.176  2.77% |   1.775 \/   2.120  3.51%<\/code><\/pre>\n<p>Singbet quotes two rungs here, and both are tighter than Pinnacle&#8217;s on the same line. Pinnacle&#8217;s other seven rungs are the ladder Singbet does not post.<\/p>\n<h3>Step 4: Score the Closing Line on Played Fixtures<\/h3>\n<p>Historical odds are free. <code>\/v4\/historical-odds<\/code> takes up to three bookmakers per call, and its <code>players[\"0\"]<\/code> is a list of snapshots. Wait about 4.6 seconds between calls.<\/p>\n<pre class=\"wp-block-code\"><code># Reuses get(), AH and time from Step 1, margin() from Step 3.\nfrom datetime import datetime\n\ndef ts(s):\n    return datetime.fromisoformat(s.replace(\"Z\", \"+00:00\"))\n\ndef closing_ladder(book, kickoff):\n    \"\"\"Last ACTIVE snapshot before kick-off, per rung. Historical players[\"0\"] is a list.\"\"\"\n    ladder = {}\n    for mid, market in book[\"markets\"].items():\n        if mid not in AH:\n            continue\n        handicap, names = AH[mid]\n        legs = {}\n        for oid, outcome in market[\"outcomes\"].items():\n            pre = [s for s in outcome[\"players\"].get(\"0\", []) if ts(s[\"createdAt\"]) &lt; kickoff]\n            if pre and pre[-1][\"active\"]:\n                legs[names[oid]] = pre[-1][\"price\"]\n        if \"1\" in legs and \"2\" in legs:\n            ladder[handicap] = margin(legs[\"1\"], legs[\"2\"])\n    return ladder\n\nPLAYED = [\"id1000039068823328\",   # Brasileiro Serie B, 2 Oct 2026\n          \"id1000001772221290\"]   # Premier League, 20 Sep 2026\nfor fid in PLAYED:\n    fx = get(\"fixture\", fixtureId=fid).json()\n    kickoff = ts(fx[\"startTime\"])\n    time.sleep(1.0)\n    hist = get(\"historical-odds\", fixtureId=fid, bookmakers=\"singbet,pinnacle,sbobet\").json()\n    close = {slug: closing_ladder(b, kickoff) for slug, b in hist[\"bookmakers\"].items()}\n    print(f\"\\n{fx['participant1Name']} v {fx['participant2Name']}  (closing margin %)\")\n    print(f\"{'line':&gt;6}  {'singbet':&gt;8} {'pinnacle':&gt;9} {'sbobet':&gt;7}\")\n    for h in sorted(set(close[\"singbet\"]) &amp; set(close[\"pinnacle\"])):\n        sb = close.get(\"sbobet\", {}).get(h)\n        print(f\"{h:+6.2f}  {close['singbet'][h]:7.2f}% {close['pinnacle'][h]:8.2f}% \"\n              f\"{(f'{sb:6.2f}%' if sb is not None else '      -')}\")\n    time.sleep(4.6)<\/code><\/pre>\n<p>Output:<\/p>\n<pre class=\"wp-block-code\"><code>Sao Bernardo FC v CR Brasil AL  (closing margin %)\n  line   singbet  pinnacle  sbobet\n -0.25     3.38%     3.67%       -\n +0.00     2.92%     3.50%   3.64%\n +0.25     2.54%     2.78%   3.22%\n +0.50     3.28%     3.46%       -\n\nTottenham Hotspur v Aston Villa  (closing margin %)\n  line   singbet  pinnacle  sbobet\n -1.00     3.25%     2.71%   2.88%\n -0.75     2.77%     2.61%   2.23%\n -0.50     2.36%     1.95%   2.00%\n -0.25     3.02%     2.40%   2.45%<\/code><\/pre>\n<p>The same code gives opposite answers on the two fixtures: Singbet closed tighter on all four shared rungs in Brazil and wider on all four in London.<\/p>\n<h2>What to Build with the singbet Feed<\/h2>\n<ul>\n<li><strong>A per-tournament anchor table.<\/strong> Run Step 4 over a season of played fixtures per tournament, count which book closes tighter, and store the winner. Our <a href=\"https:\/\/oddspapi.io\/blog\/backtest-betting-model-free-historical-odds\/\">backtesting guide<\/a> shows the season loop.<\/li>\n<li><strong>Closing line value against Singbet.<\/strong> On the tournaments where Singbet wins the close, score your bets against its closing handicap rather than Pinnacle&#8217;s. The <a href=\"https:\/\/oddspapi.io\/blog\/expected-value-betting-python-ev-clv\/\">EV and CLV guide<\/a> has the scoring code.<\/li>\n<li><strong>A cross-book handicap scan.<\/strong> Line Singbet up against every other book that quotes the same rung with the <a href=\"https:\/\/oddspapi.io\/blog\/asian-handicap-api-cross-book-odds\/\">Asian handicap API<\/a> guide.<\/li>\n<li><strong>A live handicap screen.<\/strong> Swap Step 2&#8217;s polling for the <a href=\"https:\/\/oddspapi.io\/blog\/websocket-odds-api-real-time-betting-data\/\">WebSocket feed<\/a> and push each Singbet reprice the moment it lands.<\/li>\n<\/ul>\n<h2>Frequently Asked Questions<\/h2>\n<h3>How do I get Singbet odds in Python?<\/h3>\n<p>Call \/v4\/odds with bookmakers=singbet and a fixtureId, using an OddsPapi API key as the apiKey query parameter. Add pinnacle and sbobet to the same parameter to read all three Asian books in one call.<\/p>\n<h3>Is Singbet sharper than Pinnacle?<\/h3>\n<p>It depends on the tournament. On 24 played fixtures in Brasileiro Serie B, Liga de Expansion MX, MLS, the Canadian Premier League and Paraguay&#x27;s Division Intermedia, Singbet&#x27;s Asian handicap closed tighter than Pinnacle&#x27;s on 40 of 49 shared rungs. On 24 Premier League, Serie A, Bundesliga and Championship fixtures, Pinnacle closed tighter on 74 of 95.<\/p>\n<h3>How many Asian handicap lines does Singbet quote?<\/h3>\n<p>On the live board of 6 October 2026, Singbet quoted a median of 2 full-time Asian handicap rungs per fixture around the main line; Pinnacle quoted 9. At the close of 24 top-flight European fixtures, Singbet carried 3 to 6 rungs.<\/p>\n<h3>Can I get historical Singbet odds?<\/h3>\n<p>Yes. \/v4\/historical-odds returns every Singbet snapshot on a played fixture, with up to three bookmakers per call, on the free tier. The closing price is the last active snapshot before kick-off.<\/p>\n<h3>What is the Singbet bookmaker slug?<\/h3>\n<p>The slug is singbet, listed in \/v4\/bookmakers as SingBet with liveOdds true. Pinnacle is pinnacle and SBOBet is sbobet.<\/p>\n<h2>Get Started<\/h2>\n<p>Every call in this guide runs on the free key: Singbet, Pinnacle and SBOBet beside 350+ other bookmakers, free historical odds for the closing line in Step 4, and native Asian handicap markets with the line on every market ID. <a href=\"https:\/\/oddspapi.io\/en\/sign-up\">Get a free API key<\/a> and run Step 3 on the next Serie B round.<\/p>\n<p><script type=\"application\/ld+json\">\n{\n  \"@context\": \"https:\/\/schema.org\",\n  \"@type\": \"FAQPage\",\n  \"mainEntity\": [\n    {\n      \"@type\": \"Question\",\n      \"name\": \"How do I get Singbet odds in Python?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"Call \/v4\/odds with bookmakers=singbet and a fixtureId, using an OddsPapi API key as the apiKey query parameter. Add pinnacle and sbobet to the same parameter to read all three Asian books in one call.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"Is Singbet sharper than Pinnacle?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"It depends on the tournament. On 24 played fixtures in Brasileiro Serie B, Liga de Expansion MX, MLS, the Canadian Premier League and Paraguay's Division Intermedia, Singbet's Asian handicap closed tighter than Pinnacle's on 40 of 49 shared rungs. On 24 Premier League, Serie A, Bundesliga and Championship fixtures, Pinnacle closed tighter on 74 of 95.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"How many Asian handicap lines does Singbet quote?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"On the live board of 6 October 2026, Singbet quoted a median of 2 full-time Asian handicap rungs per fixture around the main line; Pinnacle quoted 9. At the close of 24 top-flight European fixtures, Singbet carried 3 to 6 rungs.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"Can I get historical Singbet odds?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"Yes. \/v4\/historical-odds returns every Singbet snapshot on a played fixture, with up to three bookmakers per call, on the free tier. The closing price is the last active snapshot before kick-off.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"What is the Singbet bookmaker slug?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"The slug is singbet, listed in \/v4\/bookmakers as SingBet with liveOdds true. Pinnacle is pinnacle and SBOBet is sbobet.\"\n      }\n    }\n  ]\n}\n<\/script><\/p>\n<p><!--\nFocus Keyphrase: singbet api\nSEO Title: Singbet (Crown) API: Find the Tournaments Its Handicap Leads\nMeta Description: Singbet API prices closed tighter than Pinnacle on 34 of 41 Asian handicap rungs in Brazil's Serie B and Liga de Expansion MX. Pinnacle took the EPL.\nSlug: singbet-api-asian-handicap-odds-guide\n--><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Singbet API prices closed tighter than Pinnacle on 34 of 41 Asian handicap rungs in Brazil&#8217;s Serie B and Liga de Expansion MX. Pinnacle took the EPL.<\/p>\n","protected":false},"author":2,"featured_media":104,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7],"tags":[24,4,9,11,107,10],"class_list":["post-101","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-how-to-guides","tag-asian-handicap","tag-historical-odds","tag-odds-api","tag-python","tag-singbet","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>Singbet (Crown) API: Find the Tournaments Its Handicap Leads | OddsPapi Blog<\/title>\n<meta name=\"description\" content=\"Need access to the Singbet (Crown) API? Skip the agent requirements. Learn how to fetch real-time Asian Handicap odds from Singbet using Oddspapi.\" \/>\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\/singbet-api-asian-handicap-odds-guide\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Singbet (Crown) API: Find the Tournaments Its Handicap Leads | OddsPapi Blog\" \/>\n<meta property=\"og:description\" content=\"Need access to the Singbet (Crown) API? Skip the agent requirements. Learn how to fetch real-time Asian Handicap odds from Singbet using Oddspapi.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/oddspapi.io\/blog\/singbet-api-asian-handicap-odds-guide\/\" \/>\n<meta property=\"og:site_name\" content=\"OddsPapi Blog\" \/>\n<meta property=\"article:published_time\" content=\"2026-01-10T16:27:35+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-10-06T13:30:35+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/oddspapi.io\/blog\/wp-content\/uploads\/2026\/01\/singbet-api-access.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1584\" \/>\n\t<meta property=\"og:image:height\" content=\"672\" \/>\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=\"7 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/oddspapi.io\/blog\/singbet-api-asian-handicap-odds-guide\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/oddspapi.io\/blog\/singbet-api-asian-handicap-odds-guide\/\"},\"author\":{\"name\":\"Odds API Writer\",\"@id\":\"https:\/\/oddspapi.io\/blog\/#\/schema\/person\/b6f21e649c4f556f0a95c23a0f1efa13\"},\"headline\":\"Singbet (Crown) API: Find the Tournaments Its Handicap Leads\",\"datePublished\":\"2026-01-10T16:27:35+00:00\",\"dateModified\":\"2026-10-06T13:30:35+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/oddspapi.io\/blog\/singbet-api-asian-handicap-odds-guide\/\"},\"wordCount\":1261,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/oddspapi.io\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/oddspapi.io\/blog\/singbet-api-asian-handicap-odds-guide\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/oddspapi.io\/blog\/wp-content\/uploads\/2026\/01\/singbet-api-access.jpg\",\"keywords\":[\"Asian Handicap\",\"historical odds\",\"Odds API\",\"Python\",\"Singbet\",\"Sports Betting API\"],\"articleSection\":[\"How To Guides\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/oddspapi.io\/blog\/singbet-api-asian-handicap-odds-guide\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/oddspapi.io\/blog\/singbet-api-asian-handicap-odds-guide\/\",\"url\":\"https:\/\/oddspapi.io\/blog\/singbet-api-asian-handicap-odds-guide\/\",\"name\":\"Singbet (Crown) API: Find the Tournaments Its Handicap Leads | OddsPapi Blog\",\"isPartOf\":{\"@id\":\"https:\/\/oddspapi.io\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/oddspapi.io\/blog\/singbet-api-asian-handicap-odds-guide\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/oddspapi.io\/blog\/singbet-api-asian-handicap-odds-guide\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/oddspapi.io\/blog\/wp-content\/uploads\/2026\/01\/singbet-api-access.jpg\",\"datePublished\":\"2026-01-10T16:27:35+00:00\",\"dateModified\":\"2026-10-06T13:30:35+00:00\",\"description\":\"Need access to the Singbet (Crown) API? Skip the agent requirements. Learn how to fetch real-time Asian Handicap odds from Singbet using Oddspapi.\",\"breadcrumb\":{\"@id\":\"https:\/\/oddspapi.io\/blog\/singbet-api-asian-handicap-odds-guide\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/oddspapi.io\/blog\/singbet-api-asian-handicap-odds-guide\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/oddspapi.io\/blog\/singbet-api-asian-handicap-odds-guide\/#primaryimage\",\"url\":\"https:\/\/oddspapi.io\/blog\/wp-content\/uploads\/2026\/01\/singbet-api-access.jpg\",\"contentUrl\":\"https:\/\/oddspapi.io\/blog\/wp-content\/uploads\/2026\/01\/singbet-api-access.jpg\",\"width\":1584,\"height\":672},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/oddspapi.io\/blog\/singbet-api-asian-handicap-odds-guide\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/oddspapi.io\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Singbet (Crown) API: Find the Tournaments Its Handicap Leads\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/oddspapi.io\/blog\/#website\",\"url\":\"https:\/\/oddspapi.io\/blog\/\",\"name\":\"OddsPapi\",\"description\":\"Sports Odds API 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":"Singbet (Crown) API: Find the Tournaments Its Handicap Leads | OddsPapi Blog","description":"Need access to the Singbet (Crown) API? Skip the agent requirements. Learn how to fetch real-time Asian Handicap odds from Singbet using Oddspapi.","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\/singbet-api-asian-handicap-odds-guide\/","og_locale":"en_US","og_type":"article","og_title":"Singbet (Crown) API: Find the Tournaments Its Handicap Leads | OddsPapi Blog","og_description":"Need access to the Singbet (Crown) API? Skip the agent requirements. Learn how to fetch real-time Asian Handicap odds from Singbet using Oddspapi.","og_url":"https:\/\/oddspapi.io\/blog\/singbet-api-asian-handicap-odds-guide\/","og_site_name":"OddsPapi Blog","article_published_time":"2026-01-10T16:27:35+00:00","article_modified_time":"2026-10-06T13:30:35+00:00","og_image":[{"width":1584,"height":672,"url":"https:\/\/oddspapi.io\/blog\/wp-content\/uploads\/2026\/01\/singbet-api-access.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":"7 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/oddspapi.io\/blog\/singbet-api-asian-handicap-odds-guide\/#article","isPartOf":{"@id":"https:\/\/oddspapi.io\/blog\/singbet-api-asian-handicap-odds-guide\/"},"author":{"name":"Odds API Writer","@id":"https:\/\/oddspapi.io\/blog\/#\/schema\/person\/b6f21e649c4f556f0a95c23a0f1efa13"},"headline":"Singbet (Crown) API: Find the Tournaments Its Handicap Leads","datePublished":"2026-01-10T16:27:35+00:00","dateModified":"2026-10-06T13:30:35+00:00","mainEntityOfPage":{"@id":"https:\/\/oddspapi.io\/blog\/singbet-api-asian-handicap-odds-guide\/"},"wordCount":1261,"commentCount":0,"publisher":{"@id":"https:\/\/oddspapi.io\/blog\/#organization"},"image":{"@id":"https:\/\/oddspapi.io\/blog\/singbet-api-asian-handicap-odds-guide\/#primaryimage"},"thumbnailUrl":"https:\/\/oddspapi.io\/blog\/wp-content\/uploads\/2026\/01\/singbet-api-access.jpg","keywords":["Asian Handicap","historical odds","Odds API","Python","Singbet","Sports Betting API"],"articleSection":["How To Guides"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/oddspapi.io\/blog\/singbet-api-asian-handicap-odds-guide\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/oddspapi.io\/blog\/singbet-api-asian-handicap-odds-guide\/","url":"https:\/\/oddspapi.io\/blog\/singbet-api-asian-handicap-odds-guide\/","name":"Singbet (Crown) API: Find the Tournaments Its Handicap Leads | OddsPapi Blog","isPartOf":{"@id":"https:\/\/oddspapi.io\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/oddspapi.io\/blog\/singbet-api-asian-handicap-odds-guide\/#primaryimage"},"image":{"@id":"https:\/\/oddspapi.io\/blog\/singbet-api-asian-handicap-odds-guide\/#primaryimage"},"thumbnailUrl":"https:\/\/oddspapi.io\/blog\/wp-content\/uploads\/2026\/01\/singbet-api-access.jpg","datePublished":"2026-01-10T16:27:35+00:00","dateModified":"2026-10-06T13:30:35+00:00","description":"Need access to the Singbet (Crown) API? Skip the agent requirements. Learn how to fetch real-time Asian Handicap odds from Singbet using Oddspapi.","breadcrumb":{"@id":"https:\/\/oddspapi.io\/blog\/singbet-api-asian-handicap-odds-guide\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/oddspapi.io\/blog\/singbet-api-asian-handicap-odds-guide\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/oddspapi.io\/blog\/singbet-api-asian-handicap-odds-guide\/#primaryimage","url":"https:\/\/oddspapi.io\/blog\/wp-content\/uploads\/2026\/01\/singbet-api-access.jpg","contentUrl":"https:\/\/oddspapi.io\/blog\/wp-content\/uploads\/2026\/01\/singbet-api-access.jpg","width":1584,"height":672},{"@type":"BreadcrumbList","@id":"https:\/\/oddspapi.io\/blog\/singbet-api-asian-handicap-odds-guide\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/oddspapi.io\/blog\/"},{"@type":"ListItem","position":2,"name":"Singbet (Crown) API: Find the Tournaments Its Handicap Leads"}]},{"@type":"WebSite","@id":"https:\/\/oddspapi.io\/blog\/#website","url":"https:\/\/oddspapi.io\/blog\/","name":"OddsPapi","description":"Sports Odds API 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\/101","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=101"}],"version-history":[{"count":12,"href":"https:\/\/oddspapi.io\/blog\/wp-json\/wp\/v2\/posts\/101\/revisions"}],"predecessor-version":[{"id":4812,"href":"https:\/\/oddspapi.io\/blog\/wp-json\/wp\/v2\/posts\/101\/revisions\/4812"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/oddspapi.io\/blog\/wp-json\/wp\/v2\/media\/104"}],"wp:attachment":[{"href":"https:\/\/oddspapi.io\/blog\/wp-json\/wp\/v2\/media?parent=101"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/oddspapi.io\/blog\/wp-json\/wp\/v2\/categories?post=101"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/oddspapi.io\/blog\/wp-json\/wp\/v2\/tags?post=101"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}