> Full docs in one file: https://pmdata.dev/llms-full.txt

# Polymarket US

Source: https://pmdata.dev/docs/historical-data-details/polymarket-us

> Polymarket US historical data coverage, downloads, and collection details.

Coverage start date: **2026-09-10**.

Polymarket US ([polymarket.us](https://polymarket.us)) is the CFTC-regulated US exchange, separate from the international [Polymarket](https://pmdata.dev/docs/historical-data-details/polymarket) exchange: its own markets, market slugs and order books.

## Available data

| Data type | Contents |
| --- | --- |
| `l2` | Order book of one market for one UTC day, from the Polymarket US WebSocket. Every row is a complete book with the market state. |
| `trades` | Trades of one market for one UTC day, from the Polymarket US WebSocket, with maker and taker side and intent. A day has a file only if the market traded that day. |

There is no lifecycle file: every `l2` and `trades` row carries the market or trade state in its `state` column. There are no on-chain fills. See the Polymarket US [L2](https://pmdata.dev/docs/schemas/polymarket-us/l2) and [trades](https://pmdata.dev/docs/schemas/polymarket-us/trades) schemas for column definitions.

## API access and data format

Send your API key in the `api_key` request header. Get a free key at [pmdata.dev/app](https://pmdata.dev/app).

Each file costs one download. A file that does not exist returns `404` and costs nothing.

Polymarket US is a separate product from Plus: Polymarket and Plus: Predict.fun. Free accounts can download Polymarket US data older than 3 weeks (21 days): 600 downloads at sign-up, then 50 per month, counted separately from the other products. Data from the last 3 weeks needs [Plus: Polymarket US](https://pmdata.dev/pricing#polymarket-us); Plus: Polymarket and Plus: Predict.fun do not include it. Plus: Polymarket US also includes [Chainlink](https://pmdata.dev/docs/historical-data-details/chainlink) data.

### Market API

Download one market's Parquet file for one data type and UTC date. `market_slug` is the Polymarket US market slug. Markets and dates PMData has recorded: see the [markets catalog](https://pmdata.dev/docs/schemas/polymarket-us/markets-catalog).

`https://api.pmdata.dev/v1/polymarket_us/{data_type}/{YYYY}/{MM}/{DD}/{market_slug}.parquet`

Response schema by `data_type`: [`l2`](https://pmdata.dev/docs/schemas/polymarket-us/l2) · [`trades`](https://pmdata.dev/docs/schemas/polymarket-us/trades)

```python

market_slug = "aec-nfl-pit-cle-2026-10-01"  # Polymarket US market slug
date = "2026/10/01"  # UTC date, YYYY/MM/DD
data_type = "l2"  # l2, trades

url = (
    f"https://api.pmdata.dev/v1/polymarket_us/{data_type}/"
    f"{date}/{market_slug}.parquet"
)

df = pd.read_parquet(
    url,
    storage_options={
        "api_key": "<YOUR_API_KEY>",
    },
)
print(df.head())
```

`timestamp` and `local_timestamp` are nanosecond timestamps (`timestamp[ns]`, UTC). pandas reads them as `datetime64[ns]` and keeps the nanoseconds; `df["timestamp"].astype("int64")` gives nanoseconds since the epoch. Add `.dt.tz_localize("UTC")` for timezone-aware values.

Prices are in US dollars from 0 to 1 and are the price of the market's long outcome (the catalog's `yes_outcome`). The `outcome` parameter is not supported and returns `400`.

## Captured real-time channels

PMData collects these subscriptions from the Polymarket US WebSocket, **`wss://api.polymarket.us/v1/ws/markets`**:

- `SUBSCRIPTION_TYPE_MARKET_DATA` — The complete order book of a market (`marketData`), sent on every change. Stored in `l2`.
- `SUBSCRIPTION_TYPE_TRADE` — Every trade (`trade`). Stored in `trades`.

Each row keeps the source timestamp and PMData's receive timestamp, `local_timestamp`.

## Market data collection details

PMData's market data collection infrastructure for Polymarket US is located in AWS `us-east-1`, colocated with Polymarket US.
