Enrich up to 1,000 companies
Starts an enrichment for each distinct domain, some at a time, and answers 202 at once. `GET /v1/enrichments/batch/{id}` says how far each is, and each item's `enrichment_id` has its own progress and record. A `webhook_url` is posted to once they've all ended, with the counts. Each distinct domain costs what an enrichment does. A test key's batch takes up to 100 domains, and has ended by the time it's answered.
Starts an enrichment for each distinct domain, some at a time, and answers 202 at once. GET /v1/enrichments/batch/{id} says how far each is, and each item's enrichment_id has its own progress and record. A webhook_url is posted to once they've all ended, with the counts. Each distinct domain costs what an enrichment does. A test key's batch takes up to 100 domains, and has ended by the time it's answered.
ApiKeyAuthorizationBearer <token>An API key from the dashboard: Authorization: Bearer hyd_live_….
Idempotency-Key?|Any string of up to 255 printable ASCII characters, unique to the request. A retry with the key gets the enrichment the first request started, running or ended, rather than starting another; with another body, it's a 409.
application/json- body
Up to 1,000 companies to enrich, by their domains.
domains*array<>The companies' websites' domains. A domain given twice is enriched once.
1 <= items <= 1000webhook_url?|An https URL to post to once it has ended, signed as the Standard Webhooks spec has it (webhook-id, webhook-timestamp, webhook-signature) with the workspace's own signing secret, which the dashboard's Webhooks page makes. While a rotated secret's overlap lasts, the signature header carries one signature for each. A workspace with no secret yet is refused, 409 webhook_secret_missing. A delivery that isn't answered with a 2xx is retried for a day.
mode?Modefull fetches every field again; refresh only the fields named, from the sources that give them.
"full""full""refresh"fields?array<string>|With mode: refresh, the fields to fetch again: hq_location, industry, employee_band, founded_year, linkedin_url, name, legal_name, registered_address, incorporated_on, company_status, incorporated_in, listing, description, founders, branches, logos, pricing_plans.
An Idempotency-Key's batch, ended since; or a test key's, which has ended by the time it's answered.
application/json- response
A batch of enrichments, one for each distinct domain, and a page of its domains.
id*IdIts id, to GET /v1/enrichments/batch/{id} by.
status*Statuscompleted once every enrichment has ended, however each did; failed only if the batch itself did (on our side).
"running""completed""failed"created_at*Created Atdate-timefinished_at*|nullcounts*|Null while it runs if it couldn't be read just then.
items*array<>A page of its domains, in the order given.
next_cursor*|Pass it as cursor for the next page of items. Null on the last page.
status_url*Status Urlwebhook_status*|nullcurl -X POST 'https://api.hydrantapi.com/v1/enrichments/batch' \ -H 'Content-Type: application/json' \ -d '{ "domains": [ "hvidbjergbank.dk", "j-l.com" ], "webhook_url": "https://example.com/hooks/hydrant"}'{ "id": "bat_cy3tss33c57i2y2j54s23j6cmm", "status": "completed", "created_at": "2026-10-05T22:00:22.537731Z", "finished_at": "2026-10-05T22:05:15.354959Z", "counts": { "total": 26, "pending": 0, "running": 0, "succeeded": 26, "failed": 0 }, "items": [ { "domain": "southeastemulsions.com", "enrichment_id": "enr_bvnjslyapfhg33vb27mkmwxlri", "status": "succeeded", "company_domain": "southeastemulsions.com", "entity_id": "701f7a2c-0a5b-4461-aff1-e4c0454c644b", "error_code": null }, { "domain": "yitgroup.com", "enrichment_id": "enr_wmtzirh6ogvamwzaenzjwh56ki", "status": "succeeded", "company_domain": "yitgroup.com", "entity_id": "6f610fb8-cb8e-442e-9fcc-291fec44258a", "error_code": null } ], "next_cursor": "eyJvZmZzZXQiOiAyfQ", "status_url": "/v1/enrichments/batch/bat_cy3tss33c57i2y2j54s23j6cmm", "webhook_status": "delivered"}Get an enrichment GET
While it runs, where it is, how far each source is, and when it should end; once it has ended, the company's record, or why it failed.
Enrich a company POST
Starts an enrichment of the company a domain or a name leads to: every source is asked again, and the record worked out from what they say. Two requests for one company at once share the work. It answers once the enrichment has ended, if that's within `wait_seconds` (200), or else then (202): follow `status_url`, or give a `webhook_url`.