Basic browser request
Encode the company name before placing it in the query string. The response is usually an array of suggestions containing a company name, domain, and logo URL.
const company = "Canva";
const endpoint = "https://autocomplete.clearbit.com/v1/companies/suggest";
const response = await fetch(
`${endpoint}?query=${encodeURIComponent(company)}`
);
if (!response.ok) throw new Error("Lookup failed");
const suggestions = await response.json();
console.log(suggestions);
This is an external public endpoint. Availability, response fields, browser access, and usage rules can change. Check the provider’s current terms before relying on it in production.
Choose candidates, not conclusions
The first result is often useful, but it is not guaranteed to identify the legal entity you intended. Keep several candidates when names are short or common. Compare normalized names and record the original query beside the chosen domain.
const candidates = suggestions.slice(0, 3).map(item => ({
query: company,
company: item.name,
domain: item.domain,
source: "company autocomplete"
}));
Verification workflow
- Open the suggested domain and check that the name and branding agree.
- Confirm the product, industry, and operating region.
- Inspect the About, Contact, legal, or privacy page for entity details.
- Record the URL you checked and the date of your review.
- Mark uncertain matches for a second researcher instead of forcing a result.
Practical limits
Autocomplete is weaker for very small businesses, renamed companies, subsidiaries, and brands that use a parent company’s domain. Website redirects and country domains can also change. For high-stakes lists, combine this signal with registries, official profiles, and direct confirmation.