1. The countries covered, in a common format
List the countries of your customers and suppliers, today and in two years. Then check whether every country has the same response format: an API that covers several countries with different formats forces you to write as many integrations.
Companies covers France, Belgium, Switzerland and the United Kingdom with the same format. Each company has a global identifier, country code and national number: FR-552100554, BE-0417497106, CH-101374515, GB-00445790. Blocks that do not exist in a country are flagged as unavailable, without an error.
2. Identifiers and their validation
A good API accepts numbers the way your users type them (spaces, dots, prefixes) and says precisely what is wrong: format, check digit, company not found, company closed, numbers that do not match.
Companies accepts the SIREN, the SIRET, the Belgian enterprise number, the Swiss UID, the British company number and French, Belgian and Swiss VAT numbers. The GET /v2/validate route checks in one call the format, existence, activity, consistency of the numbers and registration of the VAT number, and details the result of each check.
3. Up-to-date data
A wrong record costs more than a missing one: an outdated address, a closed company shown as active. Ask how freshness is made visible, and check on a few companies you know well.
Companies serves up-to-date data, and the Service status page publicly shows the state of the service and of the data. Each record states the company's status (active, closed) and its closing date where there is one.
4. Response time and volumes
In a form, a suggestion must arrive while the user is typing. In bulk processing, count the allowed throughput and whether calls can be grouped.
Companies: autocomplete answers in a few milliseconds on the server side; the basic record weighs about 0.5 KB, and extra blocks are only computed when requested. POST /v2/companies/batch reads up to 100 companies in one call, and ETag headers avoid re-reading an unchanged record. Throughput ranges from 100 requests per minute (Free) to 1,000 (Standard) and 10,000 (Pro), with no monthly quota.
5. The availability commitment (SLA)
Tell a target from a commitment: only a written SLA, with a definition of downtime and compensation, protects you. Also check that a public status page exists, with the incident history.
Companies publishes its service level agreement: 99.9% monthly availability guaranteed with the Pro plan, with a credit of 10 to 50% of the month's subscription if the commitment is missed; the same 99.9% target, without credit, with Standard; best-effort service with the free plan. A minute counts as unavailable when the service returns server errors or does not respond within 10 seconds. The Service status page shows the status and the incident history.
6. Clear pricing and a free plan
A price per credit or per record consulted is hard to predict as usage grows. Look at what happens at ten times your current volume, and whether a free plan lets you test without a credit card.
Companies has three fixed-price plans, published on the pricing page: Free at €0, Standard at €19 excl. VAT per month, Pro at €129 excl. VAT per month, with 20% off when billed yearly. No plan has a monthly quota: the limits are on throughput per minute. The free plan, with no credit card, gives access to every route.
7. Documentation, testing and errors
Open the documentation before you sign: each route should have its parameters, a sample request and response, and the list of its errors. Stable error codes and a tool to test without coding save days of integration.
Companies documents every route with its parameters, an example and its errors, and provides an OpenAPI specification. The demo on the home page queries the API without an account; the Tester in your account area sends any request with your account. All errors share the same format, with a stable code (invalid_identifier, rate_limit_exceeded…) and a link to the documentation; the X-RateLimit-Remaining and Retry-After headers show the remaining throughput and the wait time.
8. GDPR and hosting in Europe
Ask where the data travels and is stored, what is kept of your requests, and who the sub-processors are. For a European software vendor, it is often a requirement from your own customers.
Companies is published by a French company. The API runs on a server located in France, and the accounts database is hosted in the European Union, in Frankfurt. The request log keeps the date, path, status and duration, never the content of the responses. For file enrichment, only the identifier column leaves your computer. The privacy policy lists the processing activities, retention periods and sub-processors.
Bonus: change monitoring
Checking a company on the day it signs up is not enough: it can close, move or enter insolvency proceedings. An API that warns you of changes spares you from regularly re-reading all your records.
Companies includes monitoring in every plan: 2 companies with the free account, 1,000 with Standard, 10,000 with Pro. Each change (status, name, address, activity, insolvency signal, legal notice, sanctions) becomes an event, sent to a signed webhook and by e-mail, and readable with GET /v2/events for 90 days. The article How to check if a French company is in liquidation shows a use case.
Run the test in one call
The simplest way to compare is to run the same request on a company you know. With Companies, a Belgian record with its address, VAT number and signals:
curl "https://companies.jsonpage.com/v2/companies/BE-0417497106?include=address,vat,signals" \
-H "X-API-Key: $COMPANIES_API_KEY"
Create a free account to get your key, then go through the grid above on your own cases. Answers to questions about plans and availability are in the FAQ.
Frequently asked questions
Do I need an SLA for a company data API?+
If the API sits on the critical path of your product (sign-up, invoicing), yes. With Companies, the Pro plan guarantees 99.9% monthly availability with credits; Standard aims at the same target, without credits.
Is a free plan enough to test?+
Yes. Companies's free plan, with no credit card, gives access to every route with 100 requests per minute, 2 monitored companies and file enrichment of up to 100 rows.
Is there a monthly quota?+
No. No Companies plan has a monthly quota: the limits are on throughput, from 100 to 10,000 requests per minute depending on the plan.
Where is the data hosted?+
The Companies API runs on a server located in France; the accounts database is hosted in the European Union, in Frankfurt.
Which countries does Companies cover?+
France, Belgium, Switzerland and the United Kingdom, with the same response format and a global identifier for each company.
Keep reading
- SIRENWhat is a SIREN number and how to find itThe 9-digit format, who gets one, where it appears and how to find a company's SIREN from its name.
- VATFrench VAT number: format and how to check itThe French, Belgian and Swiss formats, the mentions on the invoice and the check before invoicing.
- INSOLVENCY PROCEEDINGSHow to check if a French company is in liquidationLiquidation, redressement and sauvegarde explained, the signals to watch and alerts on your customers and suppliers.