How does a company enrichment API workflow work?
The current identity endpoint accepts a company-name query and returns candidate company names, domains, and logo URLs as JSON for a server-side application to review and store.
- 01
Send a company name
POST up to 25 unique names in one JSON array. No API key is required, but the public endpoint applies a per-IP rate limit.
- 02
Inspect every candidate
Compare returned names and domains with the source record instead of treating the first array item as an automatic match.
- 03
Store a reviewed identity
Save the original query, accepted company name, domain, optional logo URL, review status, and review date.
What does the company identity response include?
The documented endpoint returns identity candidates rather than a full firmographic profile. It does not promise employee counts, revenue, contacts, or location data.
Matched company name
Receive the normalized name associated with each candidate identity.
Likely official domain
Use the returned domain as the main field for identity validation.
Logo URL
Receive a logo URL when that candidate includes an available image.
JSON candidate array
Process zero, one, or several possible matches in server-side code.
Rate-limited requests
Use batches efficiently and honor HTTP 429 plus the Retry-After header.
Manual review path
Test and compare uncertain names in the separate bulk company finder.
What is our expert’s verdict on company enrichment?
I treat company-name enrichment as identity suggestion, not automatic truth. The useful output is a likely domain that can connect later research, deduplication, and routing. The main limitation is ambiguity: brands, subsidiaries, and unrelated companies can share similar names, so a pipeline needs an unresolved state instead of forcing every row to match.View Emre Elbeyoglu's profile
How does our expert keep enrichment data reliable?
Emre Elbeyoglu's working notes
- 01
Batch repeated lookups
Put up to 25 unique names in one call instead of spending one rate-limited request on every source row.
- 02
Preserve the input
Store the original company name beside the normalized result so an editor can understand how the match was produced.
- 03
Use supporting evidence
Compare work-email domains, known websites, country, products, and parent-company relationships when several candidates look plausible.
- 04
Separate no match from failure
An empty candidate list is a valid unresolved outcome; a rate-limit, timeout, network, or server response is an operational error.
- 05
Date accepted matches
Record when an identity was reviewed because domains, ownership, and brand assets can change.
What problem does company identity enrichment solve?
Company names work well in conversation but poorly as permanent database keys. The same business may appear under a legal name, brand, abbreviation, translated name, or spelling variation. Different businesses can also share similar names.
A reviewed domain creates a stronger identity for CRM cleanup and later research. It can connect records that refer to the same organization while keeping brands and subsidiaries separate when the evidence calls for it.
The endpoint still generates candidates. The application using it owns the final decision.
How should a company lookup be sent?
Send a JSON body with 1–25 unique names. The endpoint does not require an authorization header:
POST https://tools-api.growthmarketing.ai/v1/company-search
Content-Type: application/json
Accept: application/json
{"names":["Popupsmart"]}
A successful response contains one result row per submitted name:
{
"success": true,
"data": {
"rows": [
{
"query": "Popupsmart",
"status": "matched",
"candidates": [
{
"name": "Popupsmart",
"domain": "popupsmart.com",
"logoUrl": "https://tools-api.growthmarketing.ai/v1/logo/popupsmart.com"
}
]
}
]
}
}
Use one batch for related rows and honor Retry-After when a request returns HTTP 429.
Which fields should an enrichment pipeline store?
Keep enough context to review or reverse a match:
| Field | Why keep it? |
|---|---|
| Submitted name | Preserves the source value |
| Matched name | Records the normalized candidate |
| Domain | Provides the main web identity |
| Logo URL | Adds the optional visual asset |
| Match status | Separates accepted, rejected, and unresolved rows |
| Reviewed by / date | Shows when and by whom the decision was made |
Do not invent a value when a field is missing. A blank logo is safer than attaching the wrong company’s asset.
How should multiple and empty results be handled?
When several candidates return, compare evidence already available in the source record:
- work-email or existing website domain;
- country, city, or market;
- product or brand ownership;
- parent-company or subsidiary relationship;
- an official page that confirms the identity.
If evidence conflicts, leave the record unresolved. An empty array also means no candidate was found; it is different from a failed request.
What errors and retries should an integration support?
Set a timeout and handle validation, rate-limit, provider, server, and network responses separately. Retry only short-lived failures, with a cap and delay. Malformed inputs should not enter an automatic retry loop.
Cache accepted identities inside one workflow to avoid repeated calls. Keep a review date so important records can be refreshed when a company changes its name, domain, ownership, or logo.
Use the company identity API reference for the endpoint contract and the bulk company logo finder when a person needs to inspect many names visually.
Who is this company enrichment workflow for?
Revenue operations
Normalize imported account names and propose domains before CRM deduplication, ownership rules, or routing.
Data teams
Process queued company names with batching, bounded retries, provenance, and an explicit review state.
Product teams
Add reviewed company identities and optional logos to onboarding, internal directories, or account interfaces.
Why use this company enrichment guide?
Identity scope is explicit
The guide documents names, domains, and logo URLs without claiming unavailable firmographic fields.
Ambiguity is preserved
Multiple and empty results remain visible data outcomes instead of being silently overwritten.
Integration-safe examples
Batching, timeouts, rate limits, and error classes remain explicit.
API reference
Review the endpoint contract, candidate fields, and name-to-domain matching rules.
Read the company identity API referenceBulk company finder
Inspect names, domains, and logo previews manually before automating a list.
Open the bulk company finderFree tool directory
Continue into backlink, search, authority, and website research tools.
Browse all free tools