Symbol search
Current symbol assignments matching a case-insensitive ticker prefix. q also matches the other spellings of a share class or series (BRK.B, BRK-B and BRK/B find the same listing; BAC-PL as BAC.PRL or BAC PRL), and results are in the order each assignment was recorded. Requires reference.read and an entitled market. An empty data array is a successful result.
/v1/symbols/searchPrefix search over current symbol assignments. New integrations should search and list tickers through the canonical endpoint. Canonical: GET /v1/tickers.
- Required capability
- reference.read
- Data timing
- As published by the source
- Credits
- 5 credits per request.
Parameters
limitintegeroptional · query- Maximum records per page, from 1 to 500; default 100.Default:
100 cursorstringoptional · query- Opaque cursor, expires after one hour. Keep all query parameters unchanged. Changes to entitlements can invalidate it.
If-None-Matchstringoptional · header- ETag from a previous response. Authorization is rechecked before returning 304, and a 304 costs no credits.
exchangesstringoptional · query- Comma-separated ISO MIC codes, at most 100, each listed once. Defaults to all entitled exchanges. A malformed or repeated code returns 422 invalid-exchanges, a MIC the API does not serve 404 exchange-not-found, and one outside the key's markets 403 market-not-entitled.
qstringoptional · query- Case-insensitive ticker prefix; omit it to list every symbol. A value that is empty or only whitespace returns 422.
formatstringoptional · query- Response format. csv returns the data rows with a header row, for spreadsheet functions such as IMPORTDATA; nested fields become dotted columns and lists one JSON array cell, the next page cursor is returned in X-Next-Cursor and meta.errors in X-Meta-Errors. A result without rows is the header row alone, listing the documented fields of a row. Default json, or csv when format is omitted and the Accept header ranks text/csv above JSON; a format the Accept header does not admit returns 406 not-acceptable.
jsoncsv
Response fields
Returns data as an array of records. All example values are illustrative.
security_idstring- Deprecated: the same stable public ID as instrument_id, which replaces it.Being superseded by instrument_id, which carries the same value. Read instrument_id where present; security_id remains for compatibility.
instrument_idstring- Stable public instrument ID, independent of ticker; the instrument_id of the research endpoints.
symbolstring- symbol
exchange_micstring- exchange mic
tickerstring- ticker
Response metadata
Responses include meta.timezone. Dataset responses include next_cursor; health and exports have their own metadata. Request tracing uses the X-Request-ID header.
When something goes wrong
An empty data: [] is a successful query with no matching records. Invalid symbols, permissions and malformed parameters produce an RFC 9457 problem with an actionable detail.
Plans
Requires reference.read. Access, recency and history depth come from the plan definitions the API enforces.
| Plan | Access | Recency | History |
|---|---|---|---|
| Free | Included | As published | Not date-bounded |
| Developer | Included | As published | Not date-bounded |
| Pro | Included | As published | Not date-bounded |
| Commercial | Included | As published | Not date-bounded |
| Scale | Included | As published | Not date-bounded |
Free requests are limited to AAPL, NVDA, JNJ, PEP, MSFT, SPY, QQQ.
History is how far back a plan may request. How far records actually go for a symbol is history_from in dataset coverage. Nothing is real-time. Compare plans