# Polymarket Data: Odds History, Volume & Open Interest (`feeddlabs/polymarket-odds-history`) Actor

Query available Polymarket odds, volume, liquidity, open interest, and historical intervals by event link or keyword. Free demo: fixed sample only; paid Apify plan required for custom data. API platform usage is billed separately by Apify.

- **URL**: https://apify.com/feeddlabs/polymarket-odds-history.md
- **Developed by:** [Feedd Labs](https://apify.com/feeddlabs) (community)
- **Categories:** News
- **Stats:** 3 total users, 2 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.80 / 1,000 rows

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

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

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
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.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## 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.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## Polymarket Data: Odds History, Volume & Open Interest

**Free demo:** runs and API requests return a fixed sample of real rows.
Your accounts, queries, dates, and filters are not applied. Repeating a run
returns the same sample; a smaller row limit returns its prefix. Upgrade
your Apify plan to request your own data. Demo rows have no result charge;
the listed Actor start charge still applies.

Available Polymarket markets with odds, volume, liquidity, and open
interest, plus historical odds at intervals from 1 minute to 1 day.
Coverage and update times vary by event and market.
Paste event links or type keywords.

**$1 per 1,000 rows.** Try the fixed Free demo.

### Why use it

- **Odds history.** Odds and open interest over time for every outcome,
  from 1 minute to 1 day.
- **Paste a link.** Paste any polymarket.com event link, or search by
  keyword such as "fed" or "election".
- **Markets grouped by event.** A 2028 nominee event has 100+ markets; you
  get all of them, most active first.
- **Volume and open interest.** 24-hour volume, liquidity and open interest
  for each market.

### Quick start

Current odds for an event:

```json
{ "events": ["https://polymarket.com/event/democratic-presidential-nominee-2028"] }
```

Available daily odds history for Fed-related markets:

```json
{ "search": ["fed"], "data": "history", "interval": "1d", "from": "2026-01-01" }
```

Leave **Events** and **Search** empty to get today's biggest events.

### What you get

| Field | What it is |
| --- | --- |
| `event`, `question`, `outcome` | The event, the market's question and the outcome priced |
| `probability`, `best_bid`, `best_ask` | Current odds (0 to 1) |
| `volume_24h_usd`, `liquidity_usd`, `open_interest_usd` | Money traded, available, and at stake (USD) |
| `closes_at`, `status`, `winner` | When it closes and, once resolved, who won |
| `time`, `open`, `high`, `low`, `close` | History rows: odds per interval |
| `volume_usd`, `trades` | History rows: activity per interval |

#### Example

```json
{
  "type": "market",
  "event": "Democratic Presidential Nominee 2028",
  "event_url": "https://polymarket.com/event/democratic-presidential-nominee-2028",
  "question": "Will Abigail Spanberger win the 2028 Democratic presidential nomination?",
  "outcome": "Yes",
  "other_outcome": "No",
  "probability": 0.0015,
  "best_bid": 0.001,
  "best_ask": 0.002,
  "volume_24h_usd": 1646381.09,
  "liquidity_usd": 414879.04,
  "open_interest_usd": 6389.13,
  "status": "OPEN",
  "closes_at": "2028-11-07T00:00:00.000Z"
}
```

Download as CSV, Excel, or JSON.

### Use it as an API

Call it like a REST API, with no runs to manage: `/markets` and `/history`
answer in JSON with the same rows and prices as a run. Try them in the
**Endpoints** tab, or copy the Actor's URL from there:

```bash
curl -H "Authorization: Bearer YOUR_APIFY_TOKEN" \
  "https://ACTOR_URL/markets?search=fed"
```

### Pricing

Prices below are result fees. The **Pricing** tab also lists an Actor start
charge, including for empty runs, demo runs, and problem reports. Demo rows have
no result charge. Custom data requires a paid Apify plan. Its subscription
includes usage credit; it is not a separate Feedd subscription. API calls
require an Apify token.

$1 per 1,000 rows: the current odds of a 100-market event cost 10 cents. On
Apify's Business plan, $0.80 per 1,000. Paid plans return available closed
intervals; collection delays can vary. A run stops at 10,000 rows unless you
raise **Maximum rows**.

Apify Free plan: fixed sample data only. Runs and API calls return the same
sample. Upgrade for custom data at the result rates above.

### FAQ

**Which markets?** Polymarket's 1,000+ most active markets across politics,
sports, crypto, economy, and world events, including closed and resolved ones
when you ask.

**How far back does history go?** Back to 2025 for long-running markets;
newer markets from the day they opened.

**Can AI agents use it?** Yes. Add
`https://mcp.apify.com?tools=feeddlabs/polymarket-odds-history` to Claude,
ChatGPT, or Cursor and ask, for example, "What are the odds of a Fed cut in
October, and how have they moved this month?"

**Something not right?** Write it in **Report a problem** and run the Actor.
The run only submits your report, with no result charge. The listed Actor
start charge still applies. AI agents can report problems too.

### More from Feedd Labs

| Actor | What it does |
| --- | --- |
| [X (Twitter) Real-Time Monitor](https://apify.com/feeddlabs/x-twitter-user-tracker) | Posts and account changes delivered by WebSocket or webhook |
| [X (Twitter) Search Scraper](https://apify.com/feeddlabs/x-twitter-search) | Tweets and replies by keyword, account and date |
| [X (Twitter) Followers Scraper](https://apify.com/feeddlabs/x-twitter-followers-scraper) | Followers, following and profiles of public accounts |
| [X (Twitter) Account Watch](https://apify.com/feeddlabs/x-account-changes) | Who an account follows or unfollows, and its profile changes |
| [X (Twitter) Ads Library](https://apify.com/feeddlabs/x-ads-library) | Collected promoted ads and brand creative |
| [Mainstream News Live & Archive](https://apify.com/feeddlabs/mainstream-news-archive) | Collected news articles from major outlets |
| [US Stock Market Data](https://apify.com/feeddlabs/us-stock-market-data) | 1-minute stock history since 2016, futures and financial statements |
| [Crypto Derivatives Data](https://apify.com/feeddlabs/crypto-derivatives-data) | Open interest, funding and liquidations on 4 exchanges |
| [Crypto OHLCV & Trades](https://apify.com/feeddlabs/crypto-ohlcv-trades-data) | Candles from 1 second to 1 day and individual trades |
| [Polymarket Data](https://apify.com/feeddlabs/polymarket-odds-history) | Available odds history, volume and open interest by event |

# Actor input Schema

## `events` (type: `array`):

Polymarket event links, e.g. https://polymarket.com/event/democratic-presidential-nominee-2028. Up to 50.

## `search` (type: `array`):

Keywords to find open events, e.g. fed, bitcoin, election. Leave this and Events empty for today's biggest events.

## `data` (type: `string`):

Markets: one row per market with current odds. History: one row per market and time bucket.

## `interval` (type: `string`):

History mode: one row per interval.

## `from` (type: `string`):

History mode: first day (YYYY-MM-DD). Default: 30 days of hourly rows.

## `to` (type: `string`):

History mode: last day, included (YYYY-MM-DD). Default: now.

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

Also get closed and resolved markets of these events, with the winner.

## `maxMarkets` (type: `integer`):

At most this many markets, most active first.

## `maxItems` (type: `integer`):

Stop after this many rows in total. Total across the whole run, not per query or account. On Free, this can only shorten the fixed sample.

## `reportProblem` (type: `string`):

Something wrong or missing? Write it here and run: we get your message, the run does nothing else, and it's free. AI agents can use this too.

## Actor input object example

```json
{
  "events": [
    "https://polymarket.com/event/democratic-presidential-nominee-2028"
  ],
  "data": "markets",
  "interval": "1h",
  "includeClosed": false,
  "maxMarkets": 50,
  "maxItems": 10000
}
```

# Actor output Schema

## `rows` (type: `string`):

Dataset rows: markets now, or odds history.

## `summary` (type: `string`):

The OUTPUT record: events found, rows per market, or an error code.

# 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 = {
    "events": [
        "https://polymarket.com/event/democratic-presidential-nominee-2028"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("feeddlabs/polymarket-odds-history").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 = { "events": ["https://polymarket.com/event/democratic-presidential-nominee-2028"] }

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

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

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

```

## CLI example

```bash
echo '{
  "events": [
    "https://polymarket.com/event/democratic-presidential-nominee-2028"
  ]
}' |
apify call feeddlabs/polymarket-odds-history --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,feeddlabs/polymarket-odds-history"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

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