Resolve Companies
Introduction
Turn what a user typed - a company name, a ticker (NVDA) or a website or domain (nvidia.com) - into a Multiples company ID, then call the other endpoints with that ID (such as /companies/{id}, /companies/{id}/fundings, or /transactions with the ID in target_id or investor_id).
Resolve is free: it is not charged against your monthly record quota. In return it returns reference fields only - ID, name, country, website, and ticker and exchange for public companies - not profile data.
Each query gets one clear answer:
exact- one company matched.matched_onsays how:name,tickerordomain.ambiguous- one or more companies could be meant. They are listed incandidates(up to 5). A partial-name search that finds a single company still returnsambiguouswith one candidate. Ask the user to confirm which one they mean rather than searching wider.no_match- nothing matched.
How a query is matched, in this order:
- Website or domain - a URL or domain (
https://www.nvidia.com/about,nvidia.com) is matched on the company's domain. - Name - a case-insensitive exact match on the company name.
- Ticker - if no name matched exactly, a ticker in any case (
nvda). It matches the company whose primary listing carries it, or the only company listed under it. - Partial name - otherwise, companies whose name contains the query come back as
ambiguouscandidates, ranked byscore.
A name that exactly matches one company wins over a ticker, so Ford never resolves to another company that trades as FORD. Registry numbers (company registration numbers, LEIs and similar) are not supported.
Set up
Endpoints
GET https://multiples.vc/api/private/v1/companies/resolve?q={query}
POST https://multiples.vc/api/private/v1/companies/resolveUse GET for a single lookup and POST for up to 200 at once.
Request
GET takes one query in q:
GET https://multiples.vc/api/private/v1/companies/resolve?q=nvidiaPOST takes a JSON body with a queries array. Names, tickers and domains can be mixed.
{
"queries": [
"NVDA",
"stripe.com",
"Salesforce",
"Ford",
"Zzqx Nonexistent Co"
]
}| field | type | description |
|---|---|---|
q | string | GET, required. One name, ticker or website/domain, up to 200 characters. |
queries | string[] | POST, required. 1 to 200 names, tickers or websites/domains, each a non-empty string of up to 200 characters. The older field name names is still accepted; send one or the other. |
Response
GET returns one match object in data:
{
"data": {
"query": "nvidia",
"match_type": "exact",
"matched_on": "name",
"id": "060a98d1-1096-4214-9ad5-ba0054daeae9",
"name": "NVIDIA",
"country": "USA",
"website": "https://www.nvidia.com",
"ticker": "NVDA",
"exchange": "NAS"
}
}POST returns one match object per query, in the same order:
{
"data": [
{
"query": "NVDA",
"match_type": "exact",
"matched_on": "ticker",
"id": "060a98d1-1096-4214-9ad5-ba0054daeae9",
"name": "NVIDIA",
"country": "USA",
"website": "https://www.nvidia.com",
"ticker": "NVDA",
"exchange": "NAS"
},
{
"query": "stripe.com",
"match_type": "exact",
"matched_on": "domain",
"id": "24679205-7485-4648-89c0-979ace21f7ce",
"name": "Stripe",
"country": "USA",
"website": "https://stripe.com",
"ticker": null,
"exchange": null
},
{
"query": "Salesforce",
"match_type": "exact",
"matched_on": "name",
"id": "6f331dee-e4e5-478c-89cd-1aedf66f9515",
"name": "Salesforce",
"country": "USA",
"website": "https://www.salesforce.com",
"ticker": "CRM",
"exchange": "NYS"
},
{
"query": "Ford",
"match_type": "ambiguous",
"matched_on": null,
"id": null,
"candidates": [
{
"id": "f3419fdb-70d6-48be-970d-31c1f562a331",
"name": "Ford",
"country": "USA",
"website": "https://www.ford.com",
"ticker": "F",
"exchange": "NYS",
"matched_on": "name",
"score": 1
},
{
"id": "e96f89ee-2218-482d-bc52-f4e407621d9b",
"name": "Ford",
"country": "DNK",
"website": "https://www.ford.dk/",
"ticker": null,
"exchange": null,
"matched_on": "name",
"score": 1
}
]
},
{
"query": "Zzqx Nonexistent Co",
"match_type": "no_match",
"matched_on": null,
"id": null
}
]
}Besides data, the response has meta.usage, always { "records_billable": 0, "records_charged": 0 } because this call is free. See Rate Limits.
Fields
| field | type | description |
|---|---|---|
query | string | The query as sent. |
match_type | string | exact, ambiguous or no_match. |
matched_on | string | null | For exact: name, ticker or domain. null otherwise. |
id | string | null | The company ID (UUID) for exact; null otherwise. |
name | string | null | Company name. exact only. |
country | string | null | ISO 3166-1 alpha-3 country code (e.g. USA, IND). exact only. |
website | string | null | Company website. exact only. |
ticker | string | null | Primary listing ticker; null for private companies. exact only. |
exchange | string | null | Primary listing exchange code (e.g. NAS, NYS); null for private companies. exact only. |
candidates | object[] | For ambiguous only: up to 5 companies, best first. |
Each entry in candidates carries id, name, country, website, ticker and exchange as above, plus:
| field | type | description |
|---|---|---|
matched_on | string | What this candidate matched: name, ticker or domain. |
score | number | 0 to 1, where 1 is an exact name, ticker or domain hit. Partial-name candidates score by how close the name is to the query. |
Company Investors
Returns investors that have invested in a given company, aggregated across all of its funding rounds. M&A buyers / majority investors are excluded.
List of Investors
Returns a paginated list of investors that have led or participated in funding rounds, or acquired companies, in the dataset.