tickfoundry
capture livesign inget the data →
◉ capture running since 2026-05-11parquet / CSV · REST API · SFTP

Polymarket historical data —
every tick, every book update, every trade.

Tick-by-tick price history, the full 25-level L2 order book and the complete trade tape — captured live from the venue by dual-region, sequence-audited collectors and delivered as clean parquet/CSV bundles or over a REST API.

No websocket feed handler to write, no capture plant to babysit, no gaps the moment you blink. The market you didn't think to record last month is already on disk — we never stopped watching.

Running your own plant — capture, storage, redundancy, normalization — starts at $1,000+/month, and every month you spend building it is a month of history you cannot go back for.

  • Whole venue, continuously — every market on Polymarket, not the handful you thought to point a recorder at.
  • Analysis-ready — deduplicated, sequence-audited, stable schemas and join keys across every market and day.
  • Yours in minutes — pick a market·day, and the bundle stages while you finish your coffee.
Start with the real data
no card
pick a market·day — the first 5 are free
BTC Up or Down 5m
latest day 2026-09-07 · ⚡ instant full depth
Claim free →
ETH Up or Down 5m
latest day 2026-09-07
Claim free →
↓ Download the sample bundle — 23 MB parquet, no sign-up

BTC Up or Down 4h · 2026-08-19 · full day of L1 / L2 / trades + one hour of raw websocket.

Create free account →
  • $05 market·days of your choosing, any market, any date on disk
  • Parquet with a CSV twin, plus the reference dictionary to join it
  • The whole catalog, browsable — see exactly what exists before you buy

Takes about a minute. No card, no sales call. Paid plans start at $89/mo and cancel any time.

Already know the market·day you need? Buy it straight from the catalog — checkout takes an email and a card, no account first.

ticks captured
155,771,003,485
archive · compressed
17,357 GB
outcome tokens tracked
395,954
capture running since
2026-05-11
One-minute candles for the Polymarket market “Will Spain vs. Argentina end in a draw?” on 2026-07-19: flat at 32¢ all day, then a steady climb to 100¢ over the ninety goalless minutes of the World Cup final.
The 2026 World Cup final as the order book saw it — our own capture, not a vendor's replay. These 151 one-minute bars are an aggregate of the layer you actually download: 40,529 individual book updates, each with a nanosecond receive timestamp. Read the note on this market →
from this page to a dataframe

Three steps, about five minutes.

There is no onboarding call, no data-request form and no quote to wait on. The whole thing is self-serve, and the free tier is the same delivery path a paying customer uses.

01
Create the free account

Email and password. No card, no sales call, no waiting on a quote — the catalog opens immediately. Or skip it: a single market·day can be bought as a guest, and the receipt sets your password afterwards.

02
Pick a market and a day

Search the catalog of every market·day on disk — sports, politics, crypto, culture — and claim any 5 of them. The bundle stages in about a minute.

03
Load it and get to work

Parquet with a CSV twin, plus a reference dictionary that maps every id to the real question. One read_parquet and you have a dataframe.

step 03 — the whole integrationpython
import pandas as pd

l1     = pd.read_parquet("l1.parquet")      # every quote change, ns timestamps
book   = pd.read_parquet("l2.parquet")      # 25 levels a side, every update
trades = pd.read_parquet("trades.parquet")  # the print tape

l1["mid"] = (l1.best_bid + l1.best_ask) / 2
That snippet runs against your first free bundle — the quickstart notebook walks a real one end to end.
what's in the archive

Four layers of history, one contiguous archive.

Everything below comes from the same captured tape and joins on the same keys — outcome token, market, event, series — with nanosecond receive timestamps on a single clock. Full column-by-column detail is in the schema reference, and every change to it is dated in the changelog.

Price history — L1 quotes

every tick

Best bid, best ask and mid for every outcome token, recorded on every change — not sampled, not bucketed into candles. Each row carries the collector's nanosecond receive timestamp, so the price history replays in true arrival order.

Order-book history — L2 depth

25 levels

The full limit-order-book ladder, up to 25 levels per side, on every book update. Resting size, spread regimes, sweeps and refills — the microstructure detail that sampled price feeds throw away and that can't be reconstructed after the fact.

Trade history — the complete tape

since February 2026

Every fill with price, size and aggressor side, captured tick-by-tick from the venue's own feed — the print tape as it happened, not a reconstruction. Older history is a separate layer: on-chain trade fills read from Polygon settlement, back to 2023 per market, sold on their own (Premium and up).

Raw feed — websocket atoms

Professional

The untouched websocket messages our collectors received, compressed and hash-audited, plus the deterministic replay engine. For desks and auditors who need to rebuild any book at any nanosecond, in-house, byte-for-byte.

formats & delivery

Download it as CSV or parquet. Or don't download it at all.

Every bundle is columnar parquet with a CSV twin — one read_parquet or read_csv away from a dataframe, in pandas, R or Excel. Take it whichever way suits the job.

Dashboard downloadevery plan

Pick a market·day, watch it stage, pull the file. Interrupted transfers resume rather than restarting, so a multi-gigabyte pull survives a flaky connection.

REST APIExplorer +

List the catalog, request any market·day, poll the build and stream the bundle — key-authenticated end to end. Feed a backtest grid or a training pipeline without clicking anything.

