{
  "openapi": "3.0.1",
  "info": {
    "title": "France Company Search: SIREN/SIRET Data (SIRENE)",
    "description": "Search French companies in the official SIRENE register by NAF code, department, region, legal form, headcount, revenue and labels (RGE, Qualiopi, ESS), or look up SIREN/SIRET lists. Head office address, GPS, finances, VAT number, establishments. Company-level data only, no director names.",
    "version": "1.0",
    "x-build-id": "ySvt3uQoJTB2cjuhf"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/adamhaleworks~france-company-search-sirene-api/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-adamhaleworks-france-company-search-sirene-api",
        "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/adamhaleworks~france-company-search-sirene-api/runs": {
      "post": {
        "operationId": "runs-sync-adamhaleworks-france-company-search-sirene-api",
        "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/adamhaleworks~france-company-search-sirene-api/run-sync": {
      "post": {
        "operationId": "run-sync-adamhaleworks-france-company-search-sirene-api",
        "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": {
          "mode": {
            "title": "Mode",
            "enum": [
              "search",
              "lookup",
              "nearPoint"
            ],
            "type": "string",
            "description": "Search = find companies with filters (NAF code, place, size, legal form, labels, revenue). Lookup = enrich a list of SIREN or SIRET numbers. Near a point = companies with an establishment within a radius of a GPS position.",
            "default": "search"
          },
          "query": {
            "title": "Search text",
            "type": "string",
            "description": "Optional words matched against the company name and address, for example \"boulangerie\" or \"transport Lyon\". Leave empty to search with filters only."
          },
          "nafCodes": {
            "title": "NAF / APE activity codes",
            "type": "array",
            "description": "Main activity of the company (NAF rev. 2). Accepts 62.01Z, 6201Z, or a short prefix: 62 = all of division 62 (IT services), 43.2 = building installation. Several codes are combined with OR.",
            "items": {
              "type": "string"
            }
          },
          "activitySections": {
            "title": "Activity sections",
            "type": "array",
            "description": "Broad sectors (NAF sections). Use NAF codes above for finer filters.",
            "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 and quarrying",
                "C - Manufacturing",
                "D - Electricity, gas, steam",
                "E - Water, sewerage, waste",
                "F - Construction",
                "G - Wholesale and retail trade, car repair",
                "H - Transport and storage",
                "I - Accommodation and food",
                "J - Information and communication",
                "K - Finance and insurance",
                "L - Real estate",
                "M - Professional, scientific and technical",
                "N - Administrative and support services",
                "O - Public administration",
                "P - Education",
                "Q - Health and social work",
                "R - Arts, entertainment, recreation",
                "S - Other services",
                "T - Households as employers",
                "U - Extraterritorial organisations"
              ]
            }
          },
          "departments": {
            "title": "Departments",
            "type": "array",
            "description": "French departments by code or name: 75, 13, 69, 2A, 971, Paris, Gironde. Several are combined with OR.",
            "items": {
              "type": "string"
            }
          },
          "regions": {
            "title": "Regions",
            "type": "array",
            "description": "Regions by name or INSEE code: Île-de-France (11), Auvergne-Rhône-Alpes (84), Provence-Alpes-Côte d'Azur (93), Occitanie (76), Nouvelle-Aquitaine (75), Hauts-de-France (32), Grand Est (44), Bretagne (53), Normandie (28), Pays de la Loire (52), Centre-Val de Loire (24), Bourgogne-Franche-Comté (27), Corse (94) and overseas regions.",
            "items": {
              "type": "string"
            }
          },
          "postalCodes": {
            "title": "Postal codes",
            "type": "array",
            "description": "5-digit postal codes, for example 75011 or 69002.",
            "items": {
              "type": "string"
            }
          },
          "communeCodes": {
            "title": "INSEE commune codes",
            "type": "array",
            "description": "5-character INSEE commune codes (not postal codes), for example 75111 (Paris 11e) or 33063 (Bordeaux).",
            "items": {
              "type": "string"
            }
          },
          "locationMatch": {
            "title": "Location filters apply to",
            "enum": [
              "headOffice",
              "anyEstablishment"
            ],
            "type": "string",
            "description": "Head office = the company's registered head office is in the chosen place (best for local lead lists). Any establishment = the company has at least one establishment (branch, shop, site) there, which also returns national companies with a local branch.",
            "default": "headOffice"
          },
          "status": {
            "title": "Company status",
            "enum": [
              "active",
              "closed",
              "any"
            ],
            "type": "string",
            "description": "Active companies only (default), closed (ceased) companies only, or both.",
            "default": "active"
          },
          "companyCategories": {
            "title": "Company size category",
            "type": "array",
            "description": "INSEE category: PME = small and medium-sized (under 250 staff), ETI = intermediate-sized (250-4,999), GE = large enterprise.",
            "items": {
              "type": "string",
              "enum": [
                "PME",
                "ETI",
                "GE"
              ],
              "enumTitles": [
                "PME (SME)",
                "ETI (mid-cap)",
                "GE (large enterprise)"
              ]
            }
          },
          "headcountBrackets": {
            "title": "Headcount brackets",
            "type": "array",
            "description": "Number of employees (INSEE bracket of the company).",
            "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 or more"
              ]
            }
          },
          "legalForms": {
            "title": "Legal forms",
            "type": "array",
            "description": "INSEE legal form codes (5710 = SAS/SASU, 5499 = SARL/EURL, 6540 = SCI, 92 = all associations) or shortcuts: SAS, SASU, SARL, EURL, SELARL, SA, SNC, SCI, Association. Sole traders (1000) are not available.",
            "items": {
              "type": "string"
            }
          },
          "labels": {
            "title": "Labels and certifications (all must match)",
            "type": "array",
            "description": "Keep companies that hold every selected label.",
            "items": {
              "type": "string",
              "enum": [
                "rge",
                "qualiopi",
                "bio",
                "ess",
                "societeMission",
                "association",
                "trainingOrganisation",
                "siae",
                "administration",
                "localAuthority",
                "liveEntertainment",
                "patrimoineVivant",
                "responsiblePurchasing",
                "alimConfiance",
                "finess",
                "uai",
                "egapro",
                "collectiveAgreement"
              ],
              "enumTitles": [
                "RGE (energy renovation)",
                "Qualiopi (training quality)",
                "Organic (Agence Bio)",
                "Social and solidarity economy (ESS)",
                "Société à mission",
                "Association",
                "Training organisation",
                "Work integration (SIAE)",
                "Public administration",
                "Local authority",
                "Live entertainment licence",
                "Entreprise du Patrimoine Vivant",
                "Responsible purchasing (RFAR)",
                "Alim'Confiance food inspection",
                "Health and social care (FINESS)",
                "Education establishment (UAI)",
                "Egapro index published",
                "Collective agreement known"
              ]
            }
          },
          "collectiveAgreementId": {
            "title": "Collective agreement (IDCC)",
            "type": "string",
            "description": "4-digit IDCC code, for example 1486 (Syntec) or 1596 (building workers)."
          },
          "minRevenueEur": {
            "title": "Minimum revenue (EUR)",
            "type": "integer",
            "description": "Latest published revenue (chiffre d'affaires). Only companies that publish accounts can match."
          },
          "maxRevenueEur": {
            "title": "Maximum revenue (EUR)",
            "type": "integer",
            "description": "Latest published revenue."
          },
          "minNetIncomeEur": {
            "title": "Minimum net income (EUR)",
            "type": "integer",
            "description": "Latest published net income (can be negative)."
          },
          "maxNetIncomeEur": {
            "title": "Maximum net income (EUR)",
            "type": "integer",
            "description": "Latest published net income (can be negative)."
          },
          "sortBySize": {
            "title": "Sort by size",
            "type": "boolean",
            "description": "Return companies with the most establishments first.",
            "default": false
          },
          "identifiers": {
            "title": "SIREN / SIRET numbers",
            "type": "array",
            "description": "For Lookup mode: SIREN (9 digits) or SIRET (14 digits), spaces allowed. Each company gets one row; SIRETs add the requested establishment. Invalid numbers and unknown companies get a row with an error status and are not charged.",
            "items": {
              "type": "string"
            }
          },
          "latitude": {
            "title": "Latitude",
            "type": "string",
            "description": "For Near-a-point mode, for example 48.8566."
          },
          "longitude": {
            "title": "Longitude",
            "type": "string",
            "description": "For Near-a-point mode, for example 2.3522."
          },
          "radiusKm": {
            "title": "Radius (km)",
            "type": "string",
            "description": "Search radius around the point, up to 50 km. Default 5. Only NAF codes and activity sections can be combined with this mode."
          },
          "includeEstablishments": {
            "title": "Include matching establishments",
            "type": "boolean",
            "description": "Add the company's establishments that match the search (address, SIRET, activity, headcount, GPS), capped per company.",
            "default": false
          },
          "maxEstablishmentsPerCompany": {
            "title": "Max establishments per company",
            "minimum": 1,
            "maximum": 100,
            "type": "integer",
            "description": "Cap for the establishments list.",
            "default": 5
          },
          "includeCorporateOfficers": {
            "title": "Include corporate officers (companies only)",
            "type": "boolean",
            "description": "Officers that are themselves companies, for example statutory auditors or a parent company acting as president. Directors who are natural persons are never included.",
            "default": true
          },
          "maxItems": {
            "title": "Max companies",
            "minimum": 0,
            "maximum": 100000,
            "type": "integer",
            "description": "Stop after this many companies (search and near-a-point modes). 0 = up to 100,000.",
            "default": 100
          },
          "autoSplit": {
            "title": "Split large searches automatically",
            "type": "boolean",
            "description": "The API returns at most 10,000 companies per search. When you ask for more, the actor splits the search by NAF code, department and headcount bracket and removes duplicates.",
            "default": true
          },
          "onlyNew": {
            "title": "Only companies not returned before (monitoring)",
            "type": "boolean",
            "description": "Remember the companies already output for this exact search and skip them next time. Schedule the run to get newly registered companies matching your filters. The first run outputs all matches.",
            "default": false
          },
          "stateStoreName": {
            "title": "Monitoring memory store name",
            "type": "string",
            "description": "Named key-value store that remembers output companies for \"Only new\" mode. Each different search keeps its own memory inside it.",
            "default": "france-companies-state"
          },
          "requestsPerSecond": {
            "title": "Requests per second",
            "minimum": 1,
            "maximum": 6,
            "type": "integer",
            "description": "The API allows at most 7 requests per second per IP address (and 30 per network). The default of 4 stays well below; the actor slows down further when asked to.",
            "default": 4
          },
          "requestTimeoutSecs": {
            "title": "Request timeout (seconds)",
            "minimum": 5,
            "maximum": 120,
            "type": "integer",
            "description": "Timeout for one API request.",
            "default": 30
          },
          "maxRetries": {
            "title": "Max retries",
            "minimum": 0,
            "maximum": 10,
            "type": "integer",
            "description": "Retries for network errors, rate limits (HTTP 429, honouring Retry-After) and server errors.",
            "default": 5
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}