Polymarket Markets & Odds Scraper avatar

Polymarket Markets & Odds Scraper

Pricing

Pay per event

Go to Apify Store
Polymarket Markets & Odds Scraper

Polymarket Markets & Odds Scraper

Polymarket markets scraper for prediction-market research. Export market questions, outcomes, prices, volume and liquidity as JSON, with optional order books, price history and recent trades.

Pricing

Pay per event

Rating

0.0

(0)

Developer

Grit

Grit

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Categories

Share

Polymarket scraper returns public market questions, outcomes, prices, volume, and liquidity. Polymarket API queries can also return order books, price history, and recent trades when requested.

Input example

{
"searchQueries": [
"bitcoin"
],
"maxItems": 20
}

The input keys and allowed values follow .actor/input_schema.json.

Output fields

FieldTypeExample or excerpt from sample
record_typestring"market"
market_idstring"601819"
condition_idstring"0xdf8e2dc5860027decbe6164555c3c1c9645c3bd33e16b9dc57ca87125047d4a8"
slugstring"will-luiz-incio-lula-da-silva-win-the-2026-brazilian-presidential-election"
urlstring"https://polymarket.com/event/brazil-presidential-election/will-luiz-incio-lula-da-si…
questionstring"Will Luiz Inácio Lula da Silva win the 2026 Brazilian presidential election?"
group_item_titlestring"Luiz Inácio Lula da Silva"
event_idstring"45915"
event_slugstring"brazil-presidential-election"
event_titlestring"Brazil Presidential Election"
tagsarray["Politics", "Macro Election 2", "Main Election", "Global Elections", "Brazil", "Worl…
descriptionstring"A presidential election is scheduled to take place in Brazil on October 4, 2026.\n\n…
resolution_sourcestring or nullnull
outcomesarray["Yes", "No"]
outcome_pricesarray[0.165, 0.835]
token_idsarray["30630994248667897740988010928640156931882346081873066002335460180076741328029", "79…
yes_probabilitynumber0.165
no_probabilitynumber0.835
last_trade_pricenumber0.17
best_bidnumber0.16
best_asknumber0.17
spreadnumber0.01
price_change_1hnumber or null-0.01
price_change_1dnumber-0.2
price_change_1wnumber-0.26
volume_total_usdnumber16965396.630232994
volume_24h_usdnumber2247216.9937190013
volume_1w_usdnumber4542325.957223994
liquidity_usdnumber895451.8545
start_datestring"2025-09-18T20:07:59Z"
end_datestring"2026-10-05T03:59:00Z"
created_atstring"2025-09-17T18:40:08Z"
updated_atstring"2026-10-05T10:57:06Z"
closed_atstring or nullnull
activebooleantrue
closedbooleanfalse
accepting_ordersbooleantrue
resolution_statusstring or nullnull
resolvedbooleanfalse
winning_outcomestring or nullnull
neg_riskbooleantrue
tick_sizenumber0.01
min_order_sizenumber5.0
imagestring"https://polymarket-upload.s3.us-east-2.amazonaws.com/will-luiz-incio-lula-da-silva-w…
order_bookarray[{"outcome": "Yes", "token_id": "3063099424866789774098801092864015693188234608187306…
sourcestring"detail"
querystring or nullnull
scraped_atstring"2026-10-05T11:02:18Z"
outcomestring"Yes"
token_idstring"12403602920039269077597917340921667997547115084613238528792639013246536343316"
timestampstring"2026-10-04T12:00:28Z"
pricenumber0.9595
sidestring"BUY"
sizenumber5.68
usd_valuenumber5.4528
transaction_hashstring"0x0fb03f4acb1095187270f5f12d962fdabcf5e265dceb7b2f337890daf3c80530"

Output example

Trimmed from sample_output.json; omitted fields remain available in the dataset.

{
"record_type": "market",
"market_id": "601819",
"condition_id": "0xdf8e2dc5860027decbe6164555c3c1c9645c3bd33e16b9dc57ca87125047d4a8",
"slug": "will-luiz-incio-lula-da-silva-win-the-2026-brazilian-presidential-election",
"url": "https://polymarket.com/event/brazil-presidential-election/will-luiz-incio-lula-da-silva-win-the-2026-brazilian-presidential-election",
"question": "Will Luiz Inácio Lula da Silva win the 2026 Brazilian presidential election?",
"group_item_title": "Luiz Inácio Lula da Silva"
}

Limits

  • Data is whatever Polymarket's public APIs return at run time; prices move constantly. scraped_at marks the fetch.
  • best_bid, best_ask, spread come from Polymarket's market data and describe the first outcome (usually Yes). Use "Include order book" for both outcomes.
  • Keyword search returns Polymarket's relevance order; sortBy applies to category and browse modes. With several keywords and a small maxItems, whichever keyword is read first can fill the cap.
  • Price history for a very long window with a very fine resolution can come back thin or be rejected by Polymarket; use historyFidelity 1440 with max.
  • Trades are the most recent ones the public data API serves; it is not a full archive.
  • Polymarket rate-limits heavy callers; the actor retries with backoff on 429/5xx. Keep maxConcurrency low for very large runs.
  • Not for trading. No orders, wallets or keys are used. This is not financial advice.

FAQ

What are the output limits? maxItems caps emitted rows; history and trades can consume that cap. Public trade history is not a complete archive.

Do I need a proxy or login? Public read endpoints need no login, wallet, or proxy.

How is this priced? Proposed pay per event: $0.0012 per market row, $0.008 per block of 100 history-point rows per outcome series, and $0.0005 per trade row. Error rows are uncharged. These are proposals in PRICING.md; the owner must configure Store billing.

How are rate limits handled? The client limits work with maxConcurrency and backs off on HTTP 429 and server errors.

How fresh is the data? Market prices and availability can change between requests. scraped_at marks collection time. These are public market data, not trading instructions or financial advice.

Use with AI agents / MCP

After the actor is published, connect your agent to the Apify MCP server with an Apify API token. Use call-actor with the published actor identifier and the JSON input shown above. Read the returned dataset with get-dataset-items; the run response itself contains status and storage IDs, not the result rows. Alternatively, use the Apify API to start a run and read its default dataset. Keep the actor input bounded with maxItems, and inspect source links and any error fields before using results in an answer.