{
  "openapi": "3.0.1",
  "info": {
    "title": "French Companies · Search & SIREN Enrichment",
    "description": "Build B2B lead lists or CRM enrichment from France’s official company register. Search by pasted URL (Pappers or data.gouv) with NAF, region, and department filters—or paste SIRENs for full records. Returns identity, address, directors, headcount band, and more via recherche-entreprises.api.gouv.fr.",
    "version": "2.1",
    "x-build-id": "EgnhcEXygRMveLd70"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/corent1robert~recherche-entreprises-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-corent1robert-recherche-entreprises-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/corent1robert~recherche-entreprises-scraper/runs": {
      "post": {
        "operationId": "runs-sync-corent1robert-recherche-entreprises-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/corent1robert~recherche-entreprises-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-corent1robert-recherche-entreprises-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "required": [
          "mode"
        ],
        "properties": {
          "mode": {
            "title": "Mode",
            "enum": [
              "searchUrl",
              "sirens",
              "nearPoint"
            ],
            "type": "string",
            "description": "**Search URL** — Paste your filter/search link; we fetch matching companies.\n\n**SIREN list** — Paste IDs; we return full records.\n\n**Near a city (optional)** — Radius search around a dropdown city centre — skip unless you need geography-first prospecting.",
            "default": "searchUrl"
          },
          "searchUrls": {
            "title": "Search URLs",
            "type": "array",
            "description": "Paste the **full search links** from Pappers or recherche-entreprises.data.gouv.fr (one per line). Duplicate companies are merged automatically.",
            "items": {
              "type": "string"
            },
            "default": [
              "https://recherche-entreprises.data.gouv.fr/search?activite_principale=66.22Z&etat_administratif=A&per_page=25"
            ]
          },
          "sirens": {
            "title": "SIREN numbers",
            "type": "array",
            "description": "Paste **one SIREN per line** (9 digits). Short numbers are padded; duplicates are skipped.",
            "items": {
              "type": "string"
            },
            "default": [
              "732829320",
              "552032534",
              "380129866"
            ]
          },
          "maxResults": {
            "title": "Max companies — set 0 for all",
            "minimum": 0,
            "type": "integer",
            "description": "Maximum companies to collect **per URL or geographic query**. Default is **25** for a quick preview. Set to **0** to fetch every match (no cap — longer runs, increase **timeout** in Run options if needed).",
            "default": 25
          },
          "nearCity": {
            "title": "City",
            "enum": [
              "Paris",
              "Marseille",
              "Lyon",
              "Toulouse",
              "Nice",
              "Nantes",
              "Montpellier",
              "Strasbourg",
              "Bordeaux",
              "Lille",
              "Rennes",
              "Reims",
              "Saint-Étienne",
              "Toulon",
              "Le Havre",
              "Grenoble",
              "Dijon",
              "Angers",
              "Nîmes",
              "Aix-en-Provence",
              "Brest",
              "Limoges",
              "Clermont-Ferrand",
              "Amiens",
              "Tours",
              "Metz",
              "Caen",
              "Nancy",
              "Perpignan",
              "Rouen",
              "Poitiers",
              "Orléans",
              "Besançon",
              "Mulhouse",
              "Pau",
              "Lens",
              "Avignon",
              "Versailles",
              "Dunkerque",
              "Roubaix",
              "Tourcoing",
              "Mérignac",
              "Nanterre",
              "Montreuil"
            ],
            "type": "string",
            "description": "French city centre used as the centre of the circular search.",
            "default": "Paris"
          },
          "radiusKm": {
            "title": "Radius (km)",
            "minimum": 1,
            "maximum": 50,
            "type": "integer",
            "description": "Search radius in kilometres (1–50). Default is **5 km**.",
            "default": 5
          },
          "nearActivityCode": {
            "title": "Activity code (NAF/APE)",
            "type": "string",
            "description": "Optional — filter by NAF/APE code (e.g. `56.10A` for traditional restaurants, `86.21Z` for GPs). Leave empty to include all activities."
          },
          "nearActiveOnly": {
            "title": "Active companies only",
            "type": "boolean",
            "description": "When enabled, only companies with an **active** administrative status are returned. Recommended for lead generation.",
            "default": true
          },
          "dateCreationMin": {
            "title": "Created from (YYYY-MM-DD)",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
            "type": "string",
            "description": "**Format:** `YYYY-MM-DD` only — companies created **on or after** this day. Example: `2026-01-01`. Leave empty for no lower bound."
          },
          "dateCreationMax": {
            "title": "Created until (YYYY-MM-DD)",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
            "type": "string",
            "description": "**Format:** `YYYY-MM-DD` only — companies created **on or before** this day. Example: `2026-12-31`. Leave empty for no upper bound."
          },
          "dirigeantAgeMin": {
            "title": "Director min age",
            "minimum": 18,
            "maximum": 100,
            "type": "integer",
            "description": "Include only companies whose **primary director** (`dirigeant_1`) is **at least** this age (e.g. `35`). Requires a real birth year — not `[NON-DIFFUSIBLE]`."
          },
          "dirigeantAgeMax": {
            "title": "Director max age",
            "minimum": 18,
            "maximum": 100,
            "type": "integer",
            "description": "Include only companies whose **primary director** (`dirigeant_1`) is **at most** this age (e.g. `45`). Requires a real birth year — not `[NON-DIFFUSIBLE]`."
          },
          "requireDirigeant": {
            "title": "Require at least one director",
            "type": "boolean",
            "description": "When enabled (default), companies with **no named director** in the register are excluded. Recommended for outreach — no director name means no contact to reach.",
            "default": true
          },
          "requireDirigeantPhysique": {
            "title": "Natural persons only (no holdings)",
            "type": "boolean",
            "description": "When enabled (default), companies whose **primary director** has **no usable birth year** are excluded — holdings, SCI, other legal entities acting as director, or register values masked as `[NON-DIFFUSIBLE]`.",
            "default": true
          },
          "maxCompanyAgeYears": {
            "title": "Max company age (years)",
            "minimum": 1,
            "maximum": 50,
            "type": "integer",
            "description": "Keep only companies created within the last N years. E.g. `5` keeps companies created on or after today minus 5 years. Combines with `dateCreationMin` — the most restrictive bound wins."
          },
          "excludeCategories": {
            "title": "Exclude company size categories",
            "type": "array",
            "description": "Categories to exclude. Default: `[\"GE\", \"ETI\"]` — keeps only PME and unclassified (micro, early-stage) companies. Set to `[]` to disable.",
            "items": {
              "type": "string"
            },
            "default": [
              "GE",
              "ETI"
            ]
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}