European Company Registry API – France, Czechia, Poland
Pricing
from $3.90 / 1,000 company records
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
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
9 days ago
Last modified
Categories
Security
Limited permissionsShare
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.
| Country | Registry (official source) | Lookup by | Name search | Officers | Financials |
|---|---|---|---|---|---|
| 🇫🇷 France | Recherche d'entreprises API (INSEE SIRENE + INPI RNE, DINUM) | SIREN (9 digits) or SIRET (14 digits) | ✅ | ✅ directors, presidents, auditors | ✅ revenue & net income (latest year + history) |
| 🇨🇿 Czechia | ARES – Ministry of Finance | IČO (8 digits) | ✅ | ✅ statutory & supervisory board (Public Register) | ➖ link to filed accounts |
| 🇵🇱 Poland | KRS – National Court Register, Ministry of Justice | KRS 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
| Field | Description |
|---|---|
lookups | Company 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). |
searchQueries | Company names. Prefix with FR: / CZ: to search one country, otherwise every country in searchCountries is searched. |
searchCountries | Countries used for un-prefixed name searches (default France + Czechia). |
maxResults | Max companies per name search and country (default 10, max 1000). |
includeOfficers | Add officers / board members. |
includeFinancials | Add financial data (France: revenue & net income). |
includeInactive | Include closed companies in name searches (default on). |
includeRawData | Attach the unmodified registry JSON. |
Example: look up companies by ID
{"lookups": ["FR:383474814", "CZ:27082440", "PL:0000028860", "55203253400646"],"includeOfficers": true,"includeFinancials": true}
Example: name search
{"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)
| Event | Price | When |
|---|---|---|
| Company record | $0.0039 | Each company delivered to the dataset |
| Financial key figures | $0.02 | Extra, only when revenue / net income were actually returned (France) |
| Not-found lookup | $0.002 | A 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).
Related Actors
- Nordic Company Registry & Financials – Norway & Finland, same output schema.