{
  "openapi": "3.0.1",
  "info": {
    "title": "French Company Search — SIRENE, SIREN/SIRET & Directors",
    "description": "Search every French company in the official Sirene register: NAF code, department, postal code, size, revenue, legal form, RGE/Qualiopi labels. Or look up SIREN/SIRET in bulk. Directors, finances, VAT number, GPS. Official free API, no proxy.",
    "version": "1.0",
    "x-build-id": "Djl11vclMMp6P5hUJ"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/tidydata~french-company-search/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-tidydata-french-company-search",
        "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/tidydata~french-company-search/runs": {
      "post": {
        "operationId": "runs-sync-tidydata-french-company-search",
        "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/tidydata~french-company-search/run-sync": {
      "post": {
        "operationId": "run-sync-tidydata-french-company-search",
        "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",
        "properties": {
          "query": {
            "title": "Keywords (name, address or director)",
            "type": "string",
            "description": "Free text searched in company names, trade names, addresses and directors, e.g. 'boulangerie', 'agence web lyon', 'Danone'. Leave empty to list every company that matches the filters below."
          },
          "sirenOrSiret": {
            "title": "SIREN / SIRET numbers to look up (bulk)",
            "type": "array",
            "description": "Paste SIREN (9 digits) or SIRET (14 digits) numbers, with or without spaces. One row per number found, with the full record. When this list is filled, the search filters are ignored. Invalid or unknown numbers come back as free error rows.",
            "items": {
              "type": "string"
            }
          },
          "nafCodes": {
            "title": "Activity codes (NAF / APE)",
            "type": "array",
            "description": "INSEE NAF rév. 2 codes like 62.01Z (computer programming), 10.71C (bakery), 56.10A (restaurant) or 6920Z (accounting). A division ('62') or group ('62.0') includes every code inside it.",
            "items": {
              "type": "string"
            }
          },
          "sections": {
            "title": "Activity sections",
            "type": "array",
            "description": "Broad sectors (NAF sections A-U). Use NAF codes above for something more precise.",
            "items": {
              "type": "string",
              "enum": [
                "A",
                "B",
                "C",
                "D",
                "E",
                "F",
                "G",
                "H",
                "I",
                "J",
                "K",
                "L",
                "M",
                "N",
                "O",
                "P",
                "Q",
                "R",
                "S",
                "T",
                "U"
              ],
              "enumTitles": [
                "A · Agriculture, forestry & fishing",
                "B · Mining & quarrying",
                "C · Manufacturing",
                "D · Electricity, gas, steam",
                "E · Water supply, waste",
                "F · Construction",
                "G · Wholesale & retail trade, car repair",
                "H · Transport & storage",
                "I · Accommodation & food (hotels, restaurants)",
                "J · Information & communication",
                "K · Finance & insurance",
                "L · Real estate",
                "M · Professional, scientific & technical",
                "N · Administrative & support services",
                "O · Public administration",
                "P · Education",
                "Q · Health & social work",
                "R · Arts, entertainment & recreation",
                "S · Other services",
                "T · Households as employers",
                "U · Extraterritorial organisations"
              ]
            }
          },
          "departments": {
            "title": "Departments",
            "type": "array",
            "description": "Department codes: 75 (Paris), 69 (Rhône), 13 (Bouches-du-Rhône), 2A, 971… Matches companies with at least one establishment there.",
            "items": {
              "type": "string"
            }
          },
          "regions": {
            "title": "Regions",
            "type": "array",
            "description": "Matches companies with at least one establishment in the region.",
            "items": {
              "type": "string",
              "enum": [
                "01",
                "02",
                "03",
                "04",
                "06",
                "11",
                "24",
                "27",
                "28",
                "32",
                "44",
                "52",
                "53",
                "75",
                "76",
                "84",
                "93",
                "94"
              ],
              "enumTitles": [
                "Guadeloupe",
                "Martinique",
                "Guyane",
                "La Réunion",
                "Mayotte",
                "Île-de-France",
                "Centre-Val de Loire",
                "Bourgogne-Franche-Comté",
                "Normandie",
                "Hauts-de-France",
                "Grand Est",
                "Pays de la Loire",
                "Bretagne",
                "Nouvelle-Aquitaine",
                "Occitanie",
                "Auvergne-Rhône-Alpes",
                "Provence-Alpes-Côte d'Azur",
                "Corse"
              ]
            }
          },
          "postalCodes": {
            "title": "Postal codes",
            "type": "array",
            "description": "5-digit postal codes, e.g. 75011, 69002. Matches companies with an establishment at that postal code.",
            "items": {
              "type": "string"
            }
          },
          "communeCodes": {
            "title": "INSEE commune codes",
            "type": "array",
            "description": "5-character INSEE commune codes (not postal codes), e.g. 75111 for Paris 11e or 69123 for Lyon.",
            "items": {
              "type": "string"
            }
          },
          "companyCategories": {
            "title": "Company size category",
            "type": "array",
            "description": "INSEE category: PME = SME (< 250 staff), ETI = mid-cap (250-4,999), GE = large company (5,000+).",
            "items": {
              "type": "string",
              "enum": [
                "PME",
                "ETI",
                "GE"
              ],
              "enumTitles": [
                "PME · small & medium (< 250 staff)",
                "ETI · mid-sized (250-4,999 staff)",
                "GE · large (5,000+ staff)"
              ]
            }
          },
          "employeeRanges": {
            "title": "Number of employees",
            "type": "array",
            "description": "Official INSEE headcount band (salaried staff, latest year available).",
            "items": {
              "type": "string",
              "enum": [
                "NN",
                "00",
                "01",
                "02",
                "03",
                "11",
                "12",
                "21",
                "22",
                "31",
                "32",
                "41",
                "42",
                "51",
                "52",
                "53"
              ],
              "enumTitles": [
                "No employees (non-employer)",
                "0 employees at year end",
                "1-2",
                "3-5",
                "6-9",
                "10-19",
                "20-49",
                "50-99",
                "100-199",
                "200-249",
                "250-499",
                "500-999",
                "1,000-1,999",
                "2,000-4,999",
                "5,000-9,999",
                "10,000+"
              ]
            }
          },
          "legalFormCodes": {
            "title": "Legal form codes (catégorie juridique)",
            "type": "array",
            "description": "INSEE codes, e.g. 5710 (SAS), 5720 (SASU), 5499 (SARL), 5498 (EURL), 5599 (SA), 9220 (association). Full list: insee.fr › catégories juridiques.",
            "items": {
              "type": "string"
            }
          },
          "status": {
            "title": "Status",
            "enum": [
              "active",
              "closed",
              "all"
            ],
            "type": "string",
            "description": "Administrative status of the company in the Sirene register.",
            "default": "active"
          },
          "labels": {
            "title": "Labels and certifications",
            "type": "array",
            "description": "Only companies with ALL the chosen labels.",
            "items": {
              "type": "string",
              "enum": [
                "rge",
                "qualiopi",
                "bio",
                "ess",
                "training",
                "mission",
                "siae",
                "living-heritage",
                "performing-arts",
                "health-social",
                "association",
                "public-sector"
              ],
              "enumTitles": [
                "RGE (energy renovation)",
                "Qualiopi (training quality)",
                "Organic (Agence Bio)",
                "Social & solidarity economy (ESS)",
                "Registered training body",
                "Société à mission",
                "Work integration (SIAE)",
                "Entreprise du Patrimoine Vivant",
                "Performing arts licence",
                "Health & social (FINESS)",
                "Associations",
                "Local authorities"
              ]
            }
          },
          "revenueMin": {
            "title": "Minimum revenue (€)",
            "type": "integer",
            "description": "Latest published turnover (chiffre d'affaires). Only companies that publish accounts have it."
          },
          "revenueMax": {
            "title": "Maximum revenue (€)",
            "type": "integer",
            "description": "Latest published turnover."
          },
          "netIncomeMin": {
            "title": "Minimum net income (€)",
            "type": "integer",
            "description": "Latest published net result (can be negative)."
          },
          "netIncomeMax": {
            "title": "Maximum net income (€)",
            "type": "integer",
            "description": "Latest published net result."
          },
          "director": {
            "title": "Director name",
            "type": "string",
            "description": "Find companies run by a person: 'first name last name' or just a last name."
          },
          "createdAfter": {
            "title": "Created on or after",
            "type": "string",
            "description": "Keeps companies created on or after this date (YYYY-MM-DD). The official API has no date filter, so this is applied to the results: combine it with a place or NAF filter so the search stays under 10,000 companies."
          },
          "createdBefore": {
            "title": "Created on or before",
            "type": "string",
            "description": "Keeps companies created on or before this date (YYYY-MM-DD)."
          },
          "rowPer": {
            "title": "One row per",
            "enum": [
              "company",
              "establishment"
            ],
            "type": "string",
            "description": "Company: one row per SIREN with the head office. Establishment: one row per matching shop / office / site (SIRET) with its own address, GPS, activity and headcount; each establishment row is one result.",
            "default": "company"
          },
          "maxEstablishmentsPerCompany": {
            "title": "Max establishments per company",
            "minimum": 1,
            "maximum": 100,
            "type": "integer",
            "description": "Only for 'One row per establishment'. Matching establishments returned for each company (chains can have hundreds).",
            "default": 20
          },
          "includeDirectors": {
            "title": "Include directors",
            "type": "boolean",
            "description": "Directors and officers from the official register (RNE): name and role for people, name and SIREN for corporate officers and auditors. No birth dates.",
            "default": true
          },
          "excludeOptedOutOfProspecting": {
            "title": "Skip companies that opted out of prospecting",
            "type": "boolean",
            "description": "French companies can ask that their register data is not used for commercial prospecting (opposition_diffusion_commerciale). Keep this ON for lead lists; skipped companies are free. Turn it OFF for KYC, supplier checks or research. SIREN/SIRET lookups always return the company and flag it in optedOutOfProspecting.",
            "default": true
          },
          "includeSoleProprietors": {
            "title": "Include sole proprietors (entrepreneurs individuels)",
            "type": "boolean",
            "description": "Sole proprietorships and micro-entrepreneurs are registered under the owner's own name. Off by default (privacy); turn on if you need them.",
            "default": false
          },
          "sortBySize": {
            "title": "Biggest companies first",
            "type": "boolean",
            "description": "Sort by number of establishments instead of relevance.",
            "default": false
          },
          "maxResults": {
            "title": "Max results",
            "minimum": 1,
            "maximum": 1000000,
            "type": "integer",
            "description": "Stop after this many rows (companies or establishments). Searches over 10,000 companies are split automatically by department and headcount. Not used for SIREN/SIRET lookups (every number is returned).",
            "default": 100
          }
        }
      },
      "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}