Chainlink Historical Feed Data

Download historical Chainlink feed data for the 7 coins used in Polymarket Up/Down markets as daily Parquet files for research and backtesting. This is not Polymarket proxy data.

2026-06-07
available since
daily
Parquet files
7 coins
Polymarket coverage
Endpoint
https://api.pmdata.dev/chainlink/BTCUSD/streams/BTCUSD_streams_2026-07-18.parquet

Chainlink Historical Feed Data Sample

Preview price, bid, ask, and timestamp fields for Chainlink feeds covering the 7 coins used in Polymarket Up/Down markets. Historical data is available since June 7, 2026.

#symbolobservationsTimestampreceiveMicrosecondTimestamppricebidaskvalidFromTimestampexpiresAtversion
1BTCUSD1784332799000000178433280034941563890.20066563889.50750067096263891.28307155354717843327990000001786924799000000V3
2BTCUSD1784332800000000178433280088133363890.20863563889.51000212932563891.3272558446717843328000000001786924800000000V3
3BTCUSD1784332801000000178433280191470263892.0106441797363891.55817904444863893.85490255557517843328010000001786924801000000V3
4BTCUSD1784332802000000178433280294770263892.4591763892.18842392413563895.1103955759817843328020000001786924802000000V3
5BTCUSD1784332803000000178433280403561863892.4637163892.0863405015863895.1834443946617843328030000001786924803000000V3
6BTCUSD1784332804000000178433280507822263892.71455172289563892.58833952776563895.1288917843328040000001786924804000000V3
7BTCUSD1784332805000000178433280613013663892.7937740350863892.76790759312563895.008312186067517843328050000001786924805000000V3
8BTCUSD1784332806000000178433280723702263892.804934966747563892.77988708605563895.01662451278517843328060000001786924806000000V3

Chainlink data, not Polymarket proxy. Since 2026-06-07

API Example

import requests

api_key = "<YOUR_API_KEY>"
symbol = "BTCUSD"
data_type = "streams"
data_date = "2026-07-18"

file_name = f"{symbol}_{data_type}_{data_date}.parquet"
url = f"https://api.pmdata.dev/chainlink/{symbol}/{data_type}/{file_name}"

response = requests.get(url, headers={"api_key": api_key}, timeout=300)
response.raise_for_status()

with open(file_name, "wb") as output:
    output.write(response.content)