{
  "openapi": "3.0.1",
  "info": {
    "title": "French Company Data & KYB: SIREN/SIRET + BODACC Alerts",
    "description": "SIREN and SIRET lookup for French company data, KYB and KYC. Official INSEE SIRENE identity with Kbis-style registry fields, directors, and BODACC insolvency alerts. An open-data alternative to Pappers and Societe.com.",
    "version": "1.1",
    "x-build-id": "YX94ayMCLagKE1t8L"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/datacraft-studio~french-company-enrichment/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-datacraft-studio-french-company-enrichment",
        "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/datacraft-studio~french-company-enrichment/runs": {
      "post": {
        "operationId": "runs-sync-datacraft-studio-french-company-enrichment",
        "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/datacraft-studio~french-company-enrichment/run-sync": {
      "post": {
        "operationId": "run-sync-datacraft-studio-french-company-enrichment",
        "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": [
              "enrich",
              "monitor"
            ],
            "type": "string",
            "description": "Enrich returns one company per input. Monitor compares a SIREN or SIRET list with the previous run in the named key-value store and returns one row per change. The first monitor run stores a baseline and is not charged. Unchanged companies are free. Set Max results to at least the size of the watchlist.",
            "default": "enrich"
          },
          "monitorStoreName": {
            "title": "Monitor state store",
            "type": "string",
            "description": "Named key-value store that keeps the last snapshot per SIREN. Used only in monitor mode. Schedule every run with the same name, or each run looks like a first baseline. Letters, numbers, and hyphens only.",
            "default": "fce-monitor-state"
          },
          "searchMode": {
            "title": "Search mode",
            "enum": [
              "names",
              "identifiers",
              "filters"
            ],
            "type": "string",
            "description": "Names: best match for each company name. Identifiers: exact SIREN (9 digits) or SIRET (14 digits). Filters: list companies by NAF, area, and headcount. Only the selected mode is used.",
            "default": "names"
          },
          "companyNames": {
            "title": "Company names",
            "type": "array",
            "description": "Used when search mode is Company names. Each name returns the single best match from the official search API. The prefilled example is Danone, Capgemini, and Orange. A short name can rank a smaller homonym first: MICHELIN currently matches an SCI, while the tire manufacturer is SIREN 855200507.",
            "default": [
              "DANONE",
              "CAPGEMINI",
              "ORANGE"
            ],
            "items": {
              "type": "string"
            }
          },
          "sirens": {
            "title": "SIREN / SIRET numbers",
            "type": "array",
            "description": "Used when search mode is SIREN / SIRET. Spaces and separators are ignored. A SIRET resolves the legal unit (SIREN); siretSiege in the output is always the headquarters. Example SIRENs: 552032534 (Danone), 330703844 (Capgemini), 380129866 (Orange).",
            "items": {
              "type": "string"
            }
          },
          "activitePrincipale": {
            "title": "NAF / APE codes",
            "type": "array",
            "description": "Used when search mode is Filters. NAF rév. 2 subclass codes, for example 62.01Z (computer programming) or 70.10Z. Dots are optional.",
            "items": {
              "type": "string"
            }
          },
          "sections": {
            "title": "NAF sections",
            "type": "array",
            "description": "One-letter NAF sections. J is information and communication, M is professional services, G is trade, F is construction. The full list is in the README.",
            "items": {
              "type": "string"
            }
          },
          "departements": {
            "title": "Departments",
            "type": "array",
            "description": "INSEE department codes, including overseas departments. Examples: 75 Paris, 69 Rhône, 13 Bouches-du-Rhône, 2A Corse-du-Sud, 974 La Réunion. Use a leading zero (01, not 1). The official API matches any establishment in the department, so the headquarters in the result can sit in another department.",
            "items": {
              "type": "string"
            }
          },
          "regions": {
            "title": "Regions",
            "type": "array",
            "description": "INSEE region codes. Examples: 11 Île-de-France, 84 Auvergne-Rhône-Alpes, 93 Provence-Alpes-Côte d'Azur, 75 Nouvelle-Aquitaine, 76 Occitanie. Matched on establishments, same as departments.",
            "items": {
              "type": "string"
            }
          },
          "tranchesEffectif": {
            "title": "Headcount brackets",
            "type": "array",
            "description": "INSEE workforce brackets: NN non-employer, 00 zero employees, 01 is 1–2, 02 is 3–5, 03 is 6–9, 11 is 10–19, 12 is 20–49, 21 is 50–99, 22 is 100–199, 31 is 200–249, 32 is 250–499, 41 is 500–999, 42 is 1,000–1,999, 51 is 2,000–4,999, 52 is 5,000–9,999, 53 is 10,000+.",
            "items": {
              "type": "string"
            }
          },
          "activeOnly": {
            "title": "Active companies only",
            "type": "boolean",
            "description": "Applies to name search and filters. Identifier lookups always return the company, including ceased ones.",
            "default": true
          },
          "maxResults": {
            "title": "Max results",
            "minimum": 1,
            "maximum": 1000,
            "type": "integer",
            "description": "Maximum companies to return. In name and identifier modes this must be at least the size of your list, so a long paste is not silently cut. Filter search stops at this number. Each found company is one billable result.",
            "default": 25
          },
          "includeBodacc": {
            "title": "Include BODACC legal announcements",
            "type": "boolean",
            "description": "Fetch commercial announcements and flag an ongoing collective proceeding (redressement, liquidation, sauvegarde) from the latest judgment. This is an optional extra charge. Not-found inputs are never sent to BODACC.",
            "default": true
          },
          "bodaccHistoryLimit": {
            "title": "BODACC announcements per company",
            "minimum": 1,
            "maximum": 100,
            "type": "integer",
            "description": "How many recent announcements to keep on each company, newest first. The summary count still reflects the full number of matching announcements. 1–100.",
            "default": 20
          },
          "includeDirigeants": {
            "title": "Include directors",
            "type": "boolean",
            "description": "Names, roles, and birth year when the company register publishes them. Some individuals are hidden under partial diffusion.",
            "default": true
          },
          "includeFinances": {
            "title": "Include latest financials",
            "type": "boolean",
            "description": "Latest published revenue (chiffre d'affaires) and net income (résultat net), with the year. Many companies have no public accounts; those fields stay empty.",
            "default": true
          },
          "maxConcurrency": {
            "title": "Concurrency",
            "minimum": 1,
            "maximum": 8,
            "type": "integer",
            "description": "How many companies to enrich at once. Requests are still throttled under the SIRENE limit of 7 per second (this actor stays at 6) and at 4 per second for BODACC.",
            "default": 4
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}