{
  "openapi": "3.0.1",
  "info": {
    "title": "French Companies Finder: SIRENE export by activity and area",
    "description": "Build lists of French companies from the official INSEE register (SIRENE). Filter by activity (NAF), department, city or postal code, headcount, creation date and status. One clean row per company with executives, financials and readable labels. Goes past the 10,000-result cap of the public API.",
    "version": "1.0",
    "x-build-id": "eYvQa2MuDhpTubxwH"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/futurelife~french-companies-finder/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-futurelife-french-companies-finder",
        "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/futurelife~french-companies-finder/runs": {
      "post": {
        "operationId": "runs-sync-futurelife-french-companies-finder",
        "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/futurelife~french-companies-finder/run-sync": {
      "post": {
        "operationId": "run-sync-futurelife-french-companies-finder",
        "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": {
          "searchText": {
            "title": "Search text",
            "type": "string",
            "description": "A company name, a brand, a street, or the name of an executive. Leave it empty to build a list from the filters below only. A 9-digit SIREN or 14-digit SIRET returns that exact company and ignores the other filters (this is how the register behaves)."
          },
          "nafCodes": {
            "title": "Activity codes (NAF / APE)",
            "type": "array",
            "description": "One or more French activity codes, e.g. 62.01Z (software development), 56.10A (restaurants), 43.21A (electrical installation). A single letter (A to U) selects a whole section, e.g. J = information and communication. Codes without the dot (6201Z) are accepted. Full list: https://www.insee.fr/fr/information/2406147",
            "items": {
              "type": "string"
            }
          },
          "departments": {
            "title": "Departments",
            "type": "array",
            "description": "French department codes: 75 (Paris), 69 (Lyon area), 13 (Marseille area), 31 (Toulouse area), 2A / 2B (Corsica), 971 to 976 (overseas). Leave empty for the whole country.",
            "items": {
              "type": "string"
            }
          },
          "cities": {
            "title": "Cities",
            "type": "array",
            "description": "City names typed as you know them (Toulouse, Lyon, Saint-Denis) or INSEE commune codes (31555). Names are resolved to official codes automatically; when several cities share a name the most populated one is used.",
            "items": {
              "type": "string"
            }
          },
          "postalCodes": {
            "title": "Postal codes",
            "type": "array",
            "description": "5-digit French postal codes, e.g. 75008, 31000.",
            "items": {
              "type": "string"
            }
          },
          "employeeRanges": {
            "title": "Company size (employees)",
            "type": "array",
            "description": "Official INSEE headcount bands. Leave empty for all sizes.",
            "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 (employed staff during the year)",
                "1 to 2 employees",
                "3 to 5 employees",
                "6 to 9 employees",
                "10 to 19 employees",
                "20 to 49 employees",
                "50 to 99 employees",
                "100 to 199 employees",
                "200 to 249 employees",
                "250 to 499 employees",
                "500 to 999 employees",
                "1,000 to 1,999 employees",
                "2,000 to 4,999 employees",
                "5,000 to 9,999 employees",
                "10,000 employees and more"
              ]
            }
          },
          "companyCategories": {
            "title": "Company category",
            "type": "array",
            "description": "INSEE size category: PME (small and medium, under 250 staff), ETI (mid-sized, 250 to 4,999), GE (large, 5,000 and more).",
            "items": {
              "type": "string",
              "enum": [
                "PME",
                "ETI",
                "GE"
              ],
              "enumTitles": [
                "PME (small and medium enterprises)",
                "ETI (mid-sized enterprises)",
                "GE (large enterprises)"
              ]
            }
          },
          "legalFormCodes": {
            "title": "Legal form codes",
            "type": "array",
            "description": "INSEE legal category codes, e.g. 5710 (SAS), 5499 (SARL), 5599 (SA), 1000 (sole trader), 9220 (association). Full list: https://www.insee.fr/fr/information/2028129",
            "items": {
              "type": "string"
            }
          },
          "createdAfter": {
            "title": "Created on or after",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
            "type": "string",
            "description": "Keep only companies created on or after this date (YYYY-MM-DD). Applied after download, so the run reads more rows than it exports when this filter is tight."
          },
          "createdBefore": {
            "title": "Created on or before",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
            "type": "string",
            "description": "Keep only companies created on or before this date (YYYY-MM-DD)."
          },
          "status": {
            "title": "Administrative status",
            "enum": [
              "active",
              "closed",
              "all"
            ],
            "type": "string",
            "description": "Active companies only (default), closed ones only, or both.",
            "default": "active"
          },
          "headOfficeOnly": {
            "title": "Head office in the area only",
            "type": "boolean",
            "description": "The register matches a company as soon as one of its branches is in the selected department, city or postal code. Turn this on to keep only companies whose head office is there.",
            "default": false
          },
          "maxResults": {
            "title": "Maximum number of companies",
            "minimum": 1,
            "type": "integer",
            "description": "The run stops once this many companies have been exported. Duplicates are removed before counting, so you never pay twice for the same SIREN.",
            "default": 500
          },
          "includeExecutives": {
            "title": "Include executives",
            "type": "boolean",
            "description": "Add the officers listed in the register (name, role, birth year) to each row.",
            "default": true
          },
          "includeFinancials": {
            "title": "Include financials",
            "type": "boolean",
            "description": "Add the latest published revenue and net income when the register has them (mostly companies that file accounts).",
            "default": true
          },
          "includeRawRecord": {
            "title": "Include the raw register record",
            "type": "boolean",
            "description": "Attach the untouched JSON returned by the register to each row (field 'raw'). Useful for developers, heavier to export.",
            "default": false
          },
          "requestsPerSecond": {
            "title": "Requests per second",
            "minimum": 1,
            "maximum": 6,
            "type": "integer",
            "description": "How fast to call the public register. The register allows 7 per IP address and 30 per network; the default of 3 is safe. Lower it if you see many 'slowing down' messages in the log.",
            "default": 3
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}