{"id":2839,"date":"2026-04-21T10:00:00","date_gmt":"2026-04-21T10:00:00","guid":{"rendered":"https:\/\/oddspapi.io\/blog\/?p=2839"},"modified":"2026-04-11T17:06:38","modified_gmt":"2026-04-11T17:06:38","slug":"prophet-exchange-api-us-regulated","status":"publish","type":"post","link":"https:\/\/oddspapi.io\/blog\/prophet-exchange-api-us-regulated\/","title":{"rendered":"ProphetX API: US-Regulated P2P Sports Betting Data (Python)"},"content":{"rendered":"<h2>The ProphetX API Problem: Regulated, But Walled Off<\/h2>\n<p>Prophet Exchange (ProphetX) is the rare thing the US sports betting market was missing: a fully-licensed, peer-to-peer betting exchange. No crypto, no offshore, no VPN. Real USD, real New Jersey license, real order book. If you&#8217;re trading US markets and you want exchange-style back\/lay pricing, ProphetX is basically the only game in town.<\/p>\n<p>It&#8217;s also a closed API. ProphetX doesn&#8217;t publish a public developer portal, there&#8217;s no self-serve key, and the partner integration path runs through <a href=\"https:\/\/www.prophetx.co\/affiliates\" rel=\"noopener\" target=\"_blank\">their affiliate team<\/a>. That&#8217;s fine if you&#8217;re a licensed operator. It&#8217;s a brick wall if you&#8217;re one developer trying to backtest a value-betting model on weekend NBA.<\/p>\n<figure class=\"wp-block-table\">\n<table>\n<thead>\n<tr>\n<th>Requirement<\/th>\n<th>Reality<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><strong>Public API Docs<\/strong><\/td>\n<td>None. Integration is partner-only.<\/td>\n<\/tr>\n<tr>\n<td><strong>Account<\/strong><\/td>\n<td>US-state-verified Prophet account required<\/td>\n<\/tr>\n<tr>\n<td><strong>Access<\/strong><\/td>\n<td>Affiliate \/ B2B partnership application<\/td>\n<\/tr>\n<tr>\n<td><strong>Geography<\/strong><\/td>\n<td>Restricted to licensed US states only<\/td>\n<\/tr>\n<tr>\n<td><strong>Rate Limits<\/strong><\/td>\n<td>Negotiated per partner, not published<\/td>\n<\/tr>\n<tr>\n<td><strong>Historical Data<\/strong><\/td>\n<td>Not offered as a product<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/figure>\n<p>If you&#8217;re not already on their partner roadmap, you don&#8217;t have an integration path.<\/p>\n<h2>The &#8220;Third Option&#8221; for Prophet Exchange Odds<\/h2>\n<p>OddsPapi aggregates 350+ bookmakers \u2014 and ProphetX is one of them. No partner agreement, no US-state verification, no public API that doesn&#8217;t exist. You query <code>?bookmakers=prophetx<\/code> on a fixture and get the current ProphetX line with the live betslip deep link attached.<\/p>\n<figure class=\"wp-block-table\">\n<table>\n<thead>\n<tr>\n<th>Feature<\/th>\n<th>ProphetX Direct<\/th>\n<th>OddsPapi<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><strong>Cost to Start<\/strong><\/td>\n<td>Partner onboarding only<\/td>\n<td>Free tier<\/td>\n<\/tr>\n<tr>\n<td><strong>Auth<\/strong><\/td>\n<td>Private B2B credentials<\/td>\n<td>Single API key as query param<\/td>\n<\/tr>\n<tr>\n<td><strong>State Restrictions<\/strong><\/td>\n<td>Yes (licensed US states)<\/td>\n<td>No<\/td>\n<\/tr>\n<tr>\n<td><strong>Other Books in Response<\/strong><\/td>\n<td>ProphetX only<\/td>\n<td>ProphetX + 350+ others in one call<\/td>\n<\/tr>\n<tr>\n<td><strong>Historical Data<\/strong><\/td>\n<td>Not available<\/td>\n<td>Free on entry tier<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/figure>\n<h2>What ProphetX Actually Is (And Why It Matters for US Traders)<\/h2>\n<p>Prophet Exchange is a licensed peer-to-peer sportsbook operating in New Jersey and expanding across US states. Instead of taking positions itself, Prophet matches bettors against each other and collects a commission on winnings. The practical effect for traders:<\/p>\n<ul>\n<li><strong>No bet limiting.<\/strong> Because Prophet doesn&#8217;t hold positions, they have no reason to limit winning accounts. Your sharp action actually fills.<\/li>\n<li><strong>Market-driven pricing.<\/strong> Lines move when the book moves, not when the trader desk adjusts.<\/li>\n<li><strong>USD settled, tax-compliant.<\/strong> This is a real US-regulated venue, not an offshore book or an onchain contract.<\/li>\n<\/ul>\n<p>If you&#8217;re building a value model targeting US sports, ProphetX&#8217;s pricing is some of the sharpest you can legally access. The problem is you couldn&#8217;t <em>see<\/em> it without opening an account in a Prophet state. Now you can.<\/p>\n<h2>The JSON Shape<\/h2>\n<p>ProphetX ships odds through the same <code>\/v4\/odds<\/code> endpoint every other bookmaker uses on OddsPapi. The outcome shape is the same as a regular sportsbook \u2014 <code>price<\/code>, <code>limit<\/code>, <code>betslip<\/code>, <code>bookmakerOutcomeId<\/code> \u2014 with <code>exchangeMeta<\/code> present but empty (ProphetX publishes a single best price per side rather than a full Betfair-style ladder).<\/p>\n<pre class=\"wp-block-code\"><code># ProphetX outcome shape via OddsPapi\n{\n  \"active\": true,\n  \"betslip\": \"https:\/\/www.prophetx.co\/?action=addtobetslip&lineID=a4d2776e...\",\n  \"bookmakerOutcomeId\": \"a4d2776e2796194f10fc995b771d5dec\",\n  \"changedAt\": \"2026-04-11T16:13:55.780844+00:00\",\n  \"limit\": 459.8,\n  \"playerName\": null,\n  \"price\": 1.053,\n  \"exchangeMeta\": {}\n}<\/code><\/pre>\n<p>Two details worth grabbing:<\/p>\n<ul>\n<li><strong><code>limit<\/code><\/strong> is the actual match size available at that price \u2014 the maximum you could take right now, in USD. For a P2P book, this is liquidity data.<\/li>\n<li><strong><code>betslip<\/code><\/strong> is a Prophet deep link that pre-populates the bet slip. If you&#8217;re building a trading dashboard, this is the &#8220;send to ProphetX&#8221; button.<\/li>\n<\/ul>\n<h2>Tutorial: Pull ProphetX Odds in Python<\/h2>\n<h3>Step 1: Get Your API Key<\/h3>\n<p>Sign up at <a href=\"https:\/\/oddspapi.io\">oddspapi.io<\/a>. Free tier. No partner contract.<\/p>\n<pre class=\"wp-block-code\"><code>import requests\n\nAPI_KEY = \"YOUR_API_KEY\"\nBASE_URL = \"https:\/\/api.oddspapi.io\/v4\"<\/code><\/pre>\n<h3>Step 2: Find a US Sport Fixture<\/h3>\n<p>Prophet&#8217;s coverage is strongest on US-facing markets: NBA (<code>sportId=11<\/code>), MLB (<code>13<\/code>), NHL (<code>15<\/code>), NFL (<code>14<\/code>), UFC\/MMA (<code>20<\/code>), plus soccer for Euro leagues.<\/p>\n<pre class=\"wp-block-code\"><code>from datetime import datetime, timezone, timedelta\n\ntoday = datetime.now(timezone.utc)\nparams = {\n    \"apiKey\": API_KEY,\n    \"sportId\": 11,  # NBA\n    \"from\": today.strftime(\"%Y-%m-%d\"),\n    \"to\": (today + timedelta(days=2)).strftime(\"%Y-%m-%d\"),\n}\nfixtures = requests.get(f\"{BASE_URL}\/fixtures\", params=params).json()\ncandidates = [f for f in fixtures if f.get(\"hasOdds\")]\nprint(f\"{len(candidates)} NBA fixtures with odds\")<\/code><\/pre>\n<h3>Step 3: Fetch ProphetX Only<\/h3>\n<pre class=\"wp-block-code\"><code>fixture_id = candidates[0][\"fixtureId\"]\n\nr = requests.get(\n    f\"{BASE_URL}\/odds\",\n    params={\n        \"apiKey\": API_KEY,\n        \"fixtureId\": fixture_id,\n        \"bookmakers\": \"prophetx\",\n    },\n)\ndata = r.json()\n\nprophet = data.get(\"bookmakerOdds\", {}).get(\"prophetx\")\nif not prophet:\n    print(\"ProphetX has no book on this fixture.\")\nelse:\n    print(f\"{len(prophet['markets'])} markets from ProphetX\")<\/code><\/pre>\n<h3>Step 4: Parse Moneyline + Totals<\/h3>\n<pre class=\"wp-block-code\"><code># Pull 1X2 \/ moneyline (market 101) and Over\/Under 2.5 (1010 \u2014 soccer)\n# For NBA totals, look up the correct marketId from \/v4\/markets?sportId=11\nfor market_id, market in prophet[\"markets\"].items():\n    print(f\"\\nMarket {market_id}:\")\n    for outcome_id, outcome in market.get(\"outcomes\", {}).items():\n        p = outcome[\"players\"][\"0\"]\n        if not p[\"active\"]:\n            continue\n        price = p[\"price\"]\n        limit = p[\"limit\"]\n        print(f\"  outcome {outcome_id}: {price} (max ${limit})\")<\/code><\/pre>\n<h3>Step 5: Price vs Limit \u2014 the Trader&#8217;s Filter<\/h3>\n<p>Because Prophet publishes the exact size available at each price, you can filter markets by whether there&#8217;s enough liquidity to make a trade worth placing.<\/p>\n<pre class=\"wp-block-code\"><code>MIN_STAKE = 250.0  # minimum USD fill you care about\n\nfor mid, market in prophet[\"markets\"].items():\n    for oid, outcome in market.get(\"outcomes\", {}).items():\n        p = outcome[\"players\"][\"0\"]\n        if not p[\"active\"]:\n            continue\n        if p[\"limit\"] >= MIN_STAKE:\n            print(f\"tradable: market {mid} outcome {oid} @ {p['price']} (${p['limit']} available)\")<\/code><\/pre>\n<p>Now you have a filtered list of ProphetX markets where your minimum stake will actually clear. Pipe that into a value-betting model and you have the start of an edge scanner.<\/p>\n<h3>Step 6: Compare ProphetX vs Pinnacle in One Call<\/h3>\n<p>This is the payoff. Pinnacle is the closest thing to a &#8220;true price&#8221; sharp book; ProphetX is a P2P book with its own mispricings. Any gap between the two is the opportunity.<\/p>\n<pre class=\"wp-block-code\"><code>r = requests.get(\n    f\"{BASE_URL}\/odds\",\n    params={\n        \"apiKey\": API_KEY,\n        \"fixtureId\": fixture_id,\n        \"bookmakers\": \"prophetx,pinnacle\",\n    },\n)\nbooks = r.json()[\"bookmakerOdds\"]\n\nfor slug in (\"prophetx\", \"pinnacle\"):\n    m = books.get(slug, {}).get(\"markets\", {}).get(\"101\", {})\n    home = m.get(\"outcomes\", {}).get(\"101\", {}).get(\"players\", {}).get(\"0\", {})\n    print(f\"{slug:10} home @ {home.get('price')}\")<\/code><\/pre>\n<h2>Why Devs Pick OddsPapi Over the Partner API<\/h2>\n<p><strong>No partner contract<\/strong> \u2014 ProphetX doesn&#8217;t publish a self-serve key. OddsPapi&#8217;s free tier is your self-serve route.<\/p>\n<p><strong>No state restrictions<\/strong> \u2014 Prophet&#8217;s direct access is walled behind US-licensed jurisdictions. OddsPapi serves the same pricing data from anywhere you can make an HTTP request.<\/p>\n<p><strong>Compare with the rest of the market<\/strong> \u2014 ProphetX alone doesn&#8217;t tell you if a line is sharp. Pull it side-by-side with Pinnacle, Singbet, Betfair Exchange, and SX Bet in a single response and let your model decide.<\/p>\n<p><strong>Free historical data<\/strong> \u2014 Backtest your ProphetX strategy against <code>\/v4\/historical-odds<\/code>. Prophet itself doesn&#8217;t sell a historical product.<\/p>\n<h2>Coverage Notes<\/h2>\n<p>ProphetX&#8217;s most reliable coverage runs through US-primary sports and major soccer. Esoteric markets (niche leagues, low-volume props) will frequently return an empty book \u2014 that&#8217;s the P2P venue, not an API failure. Filter on <code>hasOdds: true<\/code> at the fixture level, then check whether <code>bookmakerOdds.prophetx<\/code> exists in the <code>\/v4\/odds<\/code> response before parsing.<\/p>\n<figure class=\"wp-block-table\">\n<table>\n<thead>\n<tr>\n<th>Sport<\/th>\n<th>OddsPapi <code>sportId<\/code><\/th>\n<th>Typical Market Depth<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>NBA<\/td>\n<td>11<\/td>\n<td>Moneyline, spread, totals, some props<\/td>\n<\/tr>\n<tr>\n<td>MLB<\/td>\n<td>13<\/td>\n<td>Moneyline, run line, totals<\/td>\n<\/tr>\n<tr>\n<td>NHL<\/td>\n<td>15<\/td>\n<td>Moneyline, puck line, totals<\/td>\n<\/tr>\n<tr>\n<td>NFL<\/td>\n<td>14<\/td>\n<td>Spread, moneyline, totals<\/td>\n<\/tr>\n<tr>\n<td>UFC \/ MMA<\/td>\n<td>20<\/td>\n<td>Fight winner<\/td>\n<\/tr>\n<tr>\n<td>Soccer<\/td>\n<td>10<\/td>\n<td>1X2, BTTS, totals on major leagues<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/figure>\n<h2>Get Started<\/h2>\n<ol>\n<li>Sign up at <a href=\"https:\/\/oddspapi.io\">oddspapi.io<\/a><\/li>\n<li>Copy your API key<\/li>\n<li>Pull ProphetX data in one request<\/li>\n<\/ol>\n<pre class=\"wp-block-code\"><code>curl \"https:\/\/api.oddspapi.io\/v4\/odds?apiKey=YOUR_KEY&amp;fixtureId=id1100022762690473&amp;bookmakers=prophetx\"<\/code><\/pre>\n<p>No partner application. No state whitelist. Just live Prophet Exchange prices.<\/p>\n<p><!--\nFocus Keyphrase: Prophet Exchange API\nSEO Title: ProphetX API: US-Regulated P2P Sports Betting Data (Python)\nMeta Description: Access Prophet Exchange (ProphetX) odds without a partner contract. Python tutorial for US-regulated peer-to-peer sports betting data. Free tier.\nSlug: prophet-exchange-api-us-regulated\n--><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Access Prophet Exchange (ProphetX) odds without a partner contract. Python tutorial for US-regulated peer-to-peer sports betting data. Free tier.<\/p>\n","protected":false},"author":2,"featured_media":2840,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7],"tags":[37,16,9,38,11],"class_list":["post-2839","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-how-to-guides","tag-exchange","tag-nba","tag-odds-api","tag-prophetx","tag-python"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.4 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>ProphetX API: US-Regulated P2P Sports Betting Data (Python) | 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\/prophet-exchange-api-us-regulated\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"ProphetX API: US-Regulated P2P Sports Betting Data (Python) | Odds API Development Blog\" \/>\n<meta property=\"og:description\" content=\"Access Prophet Exchange (ProphetX) odds without a partner contract. Python tutorial for US-regulated peer-to-peer sports betting data. Free tier.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/oddspapi.io\/blog\/prophet-exchange-api-us-regulated\/\" \/>\n<meta property=\"og:site_name\" content=\"Odds API Development Blog\" \/>\n<meta property=\"article:published_time\" content=\"2026-04-21T10:00:00+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/oddspapi.io\/blog\/wp-content\/uploads\/2026\/04\/prophet-exchange-api-us-regulated-scaled.webp\" \/>\n\t<meta property=\"og:image:width\" content=\"2560\" \/>\n\t<meta property=\"og:image:height\" content=\"1429\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/webp\" \/>\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\/prophet-exchange-api-us-regulated\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/oddspapi.io\/blog\/prophet-exchange-api-us-regulated\/\"},\"author\":{\"name\":\"Odds API Writer\",\"@id\":\"https:\/\/oddspapi.io\/blog\/#\/schema\/person\/b6f21e649c4f556f0a95c23a0f1efa13\"},\"headline\":\"ProphetX API: US-Regulated P2P Sports Betting Data (Python)\",\"datePublished\":\"2026-04-21T10:00:00+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/oddspapi.io\/blog\/prophet-exchange-api-us-regulated\/\"},\"wordCount\":905,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/oddspapi.io\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/oddspapi.io\/blog\/prophet-exchange-api-us-regulated\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/oddspapi.io\/blog\/wp-content\/uploads\/2026\/04\/prophet-exchange-api-us-regulated-scaled.webp\",\"keywords\":[\"Exchange\",\"NBA\",\"Odds API\",\"ProphetX\",\"Python\"],\"articleSection\":[\"How To Guides\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/oddspapi.io\/blog\/prophet-exchange-api-us-regulated\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/oddspapi.io\/blog\/prophet-exchange-api-us-regulated\/\",\"url\":\"https:\/\/oddspapi.io\/blog\/prophet-exchange-api-us-regulated\/\",\"name\":\"ProphetX API: US-Regulated P2P Sports Betting Data (Python) | Odds API Development Blog\",\"isPartOf\":{\"@id\":\"https:\/\/oddspapi.io\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/oddspapi.io\/blog\/prophet-exchange-api-us-regulated\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/oddspapi.io\/blog\/prophet-exchange-api-us-regulated\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/oddspapi.io\/blog\/wp-content\/uploads\/2026\/04\/prophet-exchange-api-us-regulated-scaled.webp\",\"datePublished\":\"2026-04-21T10:00:00+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/oddspapi.io\/blog\/prophet-exchange-api-us-regulated\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/oddspapi.io\/blog\/prophet-exchange-api-us-regulated\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/oddspapi.io\/blog\/prophet-exchange-api-us-regulated\/#primaryimage\",\"url\":\"https:\/\/oddspapi.io\/blog\/wp-content\/uploads\/2026\/04\/prophet-exchange-api-us-regulated-scaled.webp\",\"contentUrl\":\"https:\/\/oddspapi.io\/blog\/wp-content\/uploads\/2026\/04\/prophet-exchange-api-us-regulated-scaled.webp\",\"width\":2560,\"height\":1429,\"caption\":\"Prophet Exchange API - OddsPapi API Blog\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/oddspapi.io\/blog\/prophet-exchange-api-us-regulated\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/oddspapi.io\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"ProphetX API: US-Regulated P2P Sports Betting Data (Python)\"}]},{\"@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":"ProphetX API: US-Regulated P2P Sports Betting Data (Python) | 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\/prophet-exchange-api-us-regulated\/","og_locale":"en_US","og_type":"article","og_title":"ProphetX API: US-Regulated P2P Sports Betting Data (Python) | Odds API Development Blog","og_description":"Access Prophet Exchange (ProphetX) odds without a partner contract. Python tutorial for US-regulated peer-to-peer sports betting data. Free tier.","og_url":"https:\/\/oddspapi.io\/blog\/prophet-exchange-api-us-regulated\/","og_site_name":"Odds API Development Blog","article_published_time":"2026-04-21T10:00:00+00:00","og_image":[{"width":2560,"height":1429,"url":"https:\/\/oddspapi.io\/blog\/wp-content\/uploads\/2026\/04\/prophet-exchange-api-us-regulated-scaled.webp","type":"image\/webp"}],"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\/prophet-exchange-api-us-regulated\/#article","isPartOf":{"@id":"https:\/\/oddspapi.io\/blog\/prophet-exchange-api-us-regulated\/"},"author":{"name":"Odds API Writer","@id":"https:\/\/oddspapi.io\/blog\/#\/schema\/person\/b6f21e649c4f556f0a95c23a0f1efa13"},"headline":"ProphetX API: US-Regulated P2P Sports Betting Data (Python)","datePublished":"2026-04-21T10:00:00+00:00","mainEntityOfPage":{"@id":"https:\/\/oddspapi.io\/blog\/prophet-exchange-api-us-regulated\/"},"wordCount":905,"commentCount":0,"publisher":{"@id":"https:\/\/oddspapi.io\/blog\/#organization"},"image":{"@id":"https:\/\/oddspapi.io\/blog\/prophet-exchange-api-us-regulated\/#primaryimage"},"thumbnailUrl":"https:\/\/oddspapi.io\/blog\/wp-content\/uploads\/2026\/04\/prophet-exchange-api-us-regulated-scaled.webp","keywords":["Exchange","NBA","Odds API","ProphetX","Python"],"articleSection":["How To Guides"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/oddspapi.io\/blog\/prophet-exchange-api-us-regulated\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/oddspapi.io\/blog\/prophet-exchange-api-us-regulated\/","url":"https:\/\/oddspapi.io\/blog\/prophet-exchange-api-us-regulated\/","name":"ProphetX API: US-Regulated P2P Sports Betting Data (Python) | Odds API Development Blog","isPartOf":{"@id":"https:\/\/oddspapi.io\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/oddspapi.io\/blog\/prophet-exchange-api-us-regulated\/#primaryimage"},"image":{"@id":"https:\/\/oddspapi.io\/blog\/prophet-exchange-api-us-regulated\/#primaryimage"},"thumbnailUrl":"https:\/\/oddspapi.io\/blog\/wp-content\/uploads\/2026\/04\/prophet-exchange-api-us-regulated-scaled.webp","datePublished":"2026-04-21T10:00:00+00:00","breadcrumb":{"@id":"https:\/\/oddspapi.io\/blog\/prophet-exchange-api-us-regulated\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/oddspapi.io\/blog\/prophet-exchange-api-us-regulated\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/oddspapi.io\/blog\/prophet-exchange-api-us-regulated\/#primaryimage","url":"https:\/\/oddspapi.io\/blog\/wp-content\/uploads\/2026\/04\/prophet-exchange-api-us-regulated-scaled.webp","contentUrl":"https:\/\/oddspapi.io\/blog\/wp-content\/uploads\/2026\/04\/prophet-exchange-api-us-regulated-scaled.webp","width":2560,"height":1429,"caption":"Prophet Exchange API - OddsPapi API Blog"},{"@type":"BreadcrumbList","@id":"https:\/\/oddspapi.io\/blog\/prophet-exchange-api-us-regulated\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/oddspapi.io\/blog\/"},{"@type":"ListItem","position":2,"name":"ProphetX API: US-Regulated P2P Sports Betting Data (Python)"}]},{"@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\/2839","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=2839"}],"version-history":[{"count":1,"href":"https:\/\/oddspapi.io\/blog\/wp-json\/wp\/v2\/posts\/2839\/revisions"}],"predecessor-version":[{"id":2841,"href":"https:\/\/oddspapi.io\/blog\/wp-json\/wp\/v2\/posts\/2839\/revisions\/2841"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/oddspapi.io\/blog\/wp-json\/wp\/v2\/media\/2840"}],"wp:attachment":[{"href":"https:\/\/oddspapi.io\/blog\/wp-json\/wp\/v2\/media?parent=2839"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/oddspapi.io\/blog\/wp-json\/wp\/v2\/categories?post=2839"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/oddspapi.io\/blog\/wp-json\/wp\/v2\/tags?post=2839"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}