# Societe.com Company Scraper (`solidcode/societe-scraper`) Actor

\[💰 $2.50 / 1K] Extract official French company records from Societe.com by name, SIREN/SIRET, director, or URL — legal identity, capital, revenue, directors, establishments, and legal notices as clean structured data for lead generation, KYC, and due diligence.

- **URL**: https://apify.com/solidcode/societe-scraper.md
- **Developed by:** [SolidCode](https://apify.com/solidcode) (community)
- **Categories:** Lead generation, Developer tools, Automation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.50 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js/docs.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python/docs.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

## Societe.com Company Scraper

Pull official company records from Societe.com — France's open business register — complete with SIREN and SIRET numbers, NAF/APE activity codes, up to 21 years of financials, directors, establishments, and legal announcements for any registered French company. Look companies up one at a time or in bulk, by name, number, director, or URL. Built for sales and lead-generation teams, KYC and compliance analysts, and due-diligence and market-research professionals who need structured French company data without opening and copying every profile by hand.

### Why This Scraper?

- **Four ways to find a company** — search by company name, look up exact 9-digit SIREN or 14-digit SIRET numbers, search by a director's name, or paste a Societe.com company URL. A SIRET is auto-reduced to its parent SIREN, and spaces or separators are ignored.
- **Complete legal identity on every record** — SIREN, headquarters SIRET, RCS registration number, intracommunity VAT (TVA) number, legal form (forme juridique) with its numeric category code, creation date, and live activity status (en activité / radiée).
- **NAF/APE activity codes with full labels** — the official French activity code and its human-readable description on every company, for precise sector targeting and classification.
- **Up to 21 years of financial history** — per filing year: revenue (chiffre d'affaires), net result, total balance sheet, gross margin, operating result, EBITDA, cash flow, and indebtedness — plus headline share capital and the official workforce band (tranche d'effectif).
- **Directors and managers with their roles** — every dirigeant's name, role (gérant, président, directeur général…), and appointment date where the register publishes it.
- **Up to 1,000 establishments per company** — the full établissements list, not just a count: each site's SIRET, name, address, activity code, and headquarters flag — so you get every branch of a group, not a single number.
- **Official legal announcements (annonces légales / BODACC)** — dated registrations, changes, and filings linked to each company, with type and description.
- **One flat row per company** — identity, financials, directors, establishments, and legal notices all in a single record, with four on/off toggles so each row carries exactly the data you need and nothing you don't.

### Use Cases

**Sales & Lead Generation**
- Build prospect lists of French companies filtered by activity (NAF/APE), region, or size
- Enrich CRM records with verified SIREN/SIRET, legal form, and registered address
- Reach decision-makers by pulling directors and their roles for each target company
- Qualify accounts by revenue, workforce band, and share capital before outreach

**KYC & Compliance**
- Verify a counterparty's legal existence and status (en activité vs. radiée) from the official register
- Capture SIREN, SIRET, RCS, and VAT (TVA) numbers for onboarding and audit trails
- Screen ultimate directors and managers across a portfolio of entities
- Monitor legal announcements (BODACC) for insolvency, restructuring, and ownership changes

**Due Diligence & M&A**
- Map a target group's full footprint with the complete establishments list
- Track up to 21 years of revenue and net result to assess financial trajectory
- Cross-reference directors to surface related entities and conflicts of interest
- Pull the legal announcements history to reconstruct a company's timeline

**Market Research & Analysis**
- Size a sector by pulling every company under a NAF/APE code by name search
- Benchmark competitors' revenue, margins, and headcount side by side
- Analyze company creation dates and legal forms to study market structure
- Feed structured French registry data into dashboards and data warehouses

### Getting Started

#### Look up one company by SIREN

The simplest run — one SIREN number returns one clean, fully enriched record:

```json
{
    "sirenNumbers": ["652014051"]
}
````

#### Search by company name

```json
{
    "searchQuery": "Carrefour",
    "maxResults": 25
}
```

#### Find every company a director runs

```json
{
    "managerName": "Alexandre Bompard",
    "maxResults": 50
}
```

#### Full bulk lookup with every section

Mix SIREN/SIRET numbers and URLs, and turn on establishments and legal announcements:

```json
{
    "sirenNumbers": ["652014051", "54205118000066"],
    "startUrls": [
        "https://www.societe.com/societe/totalenergies-se-542051180.html"
    ],
    "includeFinancials": true,
    "includeDirectors": true,
    "includeEstablishments": true,
    "includeLegalAnnouncements": true,
    "maxResults": 100
}
```

### Input Reference

#### What to Scrape

Provide at least one of these. You can combine them freely in a single run.

| Parameter | Type | Default | Description |
|-----------|------|---------|-------------|
| `startUrls` | string\[] | `[]` | One or more Societe.com company page URLs to pull directly (e.g. `https://www.societe.com/societe/carrefour-652014051.html`). The fastest, most exact way to fetch a known company. |
| `searchQuery` | string | `""` | Search by company name (partial matches allowed), e.g. "Carrefour". Returns the best-matching companies up to your result limit. |
| `sirenNumbers` | string\[] | `["652014051"]` | List of 9-digit SIREN or 14-digit SIRET numbers to look up directly. Each resolves to one exact-match company — the most reliable way to avoid same-name companies. A SIRET is automatically reduced to its 9-digit SIREN; spaces and separators are ignored. |
| `managerName` | string | `""` | Search by a director or manager's name, e.g. "Alexandre Bompard". Returns the companies where that person holds a role, up to your result limit. |

#### Results

| Parameter | Type | Default | Description |
|-----------|------|---------|-------------|
| `maxResults` | integer | `50` | Maximum number of companies returned from a name or director search (1–5000). A single name or director search returns at most 120 companies (a Societe.com limit) — narrow the name or use SIREN/SIRET numbers to reach more. Direct URLs and SIREN/SIRET lookups are always fully returned and never limited by this value. |

#### Data to Include

Turn off sections you don't need to keep each record lean.

| Parameter | Type | Default | Description |
|-----------|------|---------|-------------|
| `includeFinancials` | boolean | `true` | Include share capital, revenue (chiffre d'affaires), net result, workforce band, and available past years. |
| `includeDirectors` | boolean | `true` | Include the company's directors and managers (dirigeants) — names, roles, and appointment dates. |
| `includeEstablishments` | boolean | `false` | Include the company's establishments (établissements) — each site's SIRET, address, activity, and headquarters flag. Large groups are capped at the first 1,000 establishments per company. |
| `includeLegalAnnouncements` | boolean | `false` | Include official legal announcements (annonces légales / BODACC) — date, type, and details of registrations, changes, and filings. |

### Output

Each company is one flat row in your dataset. Nested details (directors, financials, establishments, legal announcements) live as arrays inside that same row. Here's a representative record with every section enabled:

```json
{
    "companyName": "CARREFOUR",
    "siren": "652014051",
    "siret": "65201405101540",
    "legalForm": "SA à conseil d'administration",
    "legalFormCode": "5599",
    "status": "En activité",
    "creationDate": "1965-01-01",
    "nafCode": "7010Z",
    "nafDescription": "Activités des sièges sociaux",
    "rcsNumber": "652014051 R.C.S. Évry",
    "vatNumber": "FR66652014051",
    "capital": "2 019 762 200 €",
    "revenue": 2913000000,
    "netResult": 1024000000,
    "employeeRange": "1000 à 1999 salariés",
    "address": "93 AVENUE DE PARIS, 91300 MASSY",
    "streetAddress": "93 AVENUE DE PARIS",
    "postalCode": "91300",
    "city": "MASSY",
    "department": "91",
    "directors": [
        { "name": "Alexandre BOMPARD", "role": "Président du conseil d'administration", "appointmentDate": "18 juillet 2017", "type": "Person" }
    ],
    "financials": [
        { "year": 2023, "status": "Consolidé", "revenue": 2913000000, "netResult": 1024000000, "totalBalance": 41230000000, "grossMargin": 1875000000, "operatingResult": 1330000000, "ebitda": 2140000000, "cashFlow": 1810000000, "indebtedness": 9200000000, "workforceBandCode": "53" }
    ],
    "establishments": [
        { "siret": "65201405101540", "siren": "652014051", "name": "CARREFOUR", "isHeadquarters": true, "address": "93 AVENUE DE PARIS 91300 MASSY", "postalCode": "91300", "city": "MASSY", "nafCode": "7010Z", "nafDescription": "Activités des sièges sociaux" }
    ],
    "legalAnnouncements": [
        { "date": "2023-06-15", "type": "Modification", "description": "Modification survenue sur l'administration de la société.", "source": "societe.com" }
    ],
    "sourceUrl": "https://www.societe.com/societe/carrefour-652014051.html",
    "scrapedAt": "2026-07-18T14:30:00Z"
}
```

#### Core Identity

| Field | Type | Description |
|-------|------|-------------|
| `companyName` | string | Legal name (raison sociale / dénomination). |
| `siren` | string | 9-digit SIREN company number. |
| `siret` | string | 14-digit SIRET of the headquarters (siège). |
| `legalForm` | string | Legal form (forme juridique), e.g. "SA", "SAS", "SARL". |
| `legalFormCode` | string | Numeric legal-form category code. |
| `status` | string | Activity status (en activité / radiée). |
| `creationDate` | string | Company creation / registration date. |
| `sourceUrl` | string | Canonical Societe.com company URL. |
| `scrapedAt` | string | ISO timestamp of extraction. |

#### Registration & Activity Codes

| Field | Type | Description |
|-------|------|-------------|
| `nafCode` | string | NAF/APE activity code. |
| `nafDescription` | string | NAF/APE activity label. |
| `rcsNumber` | string | RCS registration number and registry city. |
| `vatNumber` | string | Intracommunity VAT (TVA) number, where published. |

#### Address & Location

| Field | Type | Description |
|-------|------|-------------|
| `address` | string | Full registered address on one line. |
| `streetAddress` | string | Street line. |
| `postalCode` | string | Postal code. |
| `city` | string | City. |
| `department` | string | French department code, derived from the postal code. |

#### Financials

Populated when `includeFinancials` is on.

| Field | Type | Description |
|-------|------|-------------|
| `capital` | string | Share capital, in EUR. |
| `revenue` | number | Latest revenue (chiffre d'affaires), where published. |
| `netResult` | number | Latest net result (résultat net), where published. |
| `employeeRange` | string | Workforce band (tranche d'effectif), e.g. "1000 à 1999 salariés". |
| `financials` | object\[] | Per-year history — see fields below. |

Each item in the `financials` array:

| Field | Type | Description |
|-------|------|-------------|
| `year` | number | Filing year. |
| `status` | string | Account type (e.g. Consolidé / Social). |
| `revenue` | number | Revenue (chiffre d'affaires) for the year. |
| `netResult` | number | Net result (résultat net) for the year. |
| `totalBalance` | number | Total balance sheet. |
| `grossMargin` | number | Gross margin. |
| `operatingResult` | number | Operating result. |
| `ebitda` | number | EBITDA. |
| `cashFlow` | number | Cash flow. |
| `indebtedness` | number | Indebtedness. |
| `workforceBandCode` | string | Coded workforce band. |

#### Directors

Populated when `includeDirectors` is on. Each item in the `directors` array:

| Field | Type | Description |
|-------|------|-------------|
| `name` | string | Director / manager name. |
| `role` | string | Role held (gérant, président, directeur général…). |
| `appointmentDate` | string | Appointment date, where the register publishes it. |
| `type` | string | Entity type (Person or Organization). |

#### Establishments

Populated when `includeEstablishments` is on. Each item in the `establishments` array (up to 1,000 per company):

| Field | Type | Description |
|-------|------|-------------|
| `siret` | string | 14-digit SIRET of the establishment. |
| `siren` | string | Parent company SIREN. |
| `name` | string | Establishment name. |
| `isHeadquarters` | boolean | True for the headquarters (siège social). |
| `address` | string | Establishment address. |
| `postalCode` | string | Postal code. |
| `city` | string | City. |
| `nafCode` | string | Establishment NAF/APE code. |
| `nafDescription` | string | Establishment activity label. |

#### Legal Announcements

Populated when `includeLegalAnnouncements` is on. Each item in the `legalAnnouncements` array:

| Field | Type | Description |
|-------|------|-------------|
| `date` | string | Announcement date. |
| `type` | string | Announcement type (immatriculation, modification, etc.). |
| `description` | string | Details of the filing. |
| `source` | string | Source label (societe.com). |

### Tips for Best Results

- **Prefer SIREN/SIRET numbers for exact matches** — a number returns exactly the company you mean, with no same-name confusion, and is never limited by `maxResults`.
- **Paste a 14-digit SIRET freely** — it's automatically reduced to its 9-digit company (SIREN), so you can drop in establishment numbers without editing them.
- **A single name or director search tops out at 120 companies** — this is a Societe.com limit, not a setting. To pull more, split the search into narrower names or feed a list of SIREN/SIRET numbers instead.
- **Turn off sections you don't need** — leaving establishments and legal announcements off (the defaults) keeps each record lean and runs faster when you only need identity and financials.
- **Turn establishments on for group footprints** — a holding or retail group can carry hundreds of établissements; enable it to capture every branch's SIRET and address (up to 1,000 per company).
- **Combine inputs in one run** — mix pasted URLs, SIREN/SIRET numbers, a name search, and a director search together; results are de-duplicated automatically.
- **Search a director to map related entities** — one manager name returns every company where that person holds a role, a fast way to surface a group or an individual's mandates.

### Pricing

**From $2.50 per 1,000 results** — undercuts the going rate for French company data while keeping billing flat and predictable. Bronze, Silver, and Gold subscribers pay progressively less; the table below shows total cost at each discount tier.

| Results | No discount | Bronze | Silver | Gold |
|---------|-------------|--------|--------|------|
| 100 | $0.30 | $0.285 | $0.265 | $0.25 |
| 1,000 | $3.00 | $2.85 | $2.65 | $2.50 |
| 10,000 | $30.00 | $28.50 | $26.50 | $25.00 |
| 100,000 | $300.00 | $285.00 | $265.00 | $250.00 |

A "result" is one company record in your dataset — a one-site shop and a 1,000-establishment group each count as a single result, no matter how much nested data the record carries. **No compute or time-based charges — you pay per result, plus a small fixed per-run start fee.**

### Integrations

Export data in JSON, CSV, Excel, XML, or RSS. Connect to 1,500+ apps via:

- **Zapier** / **Make** / **n8n** — Workflow automation
- **Google Sheets** — Direct spreadsheet export
- **Slack** / **Email** — Notifications on new results
- **Webhooks** — Trigger custom APIs on run completion
- **Apify API** — Full programmatic access

### Legal & Ethical Use

Societe.com publishes public French company-registry information (registre du commerce et des sociétés / BODACC). This actor is intended for legitimate research, compliance, due-diligence, and business-development use. You are responsible for complying with applicable laws — including the GDPR and other data-protection rules when handling director names and other personal data — and with Societe.com's Terms of Service. Do not use extracted data for spam, harassment, or any unlawful purpose.

# Actor input Schema

## `startUrls` (type: `array`):

Paste one or more Societe.com company page URLs to scrape them directly (for example https://www.societe.com/societe/carrefour-652014051.html). Fastest and most exact way to pull a known company.

## `searchQuery` (type: `string`):

Search by company name (partial matches allowed). Example: 'Carrefour' or 'Total Energies'. Returns the best-matching companies up to your result limit.

## `sirenNumbers` (type: `array`):

List of 9-digit SIREN or 14-digit SIRET numbers to look up directly. Each resolves to one exact-match company — the most reliable way to avoid same-name companies. A 14-digit SIRET is automatically reduced to its 9-digit company (SIREN) number. Spaces and separators are ignored.

## `managerName` (type: `string`):

Search by the name of a company director or manager. Example: 'Dupont Jean'. Returns companies where that person holds a role, up to your result limit.

## `maxResults` (type: `integer`):

Maximum number of company records to return from a name or director search. Note: a single name or director search returns at most 120 companies (a Societe.com limit), so values above 120 apply per search but each search still tops out at 120 — narrow the name or use SIREN/SIRET numbers to reach more. Direct URLs and SIREN/SIRET lookups are always fully returned and are never limited by this value.

## `includeFinancials` (type: `boolean`):

Include financial figures when Societe.com publishes them: share capital, revenue (chiffre d'affaires), net result, workforce band, and available past years.

## `includeDirectors` (type: `boolean`):

Include the company's directors and managers (dirigeants) — names, roles, and appointment dates.

## `includeEstablishments` (type: `boolean`):

Include the company's establishments (établissements) — each site's SIRET, address, activity, and headquarters flag. For very large groups the list is capped at the first 1,000 establishments per company to keep each record a manageable size.

## `includeLegalAnnouncements` (type: `boolean`):

Include official legal announcements (annonces légales / BODACC) linked to the company — date, type, and details of registrations, changes, and filings.

## Actor input object example

```json
{
  "startUrls": [],
  "sirenNumbers": [
    "652014051"
  ],
  "maxResults": 50,
  "includeFinancials": true,
  "includeDirectors": true
}
```

# Actor output Schema

## `overview` (type: `string`):

Table of companies with key fields like name, SIREN, legal form, activity, location, and status.

## `details` (type: `string`):

Full per-company rows including financials, directors, establishments, and legal announcements.

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "startUrls": [],
    "searchQuery": "",
    "sirenNumbers": [
        "652014051"
    ],
    "managerName": "",
    "maxResults": 50,
    "includeFinancials": true,
    "includeDirectors": true,
    "includeEstablishments": false,
    "includeLegalAnnouncements": false
};

// Run the Actor and wait for it to finish
const run = await client.actor("solidcode/societe-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "startUrls": [],
    "searchQuery": "",
    "sirenNumbers": ["652014051"],
    "managerName": "",
    "maxResults": 50,
    "includeFinancials": True,
    "includeDirectors": True,
    "includeEstablishments": False,
    "includeLegalAnnouncements": False,
}

# Run the Actor and wait for it to finish
run = client.actor("solidcode/societe-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "startUrls": [],
  "searchQuery": "",
  "sirenNumbers": [
    "652014051"
  ],
  "managerName": "",
  "maxResults": 50,
  "includeFinancials": true,
  "includeDirectors": true,
  "includeEstablishments": false,
  "includeLegalAnnouncements": false
}' |
apify call solidcode/societe-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=solidcode/societe-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Societe.com Company Scraper",
        "description": "[💰 $2.50 / 1K] Extract official French company records from Societe.com by name, SIREN/SIRET, director, or URL — legal identity, capital, revenue, directors, establishments, and legal notices as clean structured data for lead generation, KYC, and due diligence.",
        "version": "1.0",
        "x-build-id": "jKkrMtrjoiDyFIiJE"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/solidcode~societe-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-solidcode-societe-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~societe-scraper/runs": {
            "post": {
                "operationId": "runs-sync-solidcode-societe-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~societe-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-solidcode-societe-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": {
                    "startUrls": {
                        "title": "Company URLs",
                        "type": "array",
                        "description": "Paste one or more Societe.com company page URLs to scrape them directly (for example https://www.societe.com/societe/carrefour-652014051.html). Fastest and most exact way to pull a known company.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "searchQuery": {
                        "title": "Company name",
                        "type": "string",
                        "description": "Search by company name (partial matches allowed). Example: 'Carrefour' or 'Total Energies'. Returns the best-matching companies up to your result limit."
                    },
                    "sirenNumbers": {
                        "title": "SIREN / SIRET numbers",
                        "type": "array",
                        "description": "List of 9-digit SIREN or 14-digit SIRET numbers to look up directly. Each resolves to one exact-match company — the most reliable way to avoid same-name companies. A 14-digit SIRET is automatically reduced to its 9-digit company (SIREN) number. Spaces and separators are ignored.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "managerName": {
                        "title": "Director / manager name",
                        "type": "string",
                        "description": "Search by the name of a company director or manager. Example: 'Dupont Jean'. Returns companies where that person holds a role, up to your result limit."
                    },
                    "maxResults": {
                        "title": "Maximum results",
                        "minimum": 1,
                        "maximum": 5000,
                        "type": "integer",
                        "description": "Maximum number of company records to return from a name or director search. Note: a single name or director search returns at most 120 companies (a Societe.com limit), so values above 120 apply per search but each search still tops out at 120 — narrow the name or use SIREN/SIRET numbers to reach more. Direct URLs and SIREN/SIRET lookups are always fully returned and are never limited by this value."
                    },
                    "includeFinancials": {
                        "title": "Include financials",
                        "type": "boolean",
                        "description": "Include financial figures when Societe.com publishes them: share capital, revenue (chiffre d'affaires), net result, workforce band, and available past years."
                    },
                    "includeDirectors": {
                        "title": "Include directors",
                        "type": "boolean",
                        "description": "Include the company's directors and managers (dirigeants) — names, roles, and appointment dates."
                    },
                    "includeEstablishments": {
                        "title": "Include establishments",
                        "type": "boolean",
                        "description": "Include the company's establishments (établissements) — each site's SIRET, address, activity, and headquarters flag. For very large groups the list is capped at the first 1,000 establishments per company to keep each record a manageable size."
                    },
                    "includeLegalAnnouncements": {
                        "title": "Include legal announcements",
                        "type": "boolean",
                        "description": "Include official legal announcements (annonces légales / BODACC) linked to the company — date, type, and details of registrations, changes, and filings."
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
