Polymarket Markets Scraper avatar

Polymarket Markets Scraper

Pricing

Pay per event

Go to Apify Store
Polymarket Markets Scraper

Polymarket Markets Scraper

📈 Extract Polymarket prediction markets, odds, volume, liquidity, outcomes, tags, events, status, and dates from the public Gamma API.

Pricing

Pay per event

Rating

0.0

(0)

Developer

Stas Persiianenko

Stas Persiianenko

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Categories

Share

Extract Polymarket prediction markets, odds, prices, volume, liquidity, tags, events, and resolution dates from the public Polymarket Gamma API.

Use this actor to build market monitors, trading research dashboards, news alerts, quant datasets, and content calendars around live prediction-market questions.

What does Polymarket Markets Scraper do?

Polymarket Markets Scraper collects one row per Polymarket market.

It reads the public Gamma API.

It does not require a Polymarket login.

It does not open a browser.

It returns normalized fields that are ready for spreadsheets, BI tools, databases, and automated workflows.

Typical output includes the market question, market URL, status flags, outcomes, outcome prices, CLOB token IDs, volume, liquidity, best bid, best ask, last trade price, dates, tags, events, images, and the raw API object when requested.

Who is it for?

Prediction-market traders

Track markets that match a topic.

Monitor odds and liquidity.

Build watchlists for active questions.

Export candidate markets into trading notebooks.

Quant researchers

Collect repeatable market snapshots.

Combine odds with news, social, or macro datasets.

Study volume, liquidity, and market status over time.

News and finance teams

Find public market questions around elections, crypto, companies, sports, and policy.

Use odds as a signal for editorial planning.

Feed market changes into dashboards or alerts.

Content and SEO teams

Discover trending prediction questions.

Create topic briefs from live market data.

Generate pages, newsletters, or market roundups from structured rows.

Why use this actor?

✅ No login is required for the default public-data workflow.

✅ HTTP-only collection keeps runs fast and inexpensive.

✅ One dataset row per market makes exports easy to use.

✅ Outcome prices are parsed into arrays and normalized detail objects.

✅ Direct market URLs, market IDs, and slugs are supported.

✅ Raw Gamma API objects can be included for advanced analysis.

✅ Pay-per-result pricing is predictable for scheduled monitoring.

Data you can extract

FieldDescription
marketIdGamma API market ID
conditionIdPrediction market condition ID
questionIdQuestion identifier when available
questionMarket question text
urlPolymarket market URL
slugPolymarket market slug
activeWhether the market is active
closedWhether the market is closed
outcomesOutcome names such as Yes and No
outcomePricesCurrent outcome prices from the API
outcomeDetailsOutcome, price, and CLOB token ID objects
volumeMarket volume
liquidityMarket liquidity
bestBidBest bid price
bestAskBest ask price
lastTradePriceLatest trade price
endDateMarket end date
tagsTags returned by Polymarket
eventsRelated event summaries
rawDataOptional full source record

How much does it cost to scrape Polymarket markets?

This actor uses pay-per-event pricing.

You pay a small start fee per run.

You then pay per market row saved to the dataset.

The default input collects 100 markets, which is suitable for a first test and for scheduled monitoring.

Because the actor uses the public API and no browser, compute cost is low.

For large monitoring jobs, increase maxItems and keep includeRawData off unless you need the full source object.

Input options

Maximum markets

Set maxItems to the number of market rows you want.

The default is 100.

The maximum is 10,000.

Market status

Choose active markets, closed markets, or all markets.

Active markets are the default because they are most useful for monitoring.

Search text

Use search to filter by words in question text, descriptions, slugs, tags, categories, and event titles.

Examples:

  • bitcoin
  • election
  • fed
  • trump
  • nba

Category or tag filter

Use category when you want a broad topic filter such as Crypto, Politics, Sports, or Elections.

The actor applies this defensively over the normalized market text because Polymarket API category fields can vary by market.

Exact markets

Use marketUrls, marketIds, or marketSlugs for exact watchlists.

This is useful when you already know which markets you need to track.

Advanced limits

Use maxPages and pageSize to control API pagination.

Most users can keep the defaults.

Example input

{
"maxItems": 100,
"status": "active",
"search": "bitcoin",
"includeRawData": false
}

Example output

{
"marketId": "540817",
"question": "New Rihanna Album before GTA VI?",
"url": "https://polymarket.com/market/new-rhianna-album-before-gta-vi-926",
"active": true,
"closed": false,
"outcomes": ["Yes", "No"],
"outcomePrices": [0.12, 0.88],
"volume": 12345.67,
"liquidity": 891.23,
"bestBid": 0.11,
"bestAsk": 0.13,
"endDate": "2026-01-01T00:00:00Z",
"scrapedAt": "2026-07-09T00:00:00.000Z"
}

How to scrape active Polymarket markets

  1. Open the actor on Apify.

  2. Keep status set to active.

  3. Set maxItems to the number of markets you need.

  4. Optionally enter a search keyword such as bitcoin or election.

  5. Click Start.

  6. Export the dataset as JSON, CSV, Excel, or via API.

