drillr.ai
API keys →

Company

Ticker resolution

GET/api/v2/tickers
Coverage
US / CN / JP
Billing
20 cr / thousand calls

Converts a company name, local code, ISIN, CIK or CUSIP into the ticker that every other endpoint uses, one per row. Without query, lists all currently trading common stocks in a market. Call this first when you only have a name or an identifier.

  • Resolve mode (with query): exact match column by column against the name, code and identifier columns (case-insensitive, no prefix or substring matching; AAPL does not pull in codes such as AAPLW that merely start with it); matching rows are returned in ascending ticker order, up to limit rows. There is usually only one row; multiple rows occur only in cases such as multiple listings under the same name. Only currently trading codes are matched; a delisted code does not resolve.
  • List mode (without query): returns the full set of currently trading common stock codes, filtered by market and paginated in ascending ticker order.

Scope is listed-company common stock in US / CN / JP only. Any other value passed in market returns 400; HK / KR / TW companies also do not appear in the results.

The returned ticker carries a fixed per-market suffix, and every other endpoint accepts exactly this form; when resolving by code, query must also be written in this form, since a bare code or another data provider's notation does not resolve; use the name / ISIN / CIK / CUSIP instead:

  • US: bare upper-case letters with no exchange suffix, such as AAPL; a company with several share classes joins the class letter with -, such as BRK-B. BRK.B and AAPL.US are not accepted.
  • CN: 6 digits + .SH (Shanghai) / .SZ (Shenzhen) / .BJ (Beijing), such as 600519.SH, 000001.SZ, 920000.BJ. The bare code 600519 and 600519.SS are not accepted.
  • JP: 4-character securities code + .T, where the 4th character may be a letter, such as 7203.T, 130A.T. The bare code 7203 and 7203.JP are not accepted.

Query parameters

ParameterTypeRequiredDescription
querystringoptionalName / code / ISIN / CIK / CUSIP, exact match (case-insensitive, leading and trailing whitespace ignored); a code must be written in its canonical form with the market suffix; omitting it enters list mode.
marketstringenumoptionalUS CN JP, comma-separated for multiple values. Default: all.
limitintoptionalMaximum 50 in resolve mode; maximum 500 in list mode. Default: 10 (resolve) / 500 (list).
pageintoptionalApplies to list mode only (starting from 1). Resolve mode is not paginated: page=1 is ignored (many SDKs send it by default), page>1 returns 400. Default: 1.

Sort order: ticker asc. Paged with limit and page (pages start at 1); fewer rows than limit means the last page.

Response fields

FieldTypeDescription
tickerstringCanonical ticker
marketstringenumUS / CN / JP
namestringCompany name in English, identical to name in /company-profile; for JP / CN it is the English name registered with the exchange and the disclosure platform, and companies without one fall back to the local-language name
exchangestringenumExchange MIC (ISO 10383): XNAS XNYS XASE XSHG XSHE BJSE XTKS
identifiersobjectExternal identifiers, null when there is no value; only US-listed companies have CIK and CUSIP values

No key yet? Create one under API Keys — it is shown once, so store it where your shell can read it. Connecting an agent over MCP instead? That signs in through the browser and needs no key at all.

Authentication, conventions, rate limits and error shapes are the same for every endpoint — they live on REST API.