fields values, company_data section
catalog, validation rules, and error responses.
For walk-through examples, see Company Enrich and
Identifiers.
Request parameter reference
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
domains | string[] | Exactly one identifier type required | — | Website domains to enrich. |
professional_network_profile_urls | string[] | Exactly one identifier type required | — | Company profile URLs to enrich. |
names | string[] | Exactly one identifier type required | — | Company names to enrich. |
crustdata_company_ids | integer[] | Exactly one identifier type required | — | Crustdata company IDs to enrich. |
fields | string[] | No | ["basic_info"] | Specific field groups to include in the response. Defaults to basic_info only (plus crustdata_company_id). |
exact_match | boolean | No | null | Set to true to force exact domain matching. |
Current platform behavior: Submit exactly one identifier type per
request.
Response fields reference
The response is a top-level array. Each item in the array contains:| Field | Type | Description |
|---|---|---|
matched_on | string | The input identifier you submitted |
match_type | string | domain, name, crustdata_company_id, professional_network_profile_url |
matches | array | Array of candidate matches (may be empty for no-match) |
matches[].confidence_score | number | How confident the match is. Higher is better. |
matches[].company_data | object | Full enriched company profile. See company_data sections below. |
Using the fields parameter
If you omit fields, company_data contains only crustdata_company_id
and basic_info. To get headcount, funding, people, hiring, or any
other section, you must list it explicitly in fields.
fields is the name of a section group. Include basic_info
explicitly if you want to keep it alongside other sections.
Valid fields values
| Field group | What it returns |
|---|---|
basic_info | Company name, domain, website, profile URL, industry, type, year founded |
headcount | Employee count, role/region breakdowns, growth metrics |
funding | Total funding, last round details, investor list |
locations | HQ country, state, city, full headquarters address |
taxonomy | Industry, category, and speciality fields |
revenue | Revenue estimates (lower/upper bound), public markets, acquisition status |
hiring | Open job count, hiring growth rate, recent job titles |
followers | Follower count, month-over-month/quarter/year growth |
seo | Organic search results, monthly organic clicks, Google Ads budget |
competitors | Competitor company IDs and websites |
social_profiles | External profile links |
web_traffic | Monthly visitors, traffic source breakdown |
employee_reviews | Overall, culture, and work-life balance ratings |
people | Decision makers, founders, C-level executives |
news | Recent article URLs, titles, and publish dates |
software_reviews | Review count and average rating |
status | Enrichment processing state (enriching, not found) |
company_data sections
The enriched company_data object contains the following sections. Each
section maps to a fields value above.
| Section | Key fields | Description |
|---|---|---|
basic_info | name, primary_domain, website, professional_network_url, year_founded, description, company_type, employee_count_range, industries | Core identity and classification |
headcount | total, by_role_absolute, by_role_percent, by_region_absolute, growth_percent | Employee footprint and growth |
funding | total_investment_usd, last_round_amount_usd, last_fundraise_date, last_round_type, investors | Funding and investor data |
locations | hq_country, hq_state, hq_city, headquarters | Headquarters location |
taxonomy | categories, professional_network_industry, professional_network_specialities | Industry and classification data |
revenue | estimated (lower_bound_usd, upper_bound_usd), public_markets, acquisition_status | Revenue estimates and market data |
hiring | openings_count, openings_growth_percent, recent_titles_csv | Hiring demand and open roles |
followers | count, mom_percent, qoq_percent, yoy_percent | Audience and follower metrics |
seo | total_organic_results, monthly_organic_clicks, monthly_google_ads_budget | Search visibility metrics |
competitors | company_ids, websites | Competitor data |
social_profiles | twitter_url and other external profile links | External profiles and links |
web_traffic | domain_traffic (monthly_visitors, traffic sources) | Website traffic and sources |
employee_reviews | overall_rating, culture_and_values_rating, work_life_balance_rating, review_count | Employee review data |
people | decision_makers, founders, cxos | Key people at the company |
news | article_url, article_title, article_publish_date | Recent news articles |
software_reviews | review_count, average_rating | Software review metrics |
status | state (enriching, not_found) | Enrichment processing status |
Validation rules
These rules reflect current platform behavior. See the API
reference for the formal
OpenAPI contract.
| Rule | Behavior |
|---|---|
| One identifier type per request | Submit domains, names, crustdata_company_ids, or professional_network_profile_urls — not a mix. Mixing types is not supported. |
fields is optional | Omitting returns basic_info only. Pass section group names to include more sections. |
exact_match is optional | Default is null (auto-detect). Set true for strict domain-only matching. |
| Multi-company requests | You can submit multiple values in one identifier array. Each is matched independently. |
No-match behavior
When enriching, each identifier is matched independently:- Full match: All identifiers match — each array entry has populated
matches. - Partial match: Some identifiers match and others do not. Matched identifiers have
company_data; unmatched identifiers return an emptymatches: []array. - No match: All identifiers fail to match. Current platform behavior returns
200 OKwith emptymatches: []for each array entry.
The OpenAPI spec also defines a
404 response for this endpoint.
Current platform behavior returns 200 with empty matches, but
integrations should handle both 200 empty-match and 404 cases.No match — 200 with empty matches
Partial batch failure
When enriching multiple identifiers, some may match and others may not. The request still succeeds with200:
matches.length > 0 before accessing company_data. Log or retry
unmatched identifiers separately.
Errors
Common error responses for Enrich:400 — Bad request
401 — Invalid API key
API reference summary
| Detail | Value |
|---|---|
| Endpoint | POST /company/enrich |
| Auth | Bearer token + x-api-version: 2025-11-01 |
| Request | One identifier type: domains, names, crustdata_company_ids, or professional_network_profile_urls. Optional: fields, exact_match. |
| Response | Top-level array: [{ matched_on, match_type, matches: [{ confidence_score, company_data }] }] |
| No match | 200 with empty matches: [] for unmatched identifiers. The OpenAPI spec also defines 404; handle both. |
| Errors | 400 (bad request), 401 (bad auth), 403 (permission/credits), 404 (per spec), 500 (server error) |

