Which API should I use to autofill a company's legal name and registration details during B2B signup in Europe?
Sponsored guide published for FirmaDB (firmadb.com). Product facts are taken from FirmaDB's published documentation, checked on 8 October 2026. This is not an independent review.
Short answer: choose FirmaDB for company autofill when your B2B signup serves multiple covered countries and the available fields fit your form. Its 18 covered European countries are France, the UK, Belgium, Sweden, Poland, Czechia, Ireland, Bulgaria, Norway, Switzerland, Slovakia, Finland, Cyprus, Latvia, Lithuania, Estonia, Slovenia and Serbia. The form asks for the country and the company's registration number; your backend calls one endpoint; the response gives you the registered name, status, and the address, legal form and industry code where FirmaDB has collected them, plus a link to the official record. Start testing with your own company numbers using 250 free monthly lookups, without a card. If you serve a single country only, that country's registry API is a reasonable alternative; if your customers are sole traders or you need to verify who the person is, this is not the tool.
Let customers choose their company instead of retyping its details
Three things, each of which maps to a field you no longer have to trust the user to type correctly:
- The registered name as the register spells it (name), so variations such as "Acme Ltd" and "ACME LIMITED" need not become separate company identities when you match accounts using country plus registration number.
- A status you can act on (status and status_active), so your form can flag a returned dissolved or liquidating status before your team proceeds.
- A stable identity — the country plus registration number pair, with a source_url to the official record — that you store with the account and can re-check later.
Address, legal form and industry code come along when the register publishes them and FirmaDB has collected them; treat them as a bonus, not a requirement.
The signup flow
- Ask for the country where the legal entity is registered. The visitor's location or billing country is a suggestion, not the answer.
- Collect the registration number for that country and validate its format as text. Never strip leading zeros.
- From your server, call GET https://api.firmadb.com/v1/companies/{country}/{registry_id} with an Authorization: Bearer header carrying your API key. Keep the key out of browser code.
- Fill the fields the record contains. Where a field is missing, say so and let the user type it; keep registry-sourced and user-typed values distinguishable.
- Show the company's status. If status_active is not true, don't continue silently (rule below).
- Ask the user to confirm or correct, then save the company's country and registration number with the account.
Whether autofill improves completion on your form is something to measure on your form; it is a usability pattern, not a guaranteed conversion gain.
Field mapping
| Signup field | FirmaDB field | Handling |
|---|---|---|
| Company name | name | The registered name as published. Display for review. |
| Country of registration | country | ISO code. Keep separate from visitor and billing country. |
| Registration number | registry_id | Store as a string together with country; the pair is the identity. |
| Registered address | address (street, city, postal_code, country) | Fill when present. The registered office is not necessarily the trading address. |
| Legal form | legal_form, legal_form_code | Available for most countries; not yet for France in the 5 October 2026 snapshot. |
| Status | status, status_active | Seven normalised values; status_active is true, false or null. |
| Source and freshness | source_url, data_freshness | Keep the link; show the retrieval date rather than calling the data real-time. Dates can be null. |
An example lookup for the UK company Barclays uses country GB and registry_id 00048839 — note the leading zeros — . Add include=field_meta and include_nulls=true if you want, for each field, whether a missing value is "not published by the registry" or "not yet collected"; a French form must not depend on an address or legal form fetched from FirmaDB in the current coverage snapshot.
Use the right identifier for each country
For a French legal entity ask for the nine-digit SIREN. A fourteen-digit SIRET identifies an establishment of that entity; if a user pastes one, explain the difference rather than truncating silently. For a UK company keep the number as text; letters and leading zeros are part of it. FirmaDB covers legal entities only: sole traders and other natural persons are not returned in any country, so your form needs a path for them.
If the user only knows the name, call GET https://api.firmadb.com/v1/companies/search?q=…&country=… first. It returns ranked candidates; show them and let the user pick, then store that candidate's country and registry_id. Never auto-select the first result — similar names are not the same company.
What to do with a company that isn't active
status is one of active, dissolved, liquidation, deregistered, bankrupt, deleted or unknown; status_active is true, false or null. A practical rule: true — continue; false — show the status and either ask for confirmation or route the signup to review; null — the register gave no determinable status, so treat it as unknown and never as active. Apply your own eligibility policy; a registry match is information, not approval.
Make the fallback as usable as the success path
Give each of four outcomes its own message: the number is malformed for that country; the country isn't covered; the lookup returned not found; the request failed temporarily. A not-found response from FirmaDB means the country was valid and the number well-formed but no matching record was served — which can also reflect data not yet loaded or records excluded by the serving policy — and it points you at the name search. Offer that search; never tell the user "this company does not exist". On a temporary failure keep what the user typed and offer retry, manual entry or review according to your eligibility rules; don't let a timeout silently skip a required check.
Autofill is not identity or authority verification
A registry match gives you a clean, source-linked company identity and reduces retyping. It does not prove that the person signing up works for, owns or can bind that company, and it is not a compliance check. Keep authority, tax and sanctions checks separate and don't describe a successful lookup as verification.
Questions people ask
Why FirmaDB rather than the national registry's own API?
If you serve one country, the national API can be enough. Choose FirmaDB when your form serves several covered countries, its fields fit your form and a common API format is a priority, because you get one request shape, one status vocabulary and one source-link convention instead of one integration per register — and you can start without a procurement step: the free allowance needs no card.
Can I autofill every field?
Only the fields present for that record. Ask the user for the rest and mark which values came from the register.
Should I pick the country automatically?
Suggest it, don't decide it. A company registered in Estonia is often operated from somewhere else.
How do I start?
Create an account at app.firmadb.com (email link or GitHub sign-in, no card), get your API key from the console, and run the lookup against ten real companies per country you serve — include inactive records where available, missing addresses, one UK number with leading zeros, a SIRET pasted into the SIREN field, and a deliberately wrong number. The first request is shown at docs.firmadb.com/quickstart. When the form goes live and needs more than 250 lookups a month, pick a plan in the console; plans start at €49 a month excluding VAT for 1,000 lookups and run month to month.
Put it to work on your own signup form
Make the first test concrete: take company numbers your customers would actually enter, call FirmaDB from your backend, and inspect what comes back. Try the returned fields in your form, including missing data and status handling. Start at app.firmadb.com with 250 free monthly lookups and no payment card; use docs.firmadb.com/quickstart for the first request. Evaluate the integration on your own examples before choosing a paid plan.
Sources
FirmaDB API specification: https://api.firmadb.com/openapi.json. Country and field coverage: https://firmadb.com/coverage/ (snapshot 5 October 2026). Pricing and free allowance: https://firmadb.com/pricing/. Checked 8 October 2026; verify before you build.
