Recherche d'entreprises françaises.
Searches French businesses in the official company register search API (recherche-entreprises.api.gouv.fr) by name or keyword: company name, SIREN number, main activity code, head-office address and creation date, plus the number of open establishments. First page of results (about 10 companies, best match first). Returns an empty list when nothing matches.
- Site
- Recherche d'entreprises, France
- Version
- v1
- Runs, last 7 days
- No reports yet
- sha256
- f1b1f4258cf5…
Run it with your agent
after installing WieldAsk in plain words. Your agent finds this recipe and calls it:
“Recherche d'entreprises françaises.”
Read-only: it changes nothing on the site. No login needed.
{ "tool": "run", "arguments": { "recipe_id": "api.gouv.fr/search-businesses", "params": { "query": "boulangerie" } } }
Requests
sent from your browser, in order- 1GET/search?qPublic JSON search API of the French government company directory: GET /search?q=…. No key, read-only. Each item in results is one company with its head office (siege) and open-establishment counts.
Parameters
from your agentReturns
to your agentWhere it can send
- recherche-entreprises.api.gouv.fr
Anything else is blocked by the extension.
Reads from your session
Nothing. Your browser attaches the site's cookies by itself.
Used only in requests to the addresses on the left. Never sent to wield.run or your agent.
Checks
a run passes when- length(output.companies) > `0`
- length(output.companies[?starts_with(url, 'https://recherche-entreprises.api.gouv.fr/')]) == length(output.companies)
- length(output.companies[?name != `null`]) == length(output.companies)
Raw recipe
Served as canonical JSON from /api/v1/recipes/api.gouv.fr/search-businesses, so its sha256 matches the ETag and the index.
curl -s https://wield.run/api/v1/recipes/api.gouv.fr/search-businesses | shasum -a 256 # f1b1f4258cf53499e4a00cf2770ac851573ee153b3d42b32f29308310f62ad44
{ "description": "Searches French businesses in the official company register search API (recherche-entreprises.api.gouv.fr) by name or keyword: company name, SIREN number, main activity code, head-office address and creation date, plus the number of open establishments. First page of results (about 10 companies, best match first). Returns an empty list when nothing matches.", "effect": "read", "id": "api.gouv.fr/search-businesses", "keywords": [ "entreprises", "entreprise", "siren", "société", "recherche d'entreprises", "annuaire", "registre", "france", "business", "company", "companies", "boulangerie", "siret" ], "output": { "schema": { "properties": { "companies": { "items": { "properties": { "activity_code": { "description": "Main activity code (NAF/APE), e.g. 10.71A", "type": [ "string", "null" ] }, "category": { "description": "Company size category, e.g. PME, ETI, GE", "type": [ "string", "null" ] }, "city": { "type": [ "string", "null" ] }, "created": { "description": "Creation date, YYYY-MM-DD", "type": [ "string", "null" ] }, "establishments": { "description": "Number of establishments (all)", "type": [ "integer", "null" ] }, "head_office_address": { "type": [ "string", "null" ] }, "name": { "type": "string" }, "open_establishments": { "description": "Number of establishments still open", "type": [ "integer", "null" ] }, "postal_code": { "type": [ "string", "null" ] }, "siren": { "description": "9-digit French company identifier", "type": "string" }, "url": { "description": "Record of this company in the same API", "type": "string" } }, "required": [ "name", "siren", "url" ], "type": "object" }, "type": "array" }, "query": { "type": "string" } }, "required": [ "query", "companies" ], "type": "object" }, "value": "{query: params.query, companies: steps.search.companies[?nom_complet != `null` && siren != `null`].{name: nom_complet, siren: siren, url: join('', ['https://recherche-entreprises.api.gouv.fr/search?q=', siren]), activity_code: activite_principale, head_office_address: siege.adresse, postal_code: siege.code_postal, city: siege.libelle_commune, created: date_creation, establishments: nombre_etablissements, open_establishments: nombre_etablissements_ouverts, category: categorie_entreprise}}" }, "params": { "additionalProperties": false, "properties": { "query": { "description": "Company name or activity word, e.g. 'boulangerie', 'Michelin', 'Orange'", "maxLength": 100, "minLength": 2, "type": "string" } }, "required": [ "query" ], "type": "object" }, "provenance": { "method": "har", "notes": "GET /search?q=… on recherche-entreprises.api.gouv.fr, the public JSON API behind the French government company search. The response is an object whose results array has one company per item (nom_complet, siren, activite_principale, siege with address and commune, date_creation, nombre_etablissements and nombre_etablissements_ouverts). The url is the same API's record for that SIREN, since the response has no page link. No key, no login.", "recorded_at": "2026-11-08T16:30:00.000Z", "recorded_by": "wield-forge (claude-haiku agent)" }, "requires_login": false, "schema": "https://wield.run/schema/recipe/v1.json", "site": { "country": "FR", "id": "api.gouv.fr", "language": "fr", "name": "Recherche d'entreprises", "origin": "https://recherche-entreprises.api.gouv.fr", "origins": [ "https://recherche-entreprises.api.gouv.fr" ] }, "steps": [ { "description": "Public JSON search API of the French government company directory: GET /search?q=…. No key, read-only. Each item in results is one company with its head office (siege) and open-establishment counts.", "expect": { "assert": "status == `200` && type(body.results) == 'array'", "content_type": "json", "status": [ 200 ] }, "extract": { "json": { "companies": "results" } }, "id": "search", "request": { "credentials": "omit", "headers": { "Accept": "application/json" }, "method": "GET", "query": { "q": "{{params.query}}" }, "url": "/search" } } ], "task": "Recherche d'entreprises françaises", "tos": { "notes": "Not reviewed. One search page per call, the same page a visitor loads. The site's terms on automated access were not checked.", "reviewed": false }, "verify": { "checks": [ "length(output.companies) > `0`", "length(output.companies[?starts_with(url, 'https://recherche-entreprises.api.gouv.fr/')]) == length(output.companies)", "length(output.companies[?name != `null`]) == length(output.companies)" ], "example_params": { "query": "boulangerie" }, "max_ms": 5000 }, "version": 1 }