Polymarket Markets & Events Scraper
Pricing
from $0.60 / 1,000 item processeds
Polymarket Markets & Events Scraper
Extract public Polymarket market records with questions, odds, outcomes, volume, liquidity, categories, tags, event context, and closing dates.
Pricing
from $0.60 / 1,000 item processeds
Rating
0.0
(0)
Developer
Hanna Nosova
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Extract public Polymarket market records with questions, outcomes, odds, volume, liquidity, categories, tags, event context, and closing dates. Export results to CSV, JSON, Excel, API, or Apify integrations for research and monitoring workflows.
At a glance
- Primary job: Collect structured public Polymarket markets and event metadata without wallet login.
- Input: Choose market status, topic keyword, category/tag filters, volume/liquidity thresholds, sort order, and result limit.
- Output: One dataset row per market with IDs, question, URL, outcomes, prices, volume, liquidity, dates, tags, and event context.
- Best for: Prediction-market research, dashboards, alerts, newsletters, quant workflows, and historical market exports.
Who is it for?
- Market researchers comparing prediction-market topics, odds, and liquidity across public Polymarket markets.
- Data teams and analysts building dashboards, alerts, or archives from structured market records.
- Newsletter writers and investors monitoring high-volume or closing-soon markets for timely story ideas and signals.
Common workflows
- Active market monitor: Schedule runs for high-volume open markets and compare odds, volume, and liquidity over time.
- Topic research: Track markets about Bitcoin, elections, AI, sports, companies, or any keyword that appears in public market text.
- Closing-soon feed: Sort active markets by closing date to find markets nearing resolution.
- Resolved market export: Pull recently closed markets for backtesting, reporting, or research archives.
Input recipes
Use these recipes before public Store examples are available.
Active high-volume markets
{"maxItems": 25,"status": "active","minVolume": 10000,"sortBy": "volume","includeRaw": false}
Keyword/topic market watch
{"maxItems": 10,"status": "active","query": "bitcoin","sortBy": "volume","includeRaw": false}
Closing-soon active markets
{"maxItems": 25,"status": "active","sortBy": "closingSoon","includeRaw": false}
Resolved market research
{"maxItems": 10,"status": "closed","sortBy": "newest","includeRaw": false}
What data can you extract?
| Field | Description |
|---|---|
marketId | Stable Polymarket market ID. |
conditionId | Market condition ID when available. |
question | Market question/title. |
slug | Public market slug. |
url | Public Polymarket market URL. |
eventId, eventTitle, eventSlug | Event context returned with the market. |
active, closed, status | Source status flags and derived status. |
outcomes | Outcome labels with parsed prices and token IDs. |
outcomePrices | Numeric outcome prices/probabilities when available. |
bestOutcome | Outcome with the highest parsed price. |
volume, volume24hr, liquidity | Public market activity metrics. |
startDate, endDate | Market timing fields. |
category, tags | Category/tag/event classification when exposed. |
clobTokenIds | Public CLOB token IDs for outcomes. |
description, resolutionSource | Market rules and resolution-source text when present. |
fetchedAt, source | Collection timestamp and source endpoint. |
raw | Original source record when includeRaw is enabled. |
Input configuration
| Setting | JSON key | Use it for | Example |
|---|---|---|---|
| Maximum markets | maxItems | Cap saved rows and control spend. | 25 |
| Market status | status | Choose open, closed, or all markets. | active |
| Keyword or phrase | query | Filter by question, slug, event title, or description text. | bitcoin |
| Category or tag | categoryOrTag | Match category, tag, event title, or event slug text. | crypto |
| Minimum volume | minVolume | Keep only markets with at least this total volume. | 10000 |
| Minimum liquidity | minLiquidity | Keep only markets with at least this liquidity. | 1000 |
| Sort markets by | sortBy | Sort by volume, liquidity, newest, or closing soon. | volume |
| Include raw API record | includeRaw | Add the original public source record to each row. | false |
Example input
{"maxItems": 10,"status": "active","query": "bitcoin","sortBy": "volume","includeRaw": false}
Example output
{"marketId": "681147","conditionId": "0x...","question": "Will a new country buy Bitcoin by December 31, 2026?","slug": "will-a-new-country-buy-bitcoin-by-december-31-2026-135","url": "https://polymarket.com/event/will-a-new-country-buy-bitcoin-by-184/will-a-new-country-buy-bitcoin-by-december-31-2026-135","eventId": "...","eventTitle": "Will a new country buy Bitcoin by 2026?","eventSlug": "will-a-new-country-buy-bitcoin-by-184","active": true,"closed": false,"status": "active","outcomes": [{ "name": "Yes", "price": 0.12, "tokenId": "..." },{ "name": "No", "price": 0.88, "tokenId": "..." }],"outcomePrices": [0.12, 0.88],"bestOutcome": "No","volume": 22677.96938,"volume24hr": 145.2,"liquidity": 4588.8849,"startDate": "2026-01-01T00:00:00Z","endDate": "2026-12-31T12:00:00Z","category": "Crypto","tags": ["Bitcoin", "Crypto"],"clobTokenIds": ["...", "..."],"description": "Market resolution rules...","resolutionSource": "","fetchedAt": "2026-07-13T09:20:00.000Z","source": "https://gamma-api.polymarket.com/markets"}
Pricing
| Event | Price | Charged when |
|---|---|---|
| Run start | $0.005 per run | Once when the Actor starts. |
| Item processed | Store tier price per saved market row | Each market saved to the dataset. |
Per-market Store discount tiers: Free $0.00115, Bronze $0.001, Silver $0.00078, Gold $0.0006, Platinum $0.0004, Diamond $0.00028.
Start with small limits while validating your filters. Final platform pricing is verified during QA and kept synchronized with the Actor pricing configuration.
Tips for best results
- Start focused: Use
maxItems: 10-25with a keyword or volume threshold until you confirm the dataset shape. - Use status intentionally:
activeis best for monitoring;closedis best for research and backtesting. - Use raw records only when needed:
includeRawis helpful for custom parsing but makes exports larger. - Expect empty runs for narrow filters: Very high volume/liquidity thresholds or uncommon keywords can return zero rows; the run still writes diagnostics to
RUN-SUMMARY.
API usage
Node.js:
import { ApifyClient } from "apify-client";const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor("fetch_cat/polymarket-markets-events-scraper").call({maxItems: 10,status: "active",query: "bitcoin",sortBy: "volume",includeRaw: false});console.log(run.defaultDatasetId);
Python:
from apify_client import ApifyClientclient = ApifyClient("YOUR_APIFY_TOKEN")run = client.actor("fetch_cat/polymarket-markets-events-scraper").call(run_input={"maxItems": 10,"status": "active","query": "bitcoin","sortBy": "volume","includeRaw": False,})print(run["defaultDatasetId"])
cURL:
curl -X POST "https://api.apify.com/v2/acts/fetch_cat~polymarket-markets-events-scraper/runs?token=YOUR_APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"maxItems":10,"status":"active","query":"bitcoin","sortBy":"volume","includeRaw":false}'
MCP and AI agents
Use this Actor from MCP-compatible tools through the official Apify MCP Server.
$claude mcp add --transport http apify "https://mcp.apify.com?tools=fetch_cat/polymarket-markets-events-scraper"
{"mcpServers": {"apify": {"url": "https://mcp.apify.com?tools=fetch_cat/polymarket-markets-events-scraper"}}}
Example prompt: "Run Polymarket Markets & Events Scraper for active Bitcoin markets and summarize the highest-volume results."
Limits and caveats
- Public data only: This Actor extracts public market metadata. It does not trade, place orders, scrape private portfolios, or require wallet login.
- Changing source data: Odds, volume, liquidity, and market status can change after a run finishes.
- Narrow filters: Some keyword/category combinations legitimately return no matching rows.
- Large exports: Broader
allstatus exports may take longer because the Actor checks both active and closed markets.
Legality and responsible use
Use this Actor for lawful access to public Polymarket market data. Respect Apify's terms, Polymarket's terms, and applicable laws. Do not use the data for unlawful trading, market manipulation, privacy-invasive profiling, or attempts to bypass access controls.
Related actors
FAQ
Does this Actor require a Polymarket account or wallet?
No. It collects public market and event metadata only.
Can I export results?
Yes. Apify datasets support JSON, CSV, Excel, XML, RSS, and API access.
Why are some fields empty?
Some markets do not expose every optional metric or event field. The Actor returns null or an empty array instead of guessing.
Does it include live order books or trading actions?
No. V1 is read-only market metadata. Live order book enrichment and trading/order placement are outside this Actor's public-data scope.
Support
Open an issue from the Actor page if a run fails or output looks wrong. Include the run ID or run URL, input JSON, expected output, actual output, and a reproducible public URL or market example.