Polymarket Markets & Events Scraper avatar

Polymarket Markets & Events Scraper

Pricing

from $0.60 / 1,000 item processeds

Go to Apify Store
Polymarket Markets & Events Scraper

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

Hanna Nosova

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

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?

FieldDescription
marketIdStable Polymarket market ID.
conditionIdMarket condition ID when available.
questionMarket question/title.
slugPublic market slug.
urlPublic Polymarket market URL.
eventId, eventTitle, eventSlugEvent context returned with the market.
active, closed, statusSource status flags and derived status.
outcomesOutcome labels with parsed prices and token IDs.
outcomePricesNumeric outcome prices/probabilities when available.
bestOutcomeOutcome with the highest parsed price.
volume, volume24hr, liquidityPublic market activity metrics.
startDate, endDateMarket timing fields.
category, tagsCategory/tag/event classification when exposed.
clobTokenIdsPublic CLOB token IDs for outcomes.
description, resolutionSourceMarket rules and resolution-source text when present.
fetchedAt, sourceCollection timestamp and source endpoint.
rawOriginal source record when includeRaw is enabled.

Input configuration

SettingJSON keyUse it forExample
Maximum marketsmaxItemsCap saved rows and control spend.25
Market statusstatusChoose open, closed, or all markets.active
Keyword or phrasequeryFilter by question, slug, event title, or description text.bitcoin
Category or tagcategoryOrTagMatch category, tag, event title, or event slug text.crypto
Minimum volumeminVolumeKeep only markets with at least this total volume.10000
Minimum liquidityminLiquidityKeep only markets with at least this liquidity.1000
Sort markets bysortBySort by volume, liquidity, newest, or closing soon.volume
Include raw API recordincludeRawAdd 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

EventPriceCharged when
Run start$0.005 per runOnce when the Actor starts.
Item processedStore tier price per saved market rowEach 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-25 with a keyword or volume threshold until you confirm the dataset shape.
  • Use status intentionally: active is best for monitoring; closed is best for research and backtesting.
  • Use raw records only when needed: includeRaw is 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 ApifyClient
client = 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 all status 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.

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.