Polymarket Odds & Arbitrage Intelligence
Pricing
from $0.50 / 1,000 results
Polymarket Odds & Arbitrage Intelligence
Real-time Polymarket data feed: topic search, top-volume whale markets, and Dutch-book spread arbitrage scanner. Clean JSON with implied odds, volume, and CLOB token IDs for quant traders and AI agents.
Pricing
from $0.50 / 1,000 results
Rating
0.0
(0)
Developer
Roy Mootsana
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
3 hours ago
Last modified
Categories
Share
Polymarket Intelligence & Odds API
Clean, structured, and real-time data access to the world’s largest prediction market. Extract implied probabilities, trading volumes, bid-ask spreads, and Central Limit Order Book (CLOB) contract identifiers directly from Polymarket.
Designed specifically for algorithmic trading desks, prediction market makers, quantitative researchers, and autonomous AI agents.
Why Use This Actor?
Polymarket has become the primary real-time consensus engine for geopolitical shifts, Federal Reserve interest rate expectations, national elections, and macro economic milestones.
However, integrating Polymarket's raw catalog into automated trading infrastructure introduces repetitive engineering friction:
- Stringified JSON payloads: Essential fields like
outcomePricesandclobTokenIdsare returned as escaped JSON strings, requiring manual JSON parsing on every item. - Disconnected data structures: Single-contract markets and multi-outcome events are nested differently across distinct endpoints.
- Missing trading metrics: Raw responses do not compute relative bid-ask spreads, basket fair-value deviations, or percentage implied probabilities.
This Actor standardizes the entire data pipeline into typed, predictable JSON records ready for immediate programmatic consumption in sub-second execution time.
Three Dedicated Operational Endpoints
Configure the mode parameter to match your workflow:
| Endpoint Mode | Focus | Practical Use Case |
|---|---|---|
Top Trending & Whales (trending) | Top liquid markets ranked by USD volume | Macro sentiment monitors, whale volume trackers, high-liquidity dashboards |
Search by Topic (search) | Keyword, ticker, or candidate lookup | News-driven trade triggers, automated event verification, research feeds |
Dutch-Book & Spread Scanner (arbitrage_scanner) | Dislocated odds and wide bid-ask spreads | Statistical arbitrage, market making, negative-risk basket capture |
Key Output Capabilities
- Direct CLOB Token Identifiers: Every outcome includes its raw Polygon ERC-1155
clobTokenId, allowing your bots to immediately route limit or market orders via Polymarket's Exchange API. - Spread & Liquidity Metrics: Automatically computes
bestBid,bestAsk, absolutespreadUsd, andspreadRelativePct(cost to cross the spread), highlighting market making and liquidity-harvesting opportunities. - Pre-computed Implied Probabilities: Converts decimal pricing into percentage odds for binary (Yes/No) and multi-candidate events.
- Dutch-Book Dislocation Detection: Flags when an outcome basket deviates from $1.00 fair value, identifying discount profit margins.
- AI Agent Native: Zero-fluff JSON schema optimized for tool calling across LangChain, AutoGen, CrewAI, and OpenAI function calling.
Input Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
mode | Select | trending | Choose trending, search, or arbitrage_scanner. |
searchQuery | String | "Federal Reserve" | Search term or ticker (used when mode is search). |
maxItems | Number | 20 | Maximum number of market contracts to return (1–200). |
minVolumeUsd | Number | 1000 | Filter out illiquid markets below a specified total volume floor. |
activeOnly | Boolean | true | Only return markets currently open and accepting orders. |
Standardized JSON Output
{"id": "559652","question": "Will Gavin Newsom win the 2028 Democratic presidential nomination?","eventTitle": "Democratic Presidential Nominee 2028","slug": "democratic-presidential-nominee-2028","url": "https://polymarket.com/event/democratic-presidential-nominee-2028","category": "Politics","volumeTotalUsd": 27759450.56,"volume24hrUsd": 9533.74,"liquidityUsd": 184500.0,"bestBid": 0.152,"bestAsk": 0.153,"spreadUsd": 0.001,"spreadRelativePct": 0.66,"outcomes": [{"outcome": "Yes","priceUsd": 0.1525,"impliedProbabilityPct": 15.25,"clobTokenId": "106229668102716149832209250222340847662201251266419359322746795373714233470739"},{"outcome": "No","priceUsd": 0.8475,"impliedProbabilityPct": 84.75,"clobTokenId": "33007765079325382103458898680383691503895532108499178620460955049586020382226"}],"sumOfPrices": 1.0,"isMispriced": false,"mispricingEdgePct": 0.0,"mispricingType": "fair","endDate": "2028-11-08T00:00:00Z","active": true,"closed": false,"scrapedAt": "2026-09-27T00:00:00.000Z"}
Code Examples
Python (apify-client)
from apify_client import ApifyClientclient = ApifyClient("YOUR_APIFY_TOKEN")# Run the Dutch-Book & Spread Scannerrun = client.actor("nfa2026/polymarket-odds-intelligence").call(run_input={"mode": "arbitrage_scanner","maxItems": 25,"minVolumeUsd": 5000,})for contract in client.dataset(run["defaultDatasetId"]).iterate_items():print(f"Contract: {contract['question']}")print(f"Spread: ${contract.get('spreadUsd')} ({contract.get('spreadRelativePct')}%) | Volume: ${contract.get('volumeTotalUsd'):,.0f}")
Node.js / TypeScript
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });// Fetch top trending marketsconst run = await client.actor('nfa2026/polymarket-odds-intelligence').call({mode: 'trending',maxItems: 10,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Model Context Protocol (MCP) for AI Agents
Integrate live prediction market discovery directly into Claude Desktop, Cursor, or custom LLM agent pipelines:
{"mcpServers": {"polymarket": {"command": "npx","args": ["-y","@apify/mcp-server","--actors","nfa2026/polymarket-odds-intelligence"]}}}
cURL
curl -X POST "https://api.apify.com/v2/acts/nfa2026~polymarket-odds-intelligence/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"mode": "trending", "maxItems": 5}'