Get API key
Corporate actions

Get an asset

API version2026-09-29
gethttps://pyth.dourolabs.app/v3/intelligence/assets/{id}

An 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 an asset, such as a company's shares or a currency, by its ID or spine. A feed's base_asset and a dividend's paid_in are assets.

getv3/intelligence/assets/{id}
curl "https://pyth.dourolabs.app/v3/intelligence/assets/equity.aapl.1ccs" \
  -H "Authorization: Bearer $PYTH_API_KEY" \
  -H "Pyth-Version: 2026-09-29"
Response
{
  "class": "equity",
  "full_name": "APPLE INC",
  "id": "asset-01m0a6sd8me54bsx692f90ws91",
  "identifiers": [
    {
      "scheme": "nasdaq_symbol",
      "sessions": [],
      "value": "AAPL",
      "record_id": "idr-01m14btkssejc8nbc6yscwbd6w"
    }
  ],
  "slug": "equity.aapl",
  "status": "active",
  "ticker": "AAPL",
  "type": "asset",
  "visibility": "public",
  "meta": { "recorded_at": "2026-10-07T14:57:45.142Z" },
  "spine": "equity.aapl.1ccs"
}

Path parameters

Replace the placeholders in the URL path with these values.

idstringRequired

The asset's ID or spine, such as equity.aapl.1ccs.

Query parameters

Add these parameters to the URL query string.

effectivestringOptional

Returns what was in effect at this instant, an RFC 3339 timestamp no later than now, using current knowledge. 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.

expandstringOptional

Relations to include in full instead of as IDs, comma-separated: succeeded_by, primary_exchange.

Response

200 · application/json

Returns a JSON object with the following fields.

classstring

Asset class. Currencies are assets too, with class fx. New values can be added. Treat an unrecognized value as unknown.

  • crypto
  • equity
  • fx
  • metal
  • commodity
  • rates
  • nav
  • funding_rate
  • index
  • event
  • redemption_rate
  • economic
  • custom
  • unknown
full_namestring

Full name, such as APPLE INC.

idstring

Permanent ID, such as asset-01m0a6sd8me54bsx692f90ws91.

identifiersobject[]

The asset's external identifiers, such as nasdaq_symbol.

schemestring

The identifier's scheme, such as nasdaq_symbol.

sessionsstring[]

The trading sessions the identifier applies to. Empty means every session.

  • regular
  • pre_market
  • post_market
  • over_night
  • unknown
valuestring

The identifier's value, such as AAPL.

record_idstring

ID of the identifier record behind this entry, where one exists.

slugstring

Readable name, such as equity.aapl. It can change, so it is not a stable key.

statusstring

Lifecycle status. New values can be added. Treat an unrecognized value as unknown.

  • active
  • delisted
  • merged
  • retired
  • unknown
tickerstring

Ticker, such as AAPL.

typestring

Always asset.

visibilitystring

Who may see the asset. Responses include only what the credential may see.

  • public
  • restricted
  • internal
  • unlisted
  • unknown
countrystring

Country, such as US.

metaobject

When the record, as served, last changed.

recorded_atstring

When the record last changed. A read pinned to an earlier effective instant reports the change behind what it shows, never a later one.

effective_atstring

The effective instant a single read was pinned to, echoed back; absent on an unpinned read. A list echoes it on its own meta.

primary_exchangestring | object

ID of the asset's primary exchange. With expand=primary_exchange, the full exchange.

sectorstring

Industry sector, in GICS style, filled on a best-effort basis.

spinestring

Permanent readable handle, such as equity.aapl.1ccs, never reused. Works anywhere an ID does. Absent until one is issued.

subclassstring

Subclass within class, such as share, etf, adr or stablecoin.

succeeded_bystring | object

ID of the asset that succeeded this one, where there is one. With expand=succeeded_by, the full asset, as Get an asset returns it.

Errors

Status codes returned when a request fails.

400
A parameter, ID or spine is malformed or names another kind of resource, 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.
404
No asset matches the ID or spine (resource_missing).
429
Rate limit exceeded.
503
The service is temporarily unavailable.