> ## Documentation Index
> Fetch the complete documentation index at: https://docs.leads-siren.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Search Companies

Search French companies by location, sector, legal form, employee count, and more. All filter fields are **optional** — you can pass any combination of them, or even an empty `filters` object.

## Request Body

<ParamField body="data" type="object">
  <Expandable title="properties">
    <ParamField body="filters" type="object">
      <Expandable title="filter fields">
        <ParamField body="q" type="string[]">
          Free-text search terms (e.g. company name).
        </ParamField>

        <ParamField body="activite_principale" type="string[]">
          NAF/APE activity codes (e.g. `["62.01Z", "62.02A"]`).
        </ParamField>

        <ParamField body="etat_administratif" type="string">
          Administrative status. `"A"` for active, `"C"` for closed.
        </ParamField>

        <ParamField body="tranche_effectif_salarie" type="string[]">
          Employee count ranges. Allowed values: `"0"`, `"1-9"`, `"10-49"`, `"50-199"`, `"200-499"`, `"500+"`.
        </ParamField>

        <ParamField body="departement" type="string[]">
          French department codes (e.g. `["75", "92", "93"]`).
        </ParamField>

        <ParamField body="region" type="string">
          French region code (e.g. `"11"` for Ile-de-France).
        </ParamField>

        <ParamField body="code_postal" type="string[]">
          Postal codes (e.g. `["75001", "75002"]`).
        </ParamField>

        <ParamField body="nature_juridique" type="string[]">
          Legal form categories. Allowed values: `"Entreprises individuelles"`, `"Sociétés commerciales"`, `"Sociétés civiles"`, `"Associations"`, `"Autres"`.
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField body="page" type="integer" default="1">
      Page number for paginated results.
    </ParamField>
  </Expandable>
</ParamField>

## Credit Cost

A fixed number of credits is deducted per request.

<RequestExample>
  ```bash cURL theme={null}
  curl -X POST https://search.leads-siren.com/enrichment-service/search_companies \
    -H "x-api-key: YOUR_API_KEY" \
    -H "Content-Type: application/json" \
    -d '{
      "data": {
        "filters": {
          "departement": ["75"],
          "activite_principale": ["62.01Z"],
          "tranche_effectif_salarie": ["10-49", "50-199"],
          "nature_juridique": ["Sociétés commerciales"],
          "etat_administratif": "A"
        },
        "page": 1
      }
    }'
  ```

  ```python Python theme={null}
  import requests

  resp = requests.post(
      "https://search.leads-siren.com/enrichment-service/search_companies",
      headers={"x-api-key": "YOUR_API_KEY"},
      json={
          "data": {
              "filters": {
                  "departement": ["75"],
                  "activite_principale": ["62.01Z"],
                  "tranche_effectif_salarie": ["10-49", "50-199"],
                  "nature_juridique": ["Sociétés commerciales"],
                  "etat_administratif": "A"
              },
              "page": 1
          }
      }
  )
  print(resp.json())
  ```
</RequestExample>

<ResponseExample>
  ```json 200 theme={null}
  {
    "total": 1520,
    "page": 1,
    "results": [
      {
        "siren": "123456789",
        "nom_complet": "Example SARL",
        "siege": { ... },
        "activite_principale": "62.01Z",
        "tranche_effectif_salarie": "10-49"
      }
    ]
  }
  ```

  ```json 402 theme={null}
  {
    "detail": "Insufficient credits (have 0, need 5)"
  }
  ```
</ResponseExample>
