Feed updates
Equity.US.SKHYV/USDremovedCrypto.NEX/USDremovedCrypto.HWUSD/USDC.RRremovedCrypto.USDU/USDremovedCrypto.SHYPE/HYPE.RRremovedCrypto.GOLD/USDremovedCrypto.4/USDremovedCrypto.WVLP/USDT.RRremovedCrypto.THBILL/USDC.RRremovedCrypto.BUCKET.USDB/USDremovedCrypto.WHLP/USDC.RRremovedCrypto.VKHYPE/KHYPE.RRremovedCrypto.URANUS/USDremovedCrypto.UP/USDremoved
View all
Developer Hub

REST API

On-demand price queries via REST

Base URL

https://pyth-lazer.dourolabs.app

API key required for POST /v1/price starting July 24, 2026

Starting July 24, 2026, POST /v1/price requires API-key authentication, and unauthenticated access to it will be disabled. Pass Authorization: Bearer <PRO_API_KEY>; API-key auth is supported today, so add the header now to stay forward-compatible. Do not expose the key in browser apps — keep it server-side. See Authentication for the header format and frontend-safe guidance, and the announcement for details.

Endpoints

MethodPathAuthDescription
POST/v1/latest_priceYesFetch the latest price for one or more price feeds
POST/v1/priceYes (from July 24, 2026)Fetch price data at a specific historical timestamp

POST /v1/latest_price

Returns the most recent price data for the requested feeds. The request body follows the same schema as the WebSocket subscribe message — see the Payload Reference for full details.

Request Body

FieldTypeRequiredDescription
channelstringYesSubscription channel. One of: real_time, fixed_rate@1ms, fixed_rate@50ms, fixed_rate@200ms, fixed_rate@1000ms

Each feed has a minimum supported channel (min_channel), discoverable via /v1/symbols. You must use a channel at or above the feed's min_channel. See Symbology & Reference Data for every field the symbols endpoint returns.

POST /v1/price

Returns price data at a specific historical timestamp.

Request Body

All fields from /v1/latest_price, plus:

FieldTypeRequiredDescription
timestampu64YesUnix timestamp in microseconds. Must be a raw integer — do not quote it.

For the full response schema — including price feed fields, signed payloads, and available properties — see the Payload Reference.

Authentication

Starting July 24, 2026, POST /v1/price requires API-key authentication, and unauthenticated access to it will be disabled. Pass your Pro API key as a bearer token:

curl -X POST -H "Authorization: Bearer $PRO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"priceFeedIds":[1,2],"properties":["price"],"formats":["solana"],"channel":"fixed_rate@200ms","timestamp":1704067200000000}' \
  "https://pyth-lazer.dourolabs.app/v1/price"

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. A client-safe JWT authentication option is available for teams that do not want to run their own proxy. See the History API for details.

See Acquire an API Key to obtain a key.

OpenAPI Schema

The REST API is part of the Pyth Pro Router API. The full OpenAPI specification is available at:

On this page