Skip to content

Company Enrichment API Guide & Examples

This free company enrichment API guide shows how to turn a company-name query into candidate names, domains, and logo URLs for CRM and data workflows. The native interactive tool accepts up to 25 names at once and requires no account or API key. Ambiguous and empty matches still need explicit handling.

Updated

Interactive toolFree · no account required

Live API

Enter one company per line, up to 25.

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.

  1. 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.

  2. 02

    Inspect every candidate

    Compare returned names and domains with the source record instead of treating the first array item as an automatic match.

  3. 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

  1. 01

    Batch repeated lookups

    Put up to 25 unique names in one call instead of spending one rate-limited request on every source row.

  2. 02

    Preserve the input

    Store the original company name beside the normalized result so an editor can understand how the match was produced.

  3. 03

    Use supporting evidence

    Compare work-email domains, known websites, country, products, and parent-company relationships when several candidates look plausible.

  4. 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.

  5. 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 reference

Bulk company finder

Inspect names, domains, and logo previews manually before automating a list.

Open the bulk company finder

Free tool directory

Continue into backlink, search, authority, and website research tools.

Browse all free tools

Turn this report into your next growth decision

Compare the result with field-tested SEO, AI search, and B2B growth research from GrowthMarketing.ai.

Explore the research