Feed updates
Commodities.BLDU6/USDremovedCommodities.BRENTU6/USDremovedCommodities.TGEQ6/EURremovedEquity.Index.KR200/KRWwent liveCrypto.NAV.USDM/RESERVESwent liveCrypto.NAV.ONYC/USDwent liveMetal.OGQ6/USDremovedCommodities.NGDQ6/USDremovedCommodities.PTN6/USDremovedCommodities.CCN6/USDremovedEquity.US.YUMC/USDwent liveEquity.US.WWD/USDwent liveEquity.US.WTRG/USDwent liveEquity.US.WSO/USDwent live
View all
Developer Hub

History API

Historical price data, OHLC candlesticks, and TradingView integration

Base URL

https://pyth.dourolabs.app/v1

All {channel} path segments refer to a price channel (e.g. real_time, fixed_rate@200ms).

The /{channel}/... endpoints conform to the TradingView UDF specification, allowing you to connect TradingView charting UIs directly to this API.

API key required starting July 24, 2026

Starting July 24, 2026, GET /{channel}/price and GET /{channel}/history require API-key authentication, and unauthenticated access to them will be disabled. API-key auth is supported today, so add the Authorization: Bearer <PRO_API_KEY> header now to stay forward-compatible. See Authentication for the header format, and Frontend Authentication for browser apps. See the announcement for details.

Endpoints

MethodPathAuthDescription
GET/liveNoHealth check
GET/symbolsNoList available symbols
GET/{channel}/priceYes (from July 24, 2026)Price at a specific timestamp
GET/{channel}/historyYes (from July 24, 2026)OHLC candlestick data
GET/{channel}/searchNoSearch symbols
GET/{channel}/symbolsNoResolve a single symbol
GET/{channel}/streamingNoSSE price stream
GET/{channel}/configNoTradingView configuration
GET/publisher_updatesYesRaw publisher updates

GET /symbols

List all available price feed symbols, optionally filtered.

Query Parameters

ParameterTypeRequiredDescription
querystringNoText filter for symbol names
asset_typestringNoFilter by asset type: crypto, fx, equity, metal, rates, nav, commodity, funding-rate

GET /{channel}/price

Returns price data at a specific historical timestamp.

Query Parameters

ParameterTypeRequiredDescriptionExample
idsnumber[]YesPrice feed IDs1,2
timestampnumberYesUnix timestamp in microseconds1704067200000000

GET /{channel}/history

Returns OHLC candlestick data in TradingView format.

Query Parameters

ParameterTypeRequiredDescriptionExample
symbolstringYesTrading pair symbol (case-insensitive)BTC/USD
fromnumberYesStart timestamp (Unix seconds)1704067200
tonumberYesEnd timestamp (Unix seconds)1704153600
resolutionstringYesCandle resolution (see below)60

Available Resolutions

ResolutionDescription
11 minute
22 minutes
55 minutes
1515 minutes
3030 minutes
601 hour
1202 hours
2404 hours
3606 hours
72012 hours
D1 day
W1 week
M1 month

Response Schema

FieldTypeDescription
sstringStatus: ok or error
tnumber[]Unix timestamps (seconds)
onumber[]Open prices
hnumber[]High prices
lnumber[]Low prices
cnumber[]Close prices
vnumber[]Volumes (if available)

Arrays are aligned by index — t[0], o[0], h[0], l[0], c[0] represent the same candle.


GET /{channel}/search

Search for symbols by name and type.

Query Parameters

ParameterTypeRequiredDescription
querystringYesSearch text
typestringYesAsset type filter
exchangestringYesExchange name (default: "PYTH")
limitnumberYesMax results (default: 15)

GET /{channel}/symbols

Resolve a single symbol to its full configuration.

Query Parameters

ParameterTypeRequiredDescription
symbolstringYesSymbol name (case-insensitive)

GET /{channel}/streaming

Server-sent events (SSE) stream of live price updates.


GET /{channel}/config

Returns TradingView-compatible configuration including supported resolutions and data capabilities.


GET /publisher_updates

Returns raw publisher price updates. Requires authentication.

Query Parameters

ParameterTypeRequiredDescription
price_feed_idnumber[]NoFilter by price feed IDs
min_timestampstringNoISO 8601 start time (default: 7 days ago)
max_timestampstringNoISO 8601 end time
sortstringYes"Ascending" or "Descending"
limitnumberNoMax results, 1–10000 (default: 15)

Authentication

Starting July 24, 2026, GET /{channel}/price and GET /{channel}/history require API-key authentication, and unauthenticated access to them will be disabled. Pass your Pro API key as a bearer token:

curl -H "Authorization: Bearer $PRO_API_KEY" \
  "https://pyth.dourolabs.app/v1/fixed_rate@200ms/price?ids=1&timestamp=1704067200000000"

Do not embed your Pro API key in frontend or browser applications. The key must stay server-side. Route requests through your own backend, which injects the Authorization header before forwarding to this API.

For browser/frontend apps that cannot hold a secret, see Frontend Authentication.

See Acquire an API Key to obtain a key.

OpenAPI Schema

The full OpenAPI specification is available at:

On this page