Skip to main content
GET
/
api
/
v1
/
polymarket
/
market
/
data
Get Polymarket Market Data
curl --request GET \
  --url https://api.entityml.com/api/v1/polymarket/market/data \
  --header 'Authorization: <authorization>'
{
  "market_condition_id": "<string>",
  "date": "<string>",
  "data_count": 123,
  "data": [
    {
      "market": "<string>",
      "asset_id": "<string>",
      "timestamp": "<string>",
      "hash": "<string>",
      "event_type": "<string>",
      "bids": [
        {}
      ],
      "asks": [
        {}
      ],
      "changes": [
        {}
      ],
      "received_at": "<string>",
      "worker_id": 123
    }
  ],
  "pagination": {}
}

Request

Headers

Authorization
string
required
Bearer token. Example: Bearer YOUR_API_KEY

Query Parameters

condition_id
string
required
The Polymarket market condition ID. Values are accepted with or without the 0x prefix and normalized in the response. If you only have a slug or Polymarket URL, use Look Up Polymarket Slug.
date
string
required
UTC date in YYYY-MM-DD format. Orderbook data exists for a subset of Polymarket markets from 2025-09-01, but coverage is not continuous. Continuous Polymarket crypto-related market coverage begins on 2026-02-04, and continuous coverage for all Polymarket markets begins on 2026-04-02, but this endpoint currently rejects dates earlier than 2026-02-08. Use Get Polymarket Market Date Range to inspect stored availability for a specific market.
offset
integer
Number of filtered records to skip. Default: 0.
limit
integer
Maximum number of filtered records to return. Default: 10000. Max: 100000.

Response

market_condition_id
string
The normalized market condition ID with the 0x prefix.
date
string
The requested UTC date.
data_count
integer
Number of records returned in the current page.
data
array
Array of raw Polymarket events. Each event can include the following fields:
pagination
object
Pagination metadata with offset, limit, total_count, and has_more.
The legacy alias GET /api/v1/market/data remains available for existing integrations.
For arbitrary windows across one or more days, use Get Polymarket Market Data Range.

Example

from poly_storage_sdk import PolyStorageClient

client = PolyStorageClient(api_key="YOUR_API_KEY")

data = client.polymarket.get_market_data(
    condition_id="0x8213d395e079614d6c4d7f4cbb9be9337ab51648a21cc2a334ae8f1966d164b4",
    date="2026-03-20",
)

print(data["data_count"])

Example response

{
  "market_condition_id": "0x8213d395e079614d6c4d7f4cbb9be9337ab51648a21cc2a334ae8f1966d164b4",
  "date": "2026-03-20",
  "data_count": 47,
  "data": [
    {
      "market": "0x8213d395e079614d6c4d7f4cbb9be9337ab51648a21cc2a334ae8f1966d164b4",
      "asset_id": "97684905927345553455494278582909124912046930226695064344571162061840768197777",
      "timestamp": "1773966061736",
      "hash": "98894e2c3a5764942f6e6b8183b18cb330985975",
      "bids": [],
      "asks": [
        { "price": "0.99", "size": "310000" }
      ],
      "event_type": "book",
      "received_at": "2026-03-20T00:21:03.548509",
      "worker_id": 24
    }
  ],
  "pagination": {
    "offset": 0,
    "limit": 500,
    "total_count": 47,
    "has_more": false
  }
}