Hydrant API
Enrichments

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.

POST
/v1/enrichments/batch

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.

Authorization

ApiKey
headerAuthorizationBearer <token>

An API key from the dashboard: Authorization: Bearer hyd_live_….

Header Parameters

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.

Request Body

application/json
  1. body

Up to 1,000 companies to enrich, by their domains.

domains*array<>

The companies' websites' domains. A domain given twice is enriched once.

Items1 <= items <= 1000
webhook_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?Mode

full fetches every field again; refresh only the fields named, from the sources that give them.

Default"full"
Value in"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.

Response Body

An Idempotency-Key's batch, ended since; or a test key's, which has ended by the time it's answered.

application/json
  1. response

A batch of enrichments, one for each distinct domain, and a page of its domains.

id*Id

Its id, to GET /v1/enrichments/batch/{id} by.

status*Status

completed once every enrichment has ended, however each did; failed only if the batch itself did (on our side).

Value in"running""completed""failed"
created_at*Created At
Formatdate-time
finished_at*|null
counts*|

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 Url
webhook_status*|null
Example Request
curl -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"}'
Example Response
{  "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"}