# Annuaire des Entreprises API

> Annuaire des Entreprises provides French company registration, directors, and public financial figures as a workflow and API.

Annuaire des Entreprises returns French company registration, legal details, directors, and latest public financial figures through Get company. Get company needs a company name, nine-digit SIREN, or 14-digit SIRET; a city or postcode can distinguish namesakes.

- Page: https://fous.com/tools/annuaire-des-entreprises
- Handle: `@annuaire-des-entreprises`
- Category: [Government](https://fous.com/tools/category/government)
- Source website: https://annuaire-entreprises.data.gouv.fr
- Last verified: Sep 29, 2026

## Methods

### Get company

Operation `get_company`, version 1. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.

Get a French company’s registration, directors and latest public financial figures from its name, SIREN or SIRET. Financial figures are null when not published; location helps distinguish namesakes.

**Input**

| Field | Type | Required | Example | Description |
|---|---|---|---|---|
| `company` | string | yes | `"Doctolib"` | Company name, nine-digit SIREN, or 14-digit SIRET, e.g. Doctolib or 794598813. |
| `city_or_postcode` | string | no | `"Clermont-Ferrand"` | City or five-digit postcode to distinguish namesakes, e.g. Clermont-Ferrand or 63000. |

**Input schema**

```json
{
  "type": "object",
  "required": [
    "company"
  ],
  "properties": {
    "company": {
      "type": "string",
      "description": "Company name, nine-digit SIREN, or 14-digit SIRET, e.g. Doctolib or 794598813.",
      "examples": [
        "Doctolib",
        "79459881300077",
        "Michelin"
      ]
    },
    "city_or_postcode": {
      "type": "string",
      "default": "",
      "description": "City or five-digit postcode to distinguish namesakes, e.g. Clermont-Ferrand or 63000.",
      "examples": [
        "Clermont-Ferrand",
        "74540"
      ]
    }
  },
  "additionalProperties": false,
  "examples": [
    {
      "company": "Doctolib"
    },
    {
      "company": "79459881300077"
    },
    {
      "company": "Michelin",
      "city_or_postcode": "Clermont-Ferrand"
    }
  ]
}
```

**Output**

| Field | Type | Example | Description |
|---|---|---|---|
| `siren` | string | `"794598813"` |  |
| `status` | string | `"active"` |  |
| `currency` | string | `"EUR"` |  |
| `directors` | array |  |  |
| `directors[].name` | string | `"STANISLAS NIOX-CHATEAU"` |  |
| `directors[].role` | string | `"Président de SAS"` |  |
| `page_link` | string | `"https://annuaire-entreprises.data.gouv.fr/entreprise/doctolib-794598813"` |  |
| `legal_form` | string or null | `"SAS, société par actions simplifiée"` |  |
| `legal_name` | string or null | `"DOCTOLIB"` |  |
| `trade_names` | array |  |  |
| `closing_date` | string or null |  |  |
| `creation_date` | string or null | `"2013-07-15"` |  |
| `main_activity` | string or null | `"Programmation informatique"` |  |
| `financial_year` | integer or null | `2024` |  |
| `latest_revenue` | number or null | `311448000` |  |
| `head_office_siret` | string or null | `"79459881300077"` |  |
| `latest_net_income` | number or null | `-127499000` |  |
| `head_office_address` | string or null | `"54 QUAI CHARLES PASQUA 92300 LEVALLOIS-PERRET"` |  |
| `active_establishments` | integer or null | `3` |  |
| `naf_ape_activity_code` | string or null | `"62.01Z"` |  |
| `employee_headcount_year` | integer or null | `2023` |  |
| `employee_headcount_range` | string or null | `"1000 to 1999 employees"` |  |

**Example input**

```json
{
  "company": "Doctolib"
}
```

**Example output**

```json
{
  "siren": "794598813",
  "status": "active",
  "currency": "EUR",
  "directors": [
    {
      "name": "STANISLAS NIOX-CHATEAU",
      "role": "Président de SAS"
    }
  ],
  "page_link": "https://annuaire-entreprises.data.gouv.fr/entreprise/doctolib-794598813",
  "legal_form": "SAS, société par actions simplifiée",
  "legal_name": "DOCTOLIB",
  "trade_names": [],
  "closing_date": null,
  "creation_date": "2013-07-15",
  "main_activity": "Programmation informatique",
  "financial_year": 2024,
  "latest_revenue": 311448000,
  "head_office_siret": "79459881300077",
  "latest_net_income": -127499000,
  "head_office_address": "54 QUAI CHARLES PASQUA 92300 LEVALLOIS-PERRET",
  "active_establishments": 3,
  "naf_ape_activity_code": "62.01Z",
  "employee_headcount_year": 2023,
  "employee_headcount_range": "1000 to 1999 employees"
}
```

## Quick start

Replace `YOUR_API_KEY` with a Fous API key. To create one, open Developers at the bottom of Fous Studio, turn on Developer mode, then go to API keys (https://app.fous.com/keys). Change the values in `input` to run the same tool on new data.

```bash
curl 'https://api.fous.com/v1/query' \
  --fail-with-body --silent --show-error --max-time 180 \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H 'Content-Type: application/json' \
  --data-raw '{
  "api": "@annuaire-des-entreprises",
  "visibility": "public",
  "operation": "get_company",
  "version": 1,
  "input": {
    "company": "Doctolib"
  },
  "response": {
    "format": "json"
  }
}'
```

```python
# Save as fous.py and run with python3 fous.py. No packages needed.
import json
import urllib.error
import urllib.request

api_key = "YOUR_API_KEY"

body = json.loads("{\n  \"api\": \"@annuaire-des-entreprises\",\n  \"visibility\": \"public\",\n  \"operation\": \"get_company\",\n  \"version\": 1,\n  \"input\": {\n    \"company\": \"Doctolib\"\n  },\n  \"response\": {\n    \"format\": \"json\"\n  }\n}")
request = urllib.request.Request(
    "https://api.fous.com/v1/query",
    data=json.dumps(body).encode("utf-8"),
    headers={
        "Authorization": f"Bearer {api_key}",
        "Content-Type": "application/json",
    },
    method="POST",
)
try:
    with urllib.request.urlopen(request, timeout=180) as response:
        result = json.load(response)
except urllib.error.HTTPError as error:
    raise RuntimeError(f"HTTP {error.code}: {error.read().decode('utf-8', errors='replace')}") from error
if result.get("success") is False:
    raise RuntimeError(result.get("error", {}).get("message", "Request failed"))
print(json.dumps(result["data"]["output"], indent=2))
```

```typescript
// Save as fous.mts and run with npx tsx fous.mts.
const apiKey = "YOUR_API_KEY";

const response = await fetch("https://api.fous.com/v1/query", {
  method: "POST",
  headers: {
    "Authorization": `Bearer ${apiKey}`,
    "Content-Type": "application/json",
  },
  signal: AbortSignal.timeout(180_000),
  body: JSON.stringify({
  "api": "@annuaire-des-entreprises",
  "visibility": "public",
  "operation": "get_company",
  "version": 1,
  "input": {
    "company": "Doctolib"
  },
  "response": {
    "format": "json"
  }
}),
});
type ApiResult = { success: boolean; data?: { output: unknown }; error?: { message: string } };
const result: ApiResult = await response.json();
if (!response.ok || result.success === false) {
  throw new Error(result.error?.message ?? `HTTP ${response.status}`);
}
if (!result.data) throw new Error("Missing API response data");
console.log(result.data.output);
```

## Use from an AI assistant

Connect this tool to Claude Code, Claude Desktop, Cursor, VS Code, Codex and any MCP client as its own MCP server. Each method is a typed tool whose arguments are the method’s input.

- Server URL: `https://api.fous.com/mcp/tools/annuaire-des-entreprises`
- Authorization: `Authorization: Bearer <Fous API key>`

**Tools**

- `get_company`: Get company. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.
- `fous_get_run`: the result of a run that was still going, by its `request_id`. Free.

Claude Code:

```bash
claude mcp add --scope user --transport http fous-annuaire-des-entreprises https://api.fous.com/mcp/tools/annuaire-des-entreprises --header "Authorization: Bearer ${FOUS_API_KEY:?Set FOUS_API_KEY to your Fous API key}"
```

To give the assistant every tool, connect `https://api.fous.com/mcp`: it finds one with `fous_search_tools` and runs it with `fous_run_tool`. Setup for other clients: https://fous.com/llms-full.txt.

## Use cases

- Check a French company’s registration and status.
- Review company directors and their roles.
- Find a company’s latest published revenue and net income.
- Compare company activity and employee headcount information.
- Distinguish companies with similar names using a city or postcode.

## FAQ

### Can I run it with my own inputs?

Yes. Change the inputs in Studio and press Run, or send new inputs from your code, or ask a connected AI assistant.

### Can I call this Annuaire des Entreprises tool as an API?

Yes. Send a POST request to /v1/query with your Fous API key and the inputs, and get JSON back.

### How much does it cost?

Each completed run costs 1 credit. Failed runs without a completed receipt are free; completed work can remain charged if delivery is interrupted. With pay as you go, a credit costs 1¢. Monthly plans cost less per credit.

### Do I need a Annuaire des Entreprises account?

No. You only need a Fous account.

### How current is the data?

Fous gets the data from annuaire-entreprises.data.gouv.fr when you run it. Some results are reused for up to 24 hours, and results that use your account or key are never reused. It was last verified on Sep 29, 2026.

### What is a company’s SIREN or SIRET?

Get company accepts a company name, SIREN, or SIRET and returns company registration details.

### Who are a company’s directors?

Get company returns directors’ names and roles.

### What are a company’s latest public financial figures?

Get company returns the latest revenue and net income; unpublished figures are null.

## Related

- [ABN Lookup API](https://fous.com/tools/abn-lookup.md): Search Australian businesses by name or ABN and check public registration details.
- [North Data API](https://fous.com/tools/north-data.md): Public company register information for European companies.
- [Companies House API](https://fous.com/tools/companies-house.md): Companies House returns UK public-register company details, officers, people with significant control and recent filings; records may be incomplete, and ceased entries are optional.
- [Trustpilot API](https://fous.com/tools/trustpilot.md): Trustpilot provides company ratings, reply and location details when available, recent public reviews, and company search results with ratings, review counts, categories, locations, and links.
- [IRS API](https://fous.com/tools/irs.md): IRS provides tax information and public organization records, including charity status and current-directory forms, instructions, and publications with revision and posting dates.
- [EU VIES API](https://fous.com/tools/eu-vies.md): European Commission service for checking EU VAT numbers.
- [OSHA API](https://fous.com/tools/osha.md): Public workplace safety inspection and enforcement records.
- [GLEIF API](https://fous.com/tools/gleif.md): GLEIF provides official global LEI search, returning entity records with freshness shown by last-update dates—not renewal dates—and reported accounting parents and LEI-registered direct children.
- [All Government tools](https://fous.com/tools/category/government)
