drillr.ai
API keys →

Company

Company discovery

GET/api/v2/company-discovery
Coverage
US / CN / JP / HK / KR
Billing
3 cr / call

Finds companies from a plain-language description. Returns every candidate that passes verification, one company per row: the ticker, the company name and the reason it matched. Use it when you do not know the ticker, then call the other endpoints with what it returns.

“companies that make lithography equipment for chipmaking”

“Japanese factory automation and industrial robot makers”

“US companies selling weight-loss drugs”

To resolve a name or code you already know, use /tickers instead.

Before you call it

  • Semantic, not keyword. query is matched by meaning. Results are not paginated or capped, and the order carries no meaning — do not read row order as relevance.
  • Five markets. Listed common stock in US / CN / JP / HK / KR; market accepts any of US CN JP HK KR, comma-separated. Omit it to search all five.
  • Slow by design. One call recalls candidates, then verifies each with a model and writes its reason, so expect 20 seconds to a minute — far longer than the other endpoints. Allow a 90-second read timeout, cache what you get, and keep it off any path that needs an immediate answer. A client timeout does not stop the server: the request may still complete and be charged, and a retry starts a new one.

Query parameters

ParameterTypeRequiredDescription
querystringrequiredNatural-language description, such as US companies that design GPUs for data centers, electric vehicle manufacturers with strong dividends; semantic matching, not keywords.
marketstringenumoptionalUS CN JP HK KR, comma-separated for multiple values. Default: all.

Response fields

FieldTypeDescription
tickerstringCanonical ticker
company_namestring | nullCompany name; null when unavailable
reasonstringFree-text explanation of why the company matches the query. At most 160 Unicode characters; longer text is truncated with a trailing ellipsis, included in the limit

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.