Credits and billing
What each call costs, when you are charged, and how usage is metered.
The API is prepaid. You hold a balance of credits; each successful call deducts the credits that call costs. Your plan adds its credits every month: 1,000 on Starter, 10,000 on Business and 100,000 on Scale. A call through the MCP server costs exactly what it costs here. The app spends the same credits: a register extract, a document or, on the Free plan, a company profile costs 1, once per workspace; the current extract is free.
Credits are bought in the app under Settings › Plan & billing (Einstellungen › Plan & Abrechnung), at 7 cents each without a plan, 6 cents on Starter, 1.8 cents on Business and 0.6 cents on Scale, net. Credits you bought work with or without a plan.
What each call costs
Your own objects are free
Reading and managing your monitors, destinations, deliveries and lists costs nothing, and so does reference data. Only reading register data, and creating a monitor, is charged. Every operation's page in the API reference also states its price.
| Cost | Operations |
|---|---|
| Free | GET /monitors, GET /monitors/{monitor_id}, PATCH /monitors/{monitor_id}, DELETE /monitors/{monitor_id}, GET /destinations, POST /destinations, GET /destinations/{destination_id}, PATCH /destinations/{destination_id}, DELETE /destinations/{destination_id}, GET /deliveries, GET /deliveries/{delivery_id}, GET /lists, POST /lists, GET /lists/{list_id}, PATCH /lists/{list_id}, DELETE /lists/{list_id}, GET /lists/{list_id}/items, POST /lists/{list_id}/items, PATCH /lists/{list_id}/items/{item_id}, DELETE /lists/{list_id}/items/{item_id}, GET /event-types, GET /event-groups, GET /legal-forms, GET /courts, GET /role-types, GET /industries, GET /account, GET /health |
| 1 credit | GET /search/companies, GET /search/persons, GET /search/suggestions, GET /companies/{company_id}/documents, GET /events/{event_id}, GET /formations/{formation_id}, PATCH /formations/{formation_id} |
| 1 credit per 10 returned results | POST /companies/find, POST /search/companies/filter |
| 4 credits, plus 8 with ubo | POST /companies/verify |
| 8 credits | POST /answers |
| 10 credits | GET /companies/{company_id}, GET /companies/{company_id}/roles, GET /companies/{company_id}/shareholders, GET /companies/{company_id}/holdings, GET /companies/{company_id}/ownership-tree, GET /companies/{company_id}/financial-statements, GET /companies/{company_id}/events, GET /persons/{person_id}, GET /persons/{person_id}/roles, GET /persons/{person_id}/holdings, GET /events, GET /formations, POST /monitors |
| 25 credits | GET /companies/{company_id}/beneficial-owners |
| 50 credits | GET /companies/{company_id}/kyb-report |
A list is charged per page: walking 300 events at 100 per page is three calls. POST /companies/find
and POST /search/companies/filter cost their credit per 10 companies they return — ⌈returned/10⌉ a call, nothing
when none is found. Your balance must hold the price of the results you ask for, ⌈limit/10⌉, before the call.
POST /companies/verify costs 4 credits, 12 when its checks ask for the beneficial owners (ubo).
POST /answers costs 8 credits, and every refusal is uncharged.
One
read of GET /events is free: with monitor_id, it lists what your own monitor matched, and that is
part of monitoring. A POST /monitors over a search (prompt or filter instead of a company) is free to
create; each match it delivers costs 1 credit, as a saved event search's hit does.
The free plan
A personal account without a paid plan gets 50 credits once, when the account is created
(accounts that existed before 2026-10 received them when the free plan started). They expire
30 days after they are granted, and are spent before credits you bought. When a plan starts, its
included credits arrive as usual; free credits you still have stay until they are spent or
expire. Free credits do not pay for monitors created through the API or the MCP server;
everything else they may pay for. Team workspaces do not get free credits. GET /account counts them in
credits.remaining.
When you are charged
Credits are deducted before your request runs, and refunded if it fails. The rule:
2xx: charged its price. That includes an empty result. An empty list is an answer: "this company has no shareholders on file" is worth as much as a full page.4xxand5xx: not charged. A not-found company, a duplicate monitor, a validation error, a retired path's410or a server error costs you nothing.- Redirects: a
301(a merged company, a moved path) costs nothing. A302that hands you a paid document is the purchase, and is charged the document's price. 402: the call never ran; nothing was deducted.- A replay of a request sent with an
Idempotency-Keyis not charged again.
Two headers say what a call cost:
| Header | Sent | Value |
|---|---|---|
Registercheck-Credits-Charged | On every response to a call made with a key, whatever its status | What this call cost. A 2xx is charged its price, including an empty page. 0 for a free call, every 4xx (a 404 and a 402), every 5xx, and a 301. A 302 that hands you a paid document is charged. |
Registercheck-Credits-Remaining | Whenever the call read your balance: every charged call, and a charged call that was refunded. Free calls and a refusal before billing omit it. | Your balance after this call |
Because the deduction happens first, a burst of concurrent requests can take your balance below what you expected before any of them return.
Running out
When your balance cannot cover a call, the API returns 402 and does not run it. Like every
error, it is a problem document; required_credits and
available_credits say by how much you are short:
{
"type": "https://docs.registercheck.de/errors/insufficient_credits",
"title": "Insufficient credits",
"status": 402,
"detail": "Insufficient credits. This request costs 25 credits.",
"code": "insufficient_credits",
"request_id": "9b0c2f5e-4d1a-4c3e-9a8e-6f0b1d2c3e4f",
"required_credits": 25,
"available_credits": 4
}Buy more in the app under Settings › Plan & billing (Einstellungen › Plan & Abrechnung); paid by card, the new balance is live within a few seconds, by SEPA direct debit once the debit is confirmed.
With a paid plan, overage can be switched on on the Usage (API & Nutzung) page: calls the balance cannot cover then go on, and are invoiced after the month at 7.5 cents a credit on Starter, 2.25 cents on Business and 0.75 cents on Scale.
Seeing what you have used
Your balance and a breakdown by endpoint and by key are on the Usage (API & Nutzung) page.
The usage breakdown is currently unreliable and may render empty even when calls have been billed. Your balance is always correct; if the breakdown is blank, that is a display fault and not a sign that calls were free.
Making calls cheaper
- Search first, then read. Three searches cost less than one company record.
POST /search/companies/filtercosts 1 credit per 10 returned results, up to 1,000 a page — 100 credits for 1,000 companies, far cheaper than 1,000 individual reads.- Cache by company
id. Ids are stable; the record behind them rarely changes. - Use monitoring instead of re-reading companies to detect change. One monitor replaces an indefinite polling loop.