# Polymarket Scraper (`sheshinmcfly/polymarket-scraper`) Actor

Search Polymarket prediction markets, events, and trades with live odds, volume, liquidity, and whale trade activity. No login or API key needed -- filter by category or keyword and get structured data ready for market research, arbitrage analysis, or sentiment tracking.

- **URL**: https://apify.com/sheshinmcfly/polymarket-scraper.md
- **Developed by:** [Sheshinmcfly](https://apify.com/sheshinmcfly) (community)
- **Categories:** News, Lead generation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 1 bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.00 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

Search Polymarket prediction markets, events, and trades — live odds, volume, liquidity, and whale trade activity. No login, no account, no API key.

Get structured data for market research, arbitrage analysis, sentiment tracking, or building your own prediction-market dashboard.

### How to use

1. Choose a **Data type**: markets (individual questions with live odds), events (grouped markets by topic), or trades (recent activity, including whale-sized trades).
2. Optionally filter by **search query**, **category**, **active/closed status**, or sort markets by volume/liquidity.
3. For trades, filter by a specific market or trader wallet, or set a **minimum trade size** to isolate whale activity.
4. Set **max results** and run.

### Use cases

- **Market research:** track odds movement, volume, and liquidity across any prediction market topic.
- **Whale tracking:** monitor large trades to spot informed betting activity before odds shift.
- **Arbitrage analysis:** compare related markets and events for pricing inefficiencies.
- **Sentiment tracking:** follow how public opinion (priced into odds) shifts on political, economic, or cultural events over time.

### Input

| Field | Title | Description |
|---|---|---|
| `dataType` | Data type | What to scrape: prediction markets (single questions with odds), events (grouped markets with a shared topic), or recent trades (whale activity). |
| `searchQuery` | Search query | Filter markets or events by keyword in the question/title (e.g. "bitcoin", "election"). Leave empty to get all. |
| `category` | Category (events only) | Filter events by category tag slug (e.g. "politics", "crypto", "sports", "pop-culture"). Only applies when Data type is Events. |
| `activeOnly` | Active markets/events only | Only return markets or events that are still open for trading. Turn off to include everything. |
| `includeClosed` | Include closed/resolved | Include markets or events that have already been resolved. Useful for historical analysis. |
| `sortBy` | Sort by (markets only) | Order markets by this field, highest first. Only applies when Data type is Markets. |
| `marketConditionId` | Market condition ID (trades only) | Filter trades to a single market by its conditionId (found in a market record's "conditionId" field). Only applies when Data type is Trades. |
| `traderWallet` | Trader wallet address (trades only) | Filter trades to a single trader's wallet address. Only applies when Data type is Trades. |
| `minTradeSize` | Minimum trade size (trades only) | Only return trades at or above this size (in shares), useful for isolating whale activity. Only applies when Data type is Trades. |
| `maxResults` | Max results | Maximum number of records to return. |

### Output example

```json
{
  "recordType": "market",
  "id": "540844",
  "question": "Will bitcoin hit $1m before GTA VI?",
  "slug": "will-bitcoin-hit-1m-before-gta-vi-872-424",
  "url": "https://polymarket.com/event/will-bitcoin-hit-1m-before-gta-vi-872-424",
  "category": "Crypto",
  "outcomes": [
    { "outcome": "Yes", "price": 0.4965 },
    { "outcome": "No", "price": 0.5035 }
  ],
  "active": true,
  "closed": false,
  "liquidity": 128425.19,
  "volume": 4652179.79,
  "volume24hr": 12500.5,
  "endDate": "2026-07-31T12:00:00Z"
}
```

### Performance & cost

Fast, structured results — no long waits for large jobs.

### Pricing

This actor uses **pay-per-result** pricing — you are charged per record returned. See the pricing shown on the actor page.

### Keywords

polymarket scraper, prediction market data, polymarket api, whale trades, prediction market odds, crypto prediction markets, betting odds scraper, polymarket events

### Related actors

- [Airbnb Scraper](https://apify.com/sheshinmcfly/airbnb-scraper)
- [TradingView Screener](https://apify.com/sheshinmcfly/tradingview-screener)
- [FinViz Stock Screener](https://apify.com/sheshinmcfly/finviz-stock-screener)

### Disclaimer

This actor collects only publicly available market data from Polymarket. Use the data in compliance with the applicable terms and with data-protection laws in your jurisdiction. This actor does not provide financial or betting advice.

### Changelog

| Version | Date | Changes |
|---|---|---|
| 1.0 | 2026-07-14 | Initial release — markets, events, and trades with odds, volume, liquidity, and whale activity |

# Actor input Schema

## `dataType` (type: `string`):

What to scrape: prediction markets (single questions with odds), events (grouped markets with a shared topic), or recent trades (whale activity).

## `searchQuery` (type: `string`):

Filter markets or events by keyword in the question/title (e.g. "bitcoin", "election"). Leave empty to get all.

## `category` (type: `string`):

Filter events by category tag slug (e.g. "politics", "crypto", "sports", "pop-culture"). Only applies when Data type is Events.

## `activeOnly` (type: `boolean`):

Only return markets or events that are still open for trading. Turn off to include everything.

## `includeClosed` (type: `boolean`):

Include markets or events that have already been resolved. Useful for historical analysis.

## `sortBy` (type: `string`):

Order markets by this field, highest first. Only applies when Data type is Markets.

## `marketConditionId` (type: `string`):

Filter trades to a single market by its conditionId (found in a market record's "conditionId" field). Only applies when Data type is Trades.

## `traderWallet` (type: `string`):

Filter trades to a single trader's wallet address. Only applies when Data type is Trades.

## `minTradeSize` (type: `integer`):

Only return trades at or above this size (in shares), useful for isolating whale activity. Only applies when Data type is Trades.

## `maxResults` (type: `integer`):

Maximum number of records to return.

## Actor input object example

```json
{
  "dataType": "markets",
  "activeOnly": true,
  "includeClosed": false,
  "maxResults": 100
}
```

# Actor output Schema

## `dataset` (type: `string`):

All extracted records.

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {};

// Run the Actor and wait for it to finish
const run = await client.actor("sheshinmcfly/polymarket-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {}

# Run the Actor and wait for it to finish
run = client.actor("sheshinmcfly/polymarket-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{}' |
apify call sheshinmcfly/polymarket-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=sheshinmcfly/polymarket-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/ISysRIH4vocYJkPgL/builds/NtxBhUMNZYBv2qVAz/openapi.json
