Polymarket data as CSV

Straight answer first: Marketlens bulk exports are Parquet files, not CSV. Getting CSV takes one extra line of pandas, and this page shows exactly that, for bulk downloads and for API queries, across 604,843 recorded Polymarket markets. This page is about getting files onto your disk in the format you need; the export endpoints themselves are documented in the docs and the full dataset overview is on historical data.

What the exports contain

A market export is one Parquet file holding that market's full order book history: L2 snapshots, the price change deltas between them, and executed trades. A series export returns the same thing for every market in a series over a time window, and bar exports deliver order book metrics or OHLCV candles at a chosen resolution. Coverage spans the whole data catalog, from crypto to sports and weather.

Why Parquet and not CSV: typed columns survive the round trip, files compress far smaller, pandas reads them in one call, and the SDK's offline backtesting mode consumes the downloaded directory directly via data_dir. CSV would throw all of that away as the default, so it is the conversion step instead.

Parquet to CSV in one line

python
import pandas as pd from marketlens import MarketLens client = MarketLens() # bulk export arrives as Parquet, one line to CSV path = client.exports.download(market_id, data_dir="data") pd.read_parquet(path).to_csv("orderbook.csv", index=False) # any API query converts the same way trades = client.markets.trades( market_id, after="2026-07-01T00:00:00Z", before="2026-07-02T00:00:00Z", ) trades.to_dataframe().to_csv("trades.csv", index=False)

Every SDK iterator exposes to_dataframe(), so the second pattern covers trades, candles, market listings, and order book history pages alike. Endpoint parameters and the curl equivalents are in the exports reference.

Cost and limits

Exports charge against the daily event budget, one exported row is one event, and there is no separate cap on the number of exports. The free tier includes 5M events per day; how that compares to other vendors' download allowances is on the comparison page.

Common questions

Can I export Polymarket data to CSV?

Yes, in one extra line. Marketlens bulk exports are Parquet files, not CSV, and pandas converts them with pd.read_parquet(path).to_csv("out.csv"). The exports cover order book snapshots, deltas, and trades for 604,843 Polymarket markets, per market or per whole series.

How do I convert a Polymarket Parquet file to CSV?

With pandas: df = pd.read_parquet("history.parquet"), then df.to_csv("history.csv", index=False). No schema work needed; column names and types come through from the Parquet metadata.

Why does Marketlens export Parquet instead of CSV?

Parquet is a compressed columnar format with typed columns, so files are far smaller than the equivalent CSV, load directly into pandas, and feed the SDK's offline backtesting mode without conversion. CSV is one method call away whenever a spreadsheet or another tool needs it.

Can I get Polymarket trades or candles as CSV?

Yes. Every SDK query iterator exposes to_dataframe(), so client.markets.trades(...).to_dataframe().to_csv(...) writes trades straight to CSV, and the same works for candles, markets, and order book history pages.

How much Polymarket data can I export for free?

Exports charge against the daily event budget, one exported row is one event, and the free tier includes 5M events per day. There is no separate cap on the number of exports.

Try it

Download your first export now

The free tier includes 5M events per day with full API and full archive access, no card required.

bash
$ pip install marketlens