{
  "openapi": "3.0.1",
  "info": {
    "title": "French Company Data Scraper",
    "description": "Export French company data from the official government registry: SIREN, SIRET, EU VAT number, NAF code, staff size, revenue, address and GPS. Filter by sector, region, size and certification.",
    "version": "1.0",
    "x-build-id": "WUjrg62QriE2PUBiD"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/orizondeveloppement~french-company-data-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-orizondeveloppement-french-company-data-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/orizondeveloppement~french-company-data-scraper/runs": {
      "post": {
        "operationId": "runs-sync-orizondeveloppement-french-company-data-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/orizondeveloppement~french-company-data-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-orizondeveloppement-french-company-data-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": "What do you want to do?",
            "enum": [
              "search",
              "nearPoint",
              "enrich"
            ],
            "type": "string",
            "description": "Search = build a list from filters. Near point = every company within a radius of GPS coordinates. Enrich = paste SIREN/SIRET numbers you already have and get full records back.",
            "default": "search"
          },
          "query": {
            "title": "Free-text search",
            "type": "string",
            "description": "Company name, trade name, or keyword. Leave empty to rely on filters only."
          },
          "nafCodes": {
            "title": "NAF / APE activity codes",
            "type": "string",
            "description": "Comma-separated NAF codes, e.g. 62.01Z,62.02A. Each code is fetched in a separate pass."
          },
          "nafSection": {
            "title": "NAF section",
            "enum": [
              "A",
              "B",
              "C",
              "D",
              "E",
              "F",
              "G",
              "H",
              "I",
              "J",
              "K",
              "L",
              "M",
              "N",
              "O",
              "P",
              "Q",
              "R",
              "S",
              "T",
              "U"
            ],
            "type": "string",
            "description": "Broad activity sector. F = construction, G = retail and trade, I = hospitality, J = information and communication, M = professional and scientific, Q = health and social work."
          },
          "departments": {
            "title": "Departments",
            "type": "string",
            "description": "Comma-separated French department codes, e.g. 75,92,2A,974. Each department is fetched in a separate pass."
          },
          "region": {
            "title": "Region code",
            "type": "string",
            "description": "INSEE region code, e.g. 11 for Ile-de-France, 84 for Auvergne-Rhone-Alpes, 93 for Provence-Alpes-Cote d Azur."
          },
          "postalCodes": {
            "title": "Postal codes",
            "type": "string",
            "description": "Comma-separated postal codes, e.g. 75001,69003."
          },
          "cityCodes": {
            "title": "INSEE city codes",
            "type": "string",
            "description": "Comma-separated INSEE commune codes (not postal codes), e.g. 75056,69123."
          },
          "staffBrackets": {
            "title": "Staff size brackets",
            "type": "array",
            "description": "INSEE employee brackets. Leave empty for any size.",
            "items": {
              "type": "string",
              "enum": [
                "00",
                "01",
                "02",
                "03",
                "11",
                "12",
                "21",
                "22",
                "31",
                "32",
                "41",
                "42",
                "51",
                "52",
                "53"
              ],
              "enumTitles": [
                "0 employees",
                "1-2",
                "3-5",
                "6-9",
                "10-19",
                "20-49",
                "50-99",
                "100-199",
                "200-249",
                "250-499",
                "500-999",
                "1000-1999",
                "2000-4999",
                "5000-9999",
                "10000+"
              ]
            }
          },
          "companySizes": {
            "title": "Company category",
            "type": "array",
            "description": "Official INSEE company category.",
            "items": {
              "type": "string",
              "enum": [
                "PME",
                "ETI",
                "GE"
              ],
              "enumTitles": [
                "SME (PME)",
                "Mid-cap (ETI)",
                "Large company (GE)"
              ]
            }
          },
          "legalForms": {
            "title": "Legal form codes",
            "type": "string",
            "description": "Comma-separated INSEE legal category codes, e.g. 5710 for SAS, 5499 for SARL, 6540 for SCI, 9220 for association."
          },
          "minRevenue": {
            "title": "Minimum annual revenue (EUR)",
            "type": "integer",
            "description": "Only companies that publish their accounts have revenue on file."
          },
          "maxRevenue": {
            "title": "Maximum annual revenue (EUR)",
            "type": "integer",
            "description": "Upper bound on annual revenue. Only companies that publish their accounts have revenue on file."
          },
          "onlyRgeCertified": {
            "title": "Only RGE-certified companies (green renovation)",
            "type": "boolean",
            "description": "RGE is the French certification required to carry out state-subsidised energy renovation work.",
            "default": false
          },
          "onlyQualiopiCertified": {
            "title": "Only Qualiopi-certified companies (training)",
            "type": "boolean",
            "description": "Qualiopi is mandatory for training providers that want access to public funding.",
            "default": false
          },
          "onlyOrganicCertified": {
            "title": "Only organic-certified companies",
            "type": "boolean",
            "description": "Companies with at least one establishment certified by the French organic agency (Agence Bio).",
            "default": false
          },
          "onlySocialEconomy": {
            "title": "Only social economy organisations (ESS)",
            "type": "boolean",
            "description": "Companies that belong to the French social and solidarity economy (ESS) sector.",
            "default": false
          },
          "onlyTrainingProviders": {
            "title": "Only registered training providers",
            "type": "boolean",
            "description": "Companies with at least one establishment registered as a training organisation (organisme de formation).",
            "default": false
          },
          "onlyAssociations": {
            "title": "Only associations",
            "type": "boolean",
            "description": "Non-profit associations only (identified by their RNA number or legal form).",
            "default": false
          },
          "excludeSoleTraders": {
            "title": "Exclude sole traders",
            "type": "boolean",
            "description": "Recommended for B2B prospecting: keeps incorporated companies only, and avoids records tied to a named individual.",
            "default": false
          },
          "includeInactive": {
            "title": "Include ceased companies",
            "type": "boolean",
            "description": "Off by default, so you only get companies that are currently active.",
            "default": false
          },
          "latitude": {
            "title": "Latitude",
            "type": "string",
            "description": "Decimal degrees, e.g. 44.8378 for Bordeaux. Used in near-point mode only."
          },
          "longitude": {
            "title": "Longitude",
            "type": "string",
            "description": "Decimal degrees, e.g. -0.5792 for Bordeaux."
          },
          "radiusKm": {
            "title": "Radius in kilometres",
            "maximum": 50,
            "type": "integer",
            "description": "Search radius around the GPS point, in kilometres (maximum 50). Used in near-point mode only.",
            "default": 5
          },
          "identifiers": {
            "title": "SIREN / SIRET numbers to enrich",
            "type": "array",
            "description": "Used in enrich mode only. Paste 9-digit SIREN or 14-digit SIRET numbers, one per line.",
            "items": {
              "type": "string"
            }
          },
          "maxResults": {
            "title": "Maximum companies to return",
            "minimum": 1,
            "type": "integer",
            "description": "Hard stop on the number of unique companies. Set it deliberately: broad filters can match millions.",
            "default": 1000
          },
          "includeDirectors": {
            "title": "Include company directors",
            "type": "boolean",
            "description": "Adds names and roles of registered directors. These are personal data under GDPR: only enable this if you have a lawful basis for processing them.",
            "default": false
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}