{
"success": true,
"result": {
"results": [
{
"company_id": "<string>",
"name": "<string>",
"domain": "<string>",
"website": "<string>",
"industry": "<string>",
"country": "<string>",
"country_code": "<string>",
"address": "<string>",
"phone": "<string>",
"employee_size_band": "<string>",
"employee_count_min": 123,
"employee_count_max": 123,
"linkedin_url": "<string>",
"x_url": "<string>",
"facebook_url": "<string>",
"extras": {},
"updated_at": "2023-11-07T05:31:56Z"
}
],
"next_cursor": "<string>",
"has_more": true,
"credits_used": 50
},
"message": "<string>"
}{
"success": false,
"result": {
"code": "<string>"
},
"message": "<string>"
}{
"success": false,
"result": {
"code": "<string>"
},
"message": "<string>"
}{
"success": false,
"result": {
"code": "<string>"
},
"message": "<string>"
}{
"success": false,
"result": {
"code": "<string>"
},
"message": "<string>"
}{
"success": false,
"result": {
"code": "<string>"
},
"message": "<string>"
}{
"success": false,
"result": {
"code": "<string>"
},
"message": "<string>"
}{
"success": false,
"result": {
"code": "<string>"
},
"message": "<string>"
}{
"success": false,
"result": {
"code": "<string>"
},
"message": "<string>"
}Search companies
Free company previews or full records at one credit per returned company.
{
"success": true,
"result": {
"results": [
{
"company_id": "<string>",
"name": "<string>",
"domain": "<string>",
"website": "<string>",
"industry": "<string>",
"country": "<string>",
"country_code": "<string>",
"address": "<string>",
"phone": "<string>",
"employee_size_band": "<string>",
"employee_count_min": 123,
"employee_count_max": 123,
"linkedin_url": "<string>",
"x_url": "<string>",
"facebook_url": "<string>",
"extras": {},
"updated_at": "2023-11-07T05:31:56Z"
}
],
"next_cursor": "<string>",
"has_more": true,
"credits_used": 50
},
"message": "<string>"
}{
"success": false,
"result": {
"code": "<string>"
},
"message": "<string>"
}{
"success": false,
"result": {
"code": "<string>"
},
"message": "<string>"
}{
"success": false,
"result": {
"code": "<string>"
},
"message": "<string>"
}{
"success": false,
"result": {
"code": "<string>"
},
"message": "<string>"
}{
"success": false,
"result": {
"code": "<string>"
},
"message": "<string>"
}{
"success": false,
"result": {
"code": "<string>"
},
"message": "<string>"
}{
"success": false,
"result": {
"code": "<string>"
},
"message": "<string>"
}{
"success": false,
"result": {
"code": "<string>"
},
"message": "<string>"
}Preview
curl -X POST 'https://mcp.enricho.co/api/directory/companies/search' \
-H 'Authorization: Bearer enr_YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{"country_code":"GB","industry":"software","preview":true}'
company_id, name, domain, industry, country, country_code, employee_size_band. Domain is intentionally included, but contact/address/website/social fields are not. limit and cursor are ignored. next_cursor is empty; has_more only indicates additional matches, not a count. Any nonempty exclude_company_ids list returns 422 in preview. Daily preview caps apply.
Full search and continuation
curl -X POST 'https://mcp.enricho.co/api/directory/companies/search' \
-H 'Authorization: Bearer enr_YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{"domain":"example.com","preview":false,"limit":5}'
has_more: true; replace the cursor with its next_cursor:
curl -X POST 'https://mcp.enricho.co/api/directory/companies/search' \
-H 'Authorization: Bearer enr_YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{"domain":"example.com","limit":5,"cursor":"NEXT_CURSOR_FROM_PREVIOUS_RESPONSE"}'
company_id with preview: false. Full pages default to 20 records (also when limit is 0); explicit sizes are 1–100. Every returned company costs 1 credit, including repeats; empty pages cost 0. A page that cannot be funded in full returns 402 with no records and no debit. See pagination, errors and retry precautions.
Matching
company_id: exact, case-sensitive IDs.exclude_company_ids: exclude up to 100 IDs in full mode.name,industry: case-insensitive substrings.domain: exact lowercase domain without URL scheme, path or leadingwww..country_code: headquarters country, uppercased.employee_size_band: stored labels such as51-200, not numeric range comparisons.query: all retained terms must match name, domain, website, industry, headquarters country or address. Up to 10 distinct lowercased terms are retained after splitting on whitespace, commas and semicolons and removing common stop words. Input is limited to 200 UTF-8 bytes; it is not Boolean query syntax.
Full record fields
company_id, name, domain, website, industry, country, country_code, address, phone, employee_size_band, employee_count_min, employee_count_max, linkedin_url, x_url, facebook_url, extras, updated_at.
Empty strings are "", unavailable employee counts are null, and extras is {} when absent. Extra attributes are string-valued and record-dependent. The update timestamp does not guarantee contact verification. No public total-count fields are returned.Authorizations
Enricho API key (enr_...)
Body
Send JSON with Content-Type: application/json.
All fields are optional; {} searches without filters. Different filter fields combine with AND; multiple values in a filter combine with OR. Record-ID exclusions are full-search only.
Exact company IDs, case-sensitive. Accepts a single string or up to 100 strings; each value is limited to 200 UTF-8 bytes before normalization.
200Case-insensitive company-name substring matches. Accepts a single string or up to 100 strings; each value is limited to 200 UTF-8 bytes before normalization.
200Case-insensitive industry substring matches. Accepts a single string or up to 100 strings; each value is limited to 200 UTF-8 bytes before normalization.
200Headquarters country codes, uppercased (for example GB or US). Accepts a single string or up to 100 strings; each value is limited to 200 UTF-8 bytes before normalization.
200Stored employee-size band (for example 1-10 or 51-200), not a numeric range comparison. Accepts a single string or up to 100 strings; each value is limited to 200 UTF-8 bytes before normalization.
200Exclude exact company IDs. Only available in full searches; any nonempty list is rejected in preview. Accepts a single string or up to 100 strings; each value is limited to 200 UTF-8 bytes before normalization.
200Free text, limited to 200 UTF-8 bytes. Up to 10 distinct lowercased terms after splitting on whitespace, commas and semicolons and removing common stop words. Every retained term must match a searchable text field; this is not a Boolean query language.
200true returns a free first-page preview of up to 10 records. limit and cursor are ignored; previews cannot be paginated. false returns full records at 1 credit each.
Full search page size, 1–100. Omitted or 0 uses 20. Negative values or values above 100 return 400. Ignored in preview.
0 <= x <= 100Opaque next_cursor from a previous full search with the same filters. Omit or use an empty string for the first page. Ignored in preview.