Stop polling Companies House. Get a webhook the moment a company status changes.
Pass your key in every request header:
X-Api-Key: kybd_<your_key>
Successful JSON responses use a top-level data field. Errors use error.code and error.message (optional details for validation). Authenticated routes return X-RateLimit-* headers.
| Param | In | Description |
|---|---|---|
| id | path | Companies House number (e.g. 12345678) |
curl https://api.kybdiff.com/v1/companies/12345678 \ -H "X-Api-Key: kybd_your_key"
{
"data": {
"company_number": "12345678",
"data": { "CompanyName": "ACME LTD", "CompanyStatus": "Active", ... },
"updated_at": "2026-05-02T20:00:00.000Z"
}
}
| Param | In | Description |
|---|---|---|
| id | path | Company number |
| limit | query | Max results (default 20, max 100) |
| cursor | query | Optional: diff_log.id from meta.next_cursor for the next page |
curl "https://api.kybdiff.com/v1/companies/12345678/changes?limit=5" \ -H "X-Api-Key: kybd_your_key"
{
"data": {
"company_number": "12345678",
"changes": [
{ "id": 42, "company_number": "12345678", "change_set": [...], "created_at": "..." }
]
},
"meta": { "has_next": true, "next_cursor": "41" }
}
curl https://api.kybdiff.com/v1/webhooks \ -H "X-Api-Key: kybd_your_key"
{ "data": [ { "id": 7, "company_number": "12345678", "url": "https://…", "created_at": "…" } ] }
| Field | Type | Description |
|---|---|---|
| company_number required | string | Companies House number |
| url required | string | HTTPS endpoint to receive events |
curl -X POST https://api.kybdiff.com/v1/webhooks \
-H "X-Api-Key: kybd_your_key" \
-H "Content-Type: application/json" \
-d '{"company_number":"12345678","url":"https://yourapp.com/hooks/kyb"}'
Returns 201 with Location: /v1/webhooks/:id.
// Payload delivered to your URL on every change:
{
"event": "company.updated",
"company_number": "12345678",
"diff_log_id": 42,
"patch": [{ "op": "replace", "path": "/CompanyStatus", "value": "Dissolved" }],
"data": { ... },
"delivered_at": "2026-05-02T20:00:00.000Z"
}
curl -X DELETE https://api.kybdiff.com/v1/webhooks/7 \ -H "X-Api-Key: kybd_your_key"
Returns 204 No Content on success.
Metered at $49 / 1 000 deliveries. You're only charged for events that actually fire.