How to monitor exact market URLs

Paste market URLs into marketUrls.

Set maxItems to at least the number of URLs.

Run the actor on a schedule.

Connect the dataset to your alerting or database workflow.

Integrations

Google Sheets

Export the dataset as CSV or connect via the Apify Google Sheets integration.

Use it for watchlists, market snapshots, and editorial planning sheets.

Databases

Send output to PostgreSQL, BigQuery, Snowflake, or any destination supported by Apify integrations.

Use marketId and scrapedAt for time-series snapshots.

Dashboards

Connect runs to Looker Studio, Metabase, Grafana, or a custom dashboard.

Track liquidity, price changes, and active market counts.

Alerts

Use scheduled runs with webhooks.

Trigger alerts when new matching markets appear or when odds cross a threshold in your downstream workflow.

API usage

Node.js

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('automation-lab/polymarket-markets-scraper').call({
maxItems: 100,
status: 'active',
search: 'bitcoin'
});
console.log(run.defaultDatasetId);

Python

from apify_client import ApifyClient
client = ApifyClient('YOUR_APIFY_TOKEN')
run = client.actor('automation-lab/polymarket-markets-scraper').call(run_input={
'maxItems': 100,
'status': 'active',
'search': 'bitcoin',
})
print(run['defaultDatasetId'])

cURL

curl -X POST 'https://api.apify.com/v2/acts/automation-lab~polymarket-markets-scraper/runs?token=YOUR_APIFY_TOKEN' \
-H 'Content-Type: application/json' \
-d '{"maxItems":100,"status":"active","search":"bitcoin"}'

MCP usage

You can use this actor from Claude through Apify MCP.

MCP endpoint:

https://mcp.apify.com/?tools=automation-lab/polymarket-markets-scraper

Claude Code setup:

$claude mcp add apify-polymarket --url "https://mcp.apify.com/?tools=automation-lab/polymarket-markets-scraper"

Claude Desktop JSON config:

{
"mcpServers": {
"apify-polymarket": {
"url": "https://mcp.apify.com/?tools=automation-lab/polymarket-markets-scraper"
}
}
}

Example prompts:

  • "Scrape 100 active Polymarket markets about bitcoin and summarize the highest-liquidity questions."
  • "Collect active election markets and return a table of question, odds, volume, and end date."
  • "Monitor these Polymarket URLs and tell me which outcomes are priced above 70%."

Tips for better results

Keep the first run small.

Use exact market URLs for critical watchlists.

Use broad search terms for discovery.

Set includeRawData only when you need source-specific fields not exposed in the normalized schema.

Schedule repeat runs when you need changes over time.

Use marketId and conditionId as durable join keys.

Common workflows

Active crypto market monitor

Set status to active.

Set search to bitcoin or crypto.

Run hourly.

Track outcomePrices, volume, and liquidity downstream.

Election question tracker

Set search to election.

Export question, URL, outcomes, prices, and end date.

Use the output for editorial monitoring.

Exact portfolio watchlist

Paste known market URLs.

Run on a schedule.

Compare each run to the previous dataset in your own database.

Reliability notes

The actor uses Polymarket's public Gamma API.

The API is public and currently reachable without authentication.

Public API fields can change.

The actor therefore preserves key raw arrays and can include the full raw record when requested.

If Polymarket changes a field name, the raw object can help you adapt downstream processing quickly.

Limitations

This actor does not place trades.

It does not access private account data.

It does not scrape user portfolios.

It does not guarantee real-time order book depth.

It returns the public API snapshot available at run time.

Polymarket market data is public, but you are responsible for using exported data lawfully.

Respect applicable laws, platform terms, and trading rules.

Do not use the actor to make automated trading decisions without appropriate review.

Troubleshooting

I got fewer rows than maxItems

Your filters may be narrow.

Try removing search or category, or increase maxPages.

Exact URL inputs can also produce fewer rows if some URLs no longer resolve to public markets.

Outcome prices look like decimals

Polymarket represents prices as probabilities between 0 and 1.

For percentages, multiply by 100 in your spreadsheet or database.

I need a field not in the table

Set includeRawData to true.

The dataset will include the full Gamma API market object for each row.

Explore other Automation Lab finance and market-data actors on Apify:

FAQ

Does it need proxies?

No. The default implementation calls the public Gamma API directly.

Does it need a Polymarket account?

No. The actor collects public market data only.

Can I run it on a schedule?

Yes. Scheduled runs are useful for monitoring prices, volume, liquidity, and new markets.

Can I export to CSV?

Yes. Apify datasets support CSV, JSON, Excel, XML, RSS, and API access.

Can I collect closed markets?

Yes. Set status to closed.

Can I collect both active and closed markets?

Yes. Set status to all.

Is this official Polymarket software?

No. It is an independent Apify actor that reads public Polymarket data.