European Company Registry API – France, Czechia, Poland avatar

European Company Registry API – France, Czechia, Poland

Pricing

from $3.90 / 1,000 company records

Go to Apify Store
European Company Registry API – France, Czechia, Poland

European Company Registry API – France, Czechia, Poland

Look up or search French, Czech and Polish companies in the official registers (SIRENE/RNE, ARES, KRS). Get one clean record per company: VAT, legal form, status, address, NACE codes, officers, share capital, plus revenue & net income for France. No API key needed.

Pricing

from $3.90 / 1,000 company records

Rating

0.0

(0)

Developer

Niklas Bergström

Niklas Bergström

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

9 days ago

Last modified

Categories

Security

Limited permissions

Share

European Company Registry API – France, Czechia & Poland

Look up or search companies in the official, free government registers of France, Czechia and Poland and get one clean, normalized JSON record per company: name, official ID, VAT number, legal form, status, registered address, registration date, NACE industry codes, officers, share capital, and revenue & net income for French companies.

No scraping of commercial sites, no API keys, no logins. Every record links back to its official source.

CountryRegistry (official source)Lookup byName searchOfficersFinancials
🇫🇷 FranceRecherche d'entreprises API (INSEE SIRENE + INPI RNE, DINUM)SIREN (9 digits) or SIRET (14 digits)✅✅ directors, presidents, auditors✅ revenue & net income (latest year + history)
🇨🇿 CzechiaARES – Ministry of FinanceIČO (8 digits)✅✅ statutory & supervisory board (Public Register)➖ link to filed accounts
🇵🇱 PolandKRS – National Court Register, Ministry of JusticeKRS number (10 digits)❌ (not offered by the official API)⚠️ functions only (API masks names)➖ index of filed annual statements

What you can use it for

  • KYC / KYB and supplier onboarding – verify that a French, Czech or Polish company exists, is active, and get its VAT number and registered address.
  • CRM and lead enrichment – add legal form, NACE codes, headcount band (FR), share capital, website & e-mail (PL).
  • Credit & risk screening – status flags (closed, insolvency register, liquidation), French revenue and net income.
  • Data pipelines – stable schema across countries, shared with our Nordic Company Registry Actor (Norway & Finland).

Input

FieldDescription
lookupsCompany IDs. Prefix with FR:, CZ: or PL: – or leave the prefix out and the country is detected (9/14 digits with a valid Luhn checksum = France, 8 digits with a valid IČO checksum = Czechia, 10 digits = Poland).
searchQueriesCompany names. Prefix with FR: / CZ: to search one country, otherwise every country in searchCountries is searched.
searchCountriesCountries used for un-prefixed name searches (default France + Czechia).
maxResultsMax companies per name search and country (default 10, max 1000).
includeOfficersAdd officers / board members.
includeFinancialsAdd financial data (France: revenue & net income).
includeInactiveInclude closed companies in name searches (default on).
includeRawDataAttach the unmodified registry JSON.

Example: look up companies by ID

{
"lookups": ["FR:383474814", "CZ:27082440", "PL:0000028860", "55203253400646"],
"includeOfficers": true,
"includeFinancials": true
}
{
"searchQueries": ["FR:airbus", "CZ:alza", "michelin"],
"maxResults": 20,
"includeInactive": false
}

Output

One item per company (recordType: "company") plus one item per lookup that could not be resolved (recordType: "error"). Abbreviated example (Airbus, France):

{
"recordType": "company",
"country": "FR",
"companyId": "383474814",
"vatNumber": "FR89383474814",
"name": "AIRBUS",
"legalForm": { "code": "5710", "description": "Société par actions simplifiée (SAS)" },
"status": "active",
"isActive": true,
"registrationDate": "1991-10-18",
"businessAddress": { "street": "2 ROND-POINT DEWOITINE", "postalCode": "31700", "city": "BLAGNAC", "countryCode": "FR" },
"industryCodes": [{ "code": "30.30Z", "scheme": "NAF rév. 2 (NACE Rev. 2)", "primary": true }],
"employeeRange": "10000+",
"officers": [{ "name": "Guillaume FAURY", "role": "Président de SAS", "type": "person" }],
"financials": {
"fiscalYear": 2024, "currency": "EUR",
"keyFigures": { "revenue": 57412795000, "netIncome": 2206027000 },
"history": [{ "year": 2024, "revenue": 57412795000, "netIncome": 2206027000 }]
},
"sourceUrl": "https://annuaire-entreprises.data.gouv.fr/entreprise/383474814",
"license": "Licence Ouverte / Etalab Open Licence 2.0",
"fetchedAt": "2026-10-29T07:11:42Z"
}

Czech records add registerFileNumber (e.g. B 8573 (MSPH)), shareCapital and officers with the date they took office. Polish records add nip, regon, website, email, shareCapital, PKD industry codes with descriptions, representationRule and an index of filed annual financial statements.

The dataset has ready-made views: Overview, Financials, Officers & contacts and Errors.

Error items use errorType: not_found (valid ID, not in the register), invalid_id (wrong format or checksum), not_supported (e.g. Polish name search), no_results (empty name search), api_error.

Pricing (pay per event)

EventPriceWhen
Company record$0.0039Each company delivered to the dataset
Financial key figures$0.02Extra, only when revenue / net income were actually returned (France)
Not-found lookup$0.002A valid, checksum-verified ID that the registry does not contain

Invalid IDs, unsupported searches, empty searches and API errors are free. There is no start fee and you do not pay for platform usage. The Actor respects your maximum cost per run: it stops cleanly before going over it and never charges for financials it could not deliver.

1,000 French, Czech or Polish companies cost $3.90 (plus $20 if you want French financials on all of them).

Data sources & licensing

  • France – recherche-entreprises.api.gouv.fr (DINUM), built on INSEE SIRENE, INPI RNE and published annual accounts. Licence Ouverte / Etalab 2.0 – free re-use with attribution. Rate limit 7 requests/s; the Actor stays below it.
  • Czechia – ARES REST API of the Ministry of Finance (basic register + Public Register / veřejný rejstřík). Open data, free re-use.
  • Poland – KRS open API of the Ministry of Justice (current extract, OdpisAktualny). Public register data, open re-use.

All three are part of the EU High-Value Datasets on company information. The Actor only calls the official APIs, throttles requests per registry and retries politely (with Retry-After support) on 429/5xx.

Privacy: birth dates, personal ID numbers (PESEL) and home addresses of officers are never exported. Officer names are only returned where the registry publishes them openly (France, Czechia).

Limitations

  • Poland has no name search in the official KRS API, so Polish companies are looked up by KRS number only. Find a KRS number at wyszukiwarka-krs.ms.gov.pl. Only entities in the KRS (companies, associations, foundations) are covered – sole traders (CEIDG) are not.
  • Polish officer names are masked by the API (e.g. F*****); only their functions are returned.
  • Financial figures are France-only. French figures exist only for companies that published their accounts (many small companies file confidentially). Czech and Polish accounts are filed as documents, which this Actor links/indexes but does not parse.
  • French name search uses the registry's own relevance ranking; very generic names can return small namesakes first – use the SIREN when you know it. Some sole traders are non-diffusible and return limited data.
  • NACE codes are returned as codes (with descriptions for Poland).