The company_lookup module identifies a company when all you have is a name, or an identifier such as a website. It's the light "which company is this?" door: give it what you have, and it returns the matching company, or a short ranked list of candidates for a fuzzy name.
Who uses it: anyone building a lookup or picker flow, and any step that needs to turn a human-entered company name into a Veridion ID before verifying or enriching it.
Lookup returns candidates; Match & Enrich resolves to one
company_lookupis discovery: it answers "which of these did you mean?" and hands you candidates to choose from. If you need the single canonical company resolved from messy or bulk input, plus a full enriched profile, use the Match & Enrich API instead.
Input contract
| Requires | one identity anchor: company_name (with matches for fuzzy, or in for exact) or company_website (with in). |
| Allows | optional company_location and/or company_postcode to disambiguate. These act as gates: only candidates matching them are returned. |
| Rejects | every other filter. |
company_name with matches is fuzzy and accepts a single name only (no arrays). company_name with in is an exact match and takes an array.
Three ways to look up a company
Exact identifier to the one company. A website or a veridion_id is unique, so it returns the single company it belongs to, with no namesakes possible. Because the identifier is exact, it resolves to the specific entity behind it: 3mfrance.fr returns 3M France, the French entity with its own veridion_id, rather than the US 3M parent company. Use this when you need a particular national entity rather than the global brand.
Exact name plus a country to pin the right company. When a name is shared across countries, an exact name and a country rank the intended company first. "Nationwide" with GB points to Nationwide Building Society; with US, to Nationwide Mutual Insurance, two unrelated companies that happen to share a name. Lookup returns a ranked candidate list, so same-named companies elsewhere fall below the one you meant.
Fuzzy name to the canonical company. Fuzzy matching turns the name a person would actually type, "Johnson and Johnson" with a missing ampersand or an ordinary typo, into the canonical company and its veridion_id, the key every other module needs to do real work.
Behavior
For an exact identifier (a website, or a name with in), lookup returns the matching company. For a fuzzy name (matches), it returns a short, ranked list of candidates, best match first. A location or postcode narrows an ambiguous name.
Output
Each candidate is returned as a full company profile at the root of the result object, including its veridion_id, which you can feed straight into company_verification , for example. See Response fields and types.
Noevidenceblock
company_lookupis the one module that carries noevidence. Its result is the ranked candidate list, and the "evidence" is simply the name and identity ranking order. See Explainability (evidence).
Request
Resolve a messy or misspelled name with the fuzzy matches relation:
{
"module": "company_lookup",
"query": {
"and": [
{ "attribute": "company_name", "relation": "matches", "value": "Astrazaneca" }
]
}
}
