List feeds
API version2026-09-29https://pyth.dourolabs.app/v3/intelligence/feedsAn API key or short-lived access token, in an Authorization: Bearer <token> header, and the API version above in a Pyth-Version header. Without it, requests get the newest version.
Returns the feeds the credential can see, optionally filtered by symbol, kind, state, asset type or instrument type. Results are paginated: while continues is true, send the same request again with next as after to get the next page. The cursor keeps only the position, so send the filters, limit, expand and effective again.
v3/intelligence/feedscurl "https://pyth.dourolabs.app/v3/intelligence/feeds?symbol=Equity.US.AAPL%2FUSD" \
-H "Authorization: Bearer $PYTH_API_KEY" \
-H "Pyth-Version: 2026-09-29"{
"continues": false,
"data": [
{
"availability_pattern": [],
"expiration_pattern": [],
"exponent": -5,
"groups": [],
"id": "feed-01m14btkssejctyrzpnxzga945",
"identifiers": [
{
"scheme": "hermes_id",
"sessions": [],
"value": "49f6b65cb1de6b10eaf75e7c03ca029c306d0357e91b5311b175084a5ad55688",
"record_id": "idr-01m14btkssejdbq8pqev6f0mte"
},
{
"scheme": "nasdaq_symbol",
"sessions": [],
"value": "AAPL"
}
],
"instrument_type": "spot",
"kind": "price",
"min_publishers": 1,
"name": "AAPL",
"price_adjustments": [],
"pyth_lazer_id": 922,
"sessions": [
{
"session_type": "regular",
"type": "feed_session",
"calendar": {
"exceptions": [
{
"kind": "closed",
"ranges": [],
"recurs_annually": true,
"date": "2026-12-25"
}
],
"timezone": "America/New_York",
"week": [
{
"kind": "ranges",
"ranges": [{ "end_minute": 960, "start_minute": 570 }],
"weekday": "monday"
},
{
"kind": "ranges",
"ranges": [{ "end_minute": 960, "start_minute": 570 }],
"weekday": "tuesday"
},
{
"kind": "ranges",
"ranges": [{ "end_minute": 960, "start_minute": 570 }],
"weekday": "wednesday"
},
{
"kind": "ranges",
"ranges": [{ "end_minute": 960, "start_minute": 570 }],
"weekday": "thursday"
},
{
"kind": "ranges",
"ranges": [{ "end_minute": 960, "start_minute": 570 }],
"weekday": "friday"
},
{
"kind": "closed",
"ranges": [],
"weekday": "saturday"
},
{ "kind": "closed", "ranges": [], "weekday": "sunday" }
]
},
"feed": "feed-01m14btkssejctyrzpnxzga945",
"id": "fsess-01m14btkssejgbsa622qp0w07k",
"inherits": "msess-01m46040mpe4p95fmk1fs4aydn",
"meta": { "recorded_at": "2026-10-02T15:15:57.535Z" },
"min_publishers": 3
}
],
"state": "stable",
"symbol": "Equity.US.AAPL/USD",
"type": "feed",
"unit": "asset",
"visibility": "public",
"asset_type": "equity",
"base_asset": "asset-01m0a6sd8me54bsx692f90ws91",
"description": "APPLE INC / US DOLLAR",
"display_precision": 2,
"exchange": "exch-01m14btkhqecd9xgb9ptp18cj1",
"meta": { "recorded_at": "2026-10-02T15:15:57.535Z" },
"min_channel": "fixed_rate@50ms",
"quote_asset": "asset-01m14btkhresy9fe9afcf95sht",
"source": "pyth",
"spine": "equity.aapl.usd.57sc"
}
],
"type": "list",
"meta": { "recorded_at": "2026-10-14T00:00:26.569Z" }
}Add these parameters to the URL query string.
afterstringOptionalThe previous response's next value, unchanged. Send the other parameters as before.
asset_typestringOptionalOnly feeds of these asset types, as one value or a comma-separated list: equity, crypto, fx, commodity, crypto-redemption-rate, interest-rate, metal, crypto-index, funding-rate or nav. Matching is exact and case-sensitive: an unknown value returns no feeds, not an error.
effectivestringOptionalReturns what was in effect at this instant, an RFC 3339 timestamp no later than now, using current knowledge. Feed records start in October 2026, so an earlier instant finds no feed. In a URL written by hand, write a + offset as %2B. Try it, and clients that encode query values such as Python's params, take + as is. Omit for the current state.
entitled_onlybooleanDefault falseIf true, returns only the feeds the API key's plan covers. Otherwise, returns every feed the credential can see.
expandstringOptionalRelations to include in full instead of as IDs, comma-separated: base_asset, quote_asset, exchange.
instrument_typestringOptionalOnly feeds of these instrument types, as one value or a comma-separated list, such as spot or future.
kindstringOptionalOnly feeds of these kinds, as one value or a comma-separated list: price or funding_rate.
limitintegerDefault 50Page size, 1 to 100.
statestringOptionalOnly feeds in these lifecycle states, as one value or a comma-separated list, such as stable.
symbolstringOptionalOnly the feed with exactly this symbol. A symbol can change. The response carries the feed's spine and ID, which do not.
symbol_prefixstringOptionalOnly feeds whose symbol starts with this value.
Response
200 · application/jsonReturns a JSON object with the following fields.
continuesbooleanWhether another page follows.
dataobject[]The feeds on this page.
availability_patternstring[]Futures month codes, F (January) to Z (December), in which the feed's futures chain is available, or none.
expiration_patternstring[]Lowercase month names, jan to dec, in which the feed's futures chain expires, or none.
exponentintegerPower of ten that scales the feed's values: decimal value = mantissa * 10^exponent.
groupsstring[]Access groups the feed belongs to. Empty for feeds that do not require membership in an access group.
idstringPermanent ID, such as feed-01m14btkssejctyrzpnxzga945.
identifiersobject[]Every external identifier the feed carries.
schemestringThe identifier's scheme, such as hermes_id, nasdaq_symbol or cmc_id.
sessionsstring[]The trading sessions the identifier applies to. Empty means every session.
- regular
- pre_market
- post_market
- over_night
- unknown
valuestringThe identifier's value, such as AAPL.
record_idstringID of the identifier record behind this entry, where one exists.
instrument_typestringThe form of what the feed prices within its market, such as spot, future or index.
- spot
- future
- perp
- index
- nav
- rate
- redemption_rate
- twap
- funding_rate
- component
- unknown
kindstringWhat a feed publishes.
- price
- funding_rate
- unknown
Show 28 moreShow fewer
min_publishersintegerMinimum number of publishers for the feed's sessions, unless a session sets its own.
namestringReadable name of the feed.
price_adjustmentsobject[]The price adjustments configured on the feed.
event_typestringCorporate action event type.
- split
- reverse_split
- cash_dividend
- stock_dividend
- spinoff
- merger
- ticker_change
- delisting
- rights_issue
- unknown
ex_datestringThe ex-date the adjustment activates on, YYYY-MM-DD.
split_fromintegerOld share count: 1 for a 10-for-1 split, 10 for a 1-for-10 reverse split.
split_tointegerNew share count: 10 for a 10-for-1 split, 1 for a 1-for-10 reverse split.
pyth_lazer_idintegerThe feed's numeric ID in Pyth Price Feeds, as used in priceFeedIds.
sessionsobject[]The feed's sessions, with their calendars.
session_typestringTrading session type.
- regular
- pre_market
- post_market
- over_night
- unknown
typestringAlways feed_session.
calendarobjectThe session's resolved calendar, inheritance and overrides applied; absent where the session has no schedule.
exceptionsobject[]Dated departures from the weekly pattern, such as a holiday or an early close.
kindstringHow a calendar day trades: open all day, closed, or open in the listed ranges.
- open
- closed
- ranges
- unknown
rangesobject[]The open ranges, for kind: ranges.
end_minuteintegerEnd of the open range, in minutes since local midnight. Exclusive.
start_minuteintegerStart of the open range, in minutes since local midnight. Inclusive.
recurs_annuallybooleanThe exception applies on this month and day every year.
datestringThe venue-local date, YYYY-MM-DD. A recurring exception carries its next occurrence on or after the read's instant, so the date moves with effective.
labelstringReadable label for the exception.
timezonestringAn IANA timezone name.
weekobject[]The weekly pattern, one entry per weekday.
kindstringHow a calendar day trades: open all day, closed, or open in the listed ranges.
- open
- closed
- ranges
- unknown
rangesobject[]The open ranges, for kind: ranges.
end_minuteintegerEnd of the open range, in minutes since local midnight. Exclusive.
start_minuteintegerStart of the open range, in minutes since local midnight. Inclusive.
weekdaystringDay of the week.
- monday
- tuesday
- wednesday
- thursday
- friday
- saturday
- sunday
- unknown
covered_throughstringThe last date the calendar is authored for, YYYY-MM-DD; absent when the pattern recurs indefinitely. Past it the calendar has no answer, which is not the same as closed.
feedstring | objectID of the feed the session belongs to. Always an ID on these routes.
idstringThe session's id; absent where the session has no record of its own yet.
inheritsstring | objectID of the exchange session template this session inherits from, where there is one.
metaobjectWhen the record, as served, last changed.
recorded_atstringWhen the record last changed. A read pinned to an earlier effective instant reports the change behind what it shows, never a later one.
effective_atstringThe effective instant a single read was pinned to, echoed back; absent on an unpinned read. A list echoes it on its own meta.
min_publishersintegerMinimum number of publishers for this session. Absent where the feed's min_publishers applies.
statestringFeed lifecycle state.
- coming_soon
- stable
- inactive
- retired
- expired
- beta
- unknown
symbolstringSymbol, such as Equity.US.AAPL/USD. A symbol can change. The spine and the ID do not.
typestringAlways feed.
unitstringUnit of the feed's value.
- asset
- percent
- basis_points
- ratio
- points
- unknown
visibilitystringWho may see the feed.
- public
- restricted
- internal
- unlisted
- unknown
asset_typestringThe market the feed's price comes from, such as equity, crypto, fx or commodity.
base_assetstring | objectID of the asset the feed prices. Corporate actions belong to this asset. Absent where the feed has no linked asset, as on non-equity feeds and some equity feeds. With expand=base_asset, the full asset, as Get an asset returns it.
descriptionstringReadable description of the feed.
display_precisionintegerDecimal places to round prices to for display. A negative value rounds left of the decimal point: -2 rounds to hundreds. Absent where the precision follows from exponent.
exchangestring | objectID of the feed's exchange, where one is linked. With expand=exchange, the full exchange: id, lazer_exchange_id, name, asset_class, timezone, status, its session templates in sessions, and meta.
metaobjectWhen the record, as served, last changed.
recorded_atstringWhen the record last changed. A read pinned to an earlier effective instant reports the change behind what it shows, never a later one.
effective_atstringThe effective instant a single read was pinned to, echoed back; absent on an unpinned read. A list echoes it on its own meta.
min_channelstringFastest update channel the feed supports, such as real_time or fixed_rate@200ms.
quote_assetstring | objectID of the asset the price is quoted in, where one is linked. With expand=quote_asset, the full asset, as Get an asset returns it.
sourcestringThe feed's data source, such as pyth.
spinestringPermanent readable handle, such as equity.aapl.usd.57sc, never reused. Works anywhere an ID does. Absent until one is issued.
auction_datestringFor a feed that prices one dated debt security, such as a US Treasury bill, note or bond: the day it was sold at auction, YYYY-MM-DD.
derivation_typestringFor a feed derived from other feeds, how its value is derived, such as twap or ema.
expires_atstringWhen the instrument expires, for dated instruments.
interval_usintegerThe update cadence in microseconds, for feeds that have one (funding rates).
issue_datestringThe day that security was issued, YYYY-MM-DD.
maturity_datestringThe day that security matures, YYYY-MM-DD. This is the security's maturity, not the end of the feed (expires_at).
qualifierstringA disambiguating qualifier for feeds that share a spine stem.
symbol_chain_idstringThe futures chain this feed belongs to, e.g. VX.
typestringAlways list.
metaobjectWhen the served data was recorded, and the effective instant when one was requested.
recorded_atstringWhen the served data was recorded.
effective_atstringThe effective instant the read was pinned to, where one was given.
nextstringSend it unchanged as after, with the request's other parameters, for the next page. Present while continues is true.
Status codes returned when a request fails.
- 400
- A parameter is malformed, effective is in the future, a query parameter is unknown (parameter_invalid), the Pyth-Version value is not served (version_unsupported), or the Authorization header is empty or not a bearer credential (credential_malformed).
- 401
- The credential is missing or not recognized (credential_missing, credential_unknown).
- 403
- The access token is expired or not valid (credential_rejected), or the credential does not grant access to this data.
- 429
- Rate limit exceeded.
- 503
- The service is temporarily unavailable.