{
  "openapi": "3.0.1",
  "info": {
    "title": "Infogreffe Scraper — French Company Registry",
    "description": "[💰 $5.0 / 1K] Extract official French company records from Infogreffe (RCS). Returns SIREN, SIRET, RCS, address, legal form, share capital, NAF/APE code, founding date, directors, establishments, and filed-report metadata. Search by name, URL, or bulk-enrich a list of SIRENs.",
    "version": "1.0",
    "x-build-id": "rN1aU6WcfYbBaXncb"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/solidcode~infogreffe-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-solidcode-infogreffe-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/solidcode~infogreffe-scraper/runs": {
      "post": {
        "operationId": "runs-sync-solidcode-infogreffe-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/solidcode~infogreffe-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-solidcode-infogreffe-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",
        "properties": {
          "searchMode": {
            "title": "Search Mode",
            "enum": [
              "search",
              "urls",
              "sirenList"
            ],
            "type": "string",
            "description": "How you want to provide input. Free-text search is best for one-off lookups; URL list lets you paste Infogreffe pages directly; SIREN list is the killer mode for bulk-enriching a CRM column of identifiers.",
            "default": "search"
          },
          "searchQuery": {
            "title": "Search Query",
            "type": "string",
            "description": "Company name, brand, director name, or address fragment. Used when Search Mode is 'Free-text search'. Defaults to 'Carrefour' for an out-of-the-box demo run.",
            "default": "Carrefour"
          },
          "startUrls": {
            "title": "Infogreffe URLs",
            "type": "array",
            "description": "Paste one or more Infogreffe URLs — search result pages or company detail pages (e.g. https://www.infogreffe.fr/entreprise/carrefour-sa-652014051). Used when Search Mode is 'Infogreffe URLs'.",
            "items": {
              "type": "string"
            }
          },
          "sirens": {
            "title": "SIREN / SIRET List",
            "type": "array",
            "description": "Paste 9-digit SIRENs (company identifier) or 14-digit SIRETs (establishment identifier), one per line. Spaces and dots are tolerated. Used when Search Mode is 'SIREN/SIRET list'. Ideal for bulk-enriching CRM data.",
            "items": {
              "type": "string"
            }
          },
          "department": {
            "title": "Department",
            "enum": [
              "01",
              "02",
              "03",
              "04",
              "05",
              "06",
              "07",
              "08",
              "09",
              "10",
              "11",
              "12",
              "13",
              "14",
              "15",
              "16",
              "17",
              "18",
              "19",
              "21",
              "22",
              "23",
              "24",
              "25",
              "26",
              "27",
              "28",
              "29",
              "2A",
              "2B",
              "30",
              "31",
              "32",
              "33",
              "34",
              "35",
              "36",
              "37",
              "38",
              "39",
              "40",
              "41",
              "42",
              "43",
              "44",
              "45",
              "46",
              "47",
              "48",
              "49",
              "50",
              "51",
              "52",
              "53",
              "54",
              "55",
              "56",
              "57",
              "58",
              "59",
              "60",
              "61",
              "62",
              "63",
              "64",
              "65",
              "66",
              "67",
              "68",
              "69",
              "70",
              "71",
              "72",
              "73",
              "74",
              "75",
              "76",
              "77",
              "78",
              "79",
              "80",
              "81",
              "82",
              "83",
              "84",
              "85",
              "86",
              "87",
              "88",
              "89",
              "90",
              "91",
              "92",
              "93",
              "94",
              "95",
              "971",
              "972",
              "973",
              "974",
              "976"
            ],
            "type": "string",
            "description": "French department code, e.g. '75' for Paris, '92' for Hauts-de-Seine, '13' for Bouches-du-Rhône. Restricts the search to companies registered in this department. Leave empty to search all departments. Ignored in SIREN list mode."
          },
          "postalCode": {
            "title": "Postal Code",
            "type": "string",
            "description": "5-digit French postal code (more precise than department). Examples: '75001' (Paris 1er), '69002' (Lyon 2e), '13001' (Marseille 1er)."
          },
          "nafCode": {
            "title": "NAF / APE Activity Code",
            "type": "string",
            "description": "INSEE activity code in NAF rev. 2 format (5 digits + 1 letter, e.g. '62.01Z' for software publishing, '47.11D' for grocery retail, '69.10Z' for legal activities). Restricts results to companies whose principal activity matches this code."
          },
          "legalForm": {
            "title": "Legal Form",
            "uniqueItems": true,
            "type": "array",
            "description": "Restrict to specific French legal forms. Leave empty to include all. SAS and SARL are by far the most common.",
            "items": {
              "type": "string",
              "enum": [
                "SAS",
                "SARL",
                "SA",
                "SASU",
                "EURL",
                "SCI",
                "EI",
                "SNC",
                "SCS",
                "SCA",
                "association"
              ],
              "enumTitles": [
                "SAS — Société par Actions Simplifiée",
                "SARL — Société à Responsabilité Limitée",
                "SA — Société Anonyme",
                "SASU — SAS Unipersonnelle",
                "EURL — Entreprise Unipersonnelle à Responsabilité Limitée",
                "SCI — Société Civile Immobilière",
                "EI — Entreprise Individuelle",
                "SNC — Société en Nom Collectif",
                "SCS — Société en Commandite Simple",
                "SCA — Société en Commandite par Actions",
                "Association loi 1901"
              ]
            },
            "default": []
          },
          "status": {
            "title": "Company Status",
            "enum": [
              "active",
              "struck-off",
              "both"
            ],
            "type": "string",
            "description": "Whether to include active companies, struck-off (radiée) companies, or both. 'Active only' is what most users want.",
            "default": "active"
          },
          "foundedAfter": {
            "title": "Founded After",
            "type": "string",
            "description": "Only include companies whose date d'immatriculation is on or after this date (YYYY-MM-DD). Useful for finding recently incorporated companies."
          },
          "foundedBefore": {
            "title": "Founded Before",
            "type": "string",
            "description": "Only include companies whose date d'immatriculation is on or before this date (YYYY-MM-DD)."
          },
          "outputDetail": {
            "title": "Output Detail Level",
            "enum": [
              "basic",
              "full"
            ],
            "type": "string",
            "description": "'Basic' returns only the identity card (name, SIREN, RCS, address, legal form, capital, NAF, status) — fastest and cheapest. 'Full' adds directors, establishments, and filed-report metadata as nested arrays on the same row.",
            "default": "full"
          },
          "maxEstablishmentsPerCompany": {
            "title": "Max Establishments Per Company",
            "minimum": 0,
            "type": "integer",
            "description": "Cap on the number of establishments (sub-SIRETs) embedded in each company row when Output Detail is 'Full'. Most companies have 1-3 establishments, but large groups (LVMH, Carrefour, BNP Paribas, SNCF) can have hundreds or thousands. Default 50 keeps runs fast and cost predictable. Set to 0 for unlimited (an internal hard cap of 10,000 still applies). Truncated rows include an 'establishmentsTruncated: true' flag.",
            "default": 50
          },
          "maxResults": {
            "title": "Max Results",
            "minimum": 0,
            "type": "integer",
            "description": "Hard cap on total company rows across all sources. Default 200. Set to 0 for no cap (an internal upper limit of 100,000 still applies to prevent runaway pagination on broken responses). The actor stops requesting new pages once this number is reached but keeps the full final page even if it slightly overshoots.",
            "default": 200
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}