SFTPPremium +

Self-serve setup with your own key. Your bundles appear grouped by date, alongside a rolling window of the live normalized tree scoped to the markets you chose.

request a market·day over the APIbash
curl -H "Authorization: Bearer tf_live_…" \
  -X POST https://tickfoundry.com/api/v1/downloads \
  -d '{"unit_id": "…", "date": "2026-07-15"}'

Full endpoint reference, auth and worked examples in the API docs.

coverage & provenance

The whole venue, continuously — not just the markets you thought to watch.

A DIY recorder only captures what it was pointed at. TickFoundry captures every market on Polymarket, all day, every day — sports, politics, crypto, culture — so when your research changes direction, the history is already there. Two redundant collectors in separate regions record the same feed; sequence numbers are audited mechanically and gaps are cross-filled between them.

Tick and book capture since 2026-05-11 · on-chain fills back to 2023-08, per market — thinner before 2026. We start clean and accumulate — one contiguous archive, no synthetic backfill. Where a day has a known gap, the bundle says so in writing. Our research notes are computed from the same bundles we sell, so you can rerun every figure yourself.

Every market·day on disk is listed and datestamped in the catalog. Check your markets are there before you spend anything.
plans

Start at zero. Scale to the whole venue.

No per-market pricing and no credits arithmetic — one flat plan reaches any market·day when you need it. You do not have to know in advance which markets you will want: every plan roams the whole venue, you download only the market·days you actually use, and keeping the rest on disk stays our problem, not yours. So does keeping the capture alive: the monitoring, and the pager when a feed drops at three in the morning. Founder pricing — 25% off for the life of the subscription — is live on Explorer and Premium while 41 seats remain.

Run it yourself
$1,000+/ month, at least
Storage, compute, redundancy, normalization — billed every month, mostly for markets you're not even sure you'll use. Pull what you need instead, and none of it is your problem. why →
Or pay:
FreeKick the tires — no card.
$0

Create a free account and pull any 5 market·days from the live venue, plus the full sample bundle. Validate the schema against your pipeline before you pay a cent.

Create free account →
ExplorerRoam the whole venue, flat rate.
$89$66.75 /mo

Personal-use access to every market on the venue — pull any series or event, any day, as much as you need within a fair-use cap. Built for the solo quant, PhD student and indie researcher.

Start Explorer
PremiumFull depth, fair use, cross-asset.
$199$149.25 /mo

Everything in Explorer, uncapped on downloads — the full 25-level L2 ladder, a fair-use cap on the API, the Binance + Chainlink spot (RTDS) feeds for spot-versus-prediction-market correlation work, and SFTP delivery.

Start Premium
ProfessionalEverything in Premium, built around your stack.
Tailored Pricing

Everything in Premium plus the raw websocket atoms and replay source, hourly (or faster) updates, and delivery customized to your infrastructure — a dedicated S3 bucket with your own routes, SFTP, VPC peering or direct push — with an SLA, a named contact and a bespoke license.

Talk to sales
Tier-by-tier detail — limits, licences and what each layer includes — on the pricing page.
faq
Does Polymarket provide historical data?
Not at this fidelity. Polymarket's public endpoints serve sampled price points at best, and the real-time websocket is not recorded for you — once a book update scrolls past, it is gone. Tick-level order-book depth and the full trade tape cannot be fetched retroactively from the venue. TickFoundry has captured the whole venue continuously since 2026-05-11, and order-book history reaches back to February 2026, so that history exists here.
How do I download Polymarket price history as CSV?
Create a free account (or buy a single market·day as a guest, no account first), pick any market and date in the catalog, and download the bundle from the dashboard — every bundle ships as parquet with a CSV twin, so it loads in pandas, R or Excel without special tooling. Free accounts get 5 market·days plus the full sample bundle; paid plans pull the whole venue.
How far back does the historical data go?
Order-book and tick history runs back to February 2026, and our own capture has run continuously since 2026-05-11 — every market·day from that date on is capture rather than reconstruction. On-chain trade fills go deeper still: settled fills read from Polygon, back to 2023, requested separately from market·day bundles (Premium and up). Coverage there is per market — it starts when that market first traded, and we publish the exact range per unit instead of quoting one floor. Density before 2026 is thinner because our market universe was still filling in. We start clean and accumulate — no synthetic backfill or gaps to paper over.
Is there a free sample of the tick data?
Yes — the free sample is a real slice of the archive (a Bitcoin market on 2026-05-19): raw feed, L1 quotes, L2 depth, trades and reference data, in the schema every paid bundle ships in. Judge the fidelity before you pay a cent.
Is there an API for the historical data?
Yes — a REST API on Explorer and up. List the catalog, request any market·day, poll the staging job and stream the bundle down with your API key. Premium adds SFTP delivery; a thin Python SDK is coming soon. The free tier is dashboard-download only.
Can I use the data commercially?
Explorer and Premium are personal-use: build models, write papers, trade your own book. Reselling, redistributing or embedding the data in a product you ship needs the bespoke license on Professional.

The history exists because we captured it.
Now it's a download away.

5 market·days and the full sample bundle, free, with no card — enough to run your idea against the real tape before you decide anything.

Or skip the account entirely: buy a single market·day from the catalog with just an email and a card.

5 market·days free · no cardStart free →