# France New Companies Feed (SIRENE, NAF, size, département) (`moment-data/france-new-companies-feed`) Actor

Newly created French companies (SAS, SARL, SCI, SA...) from INSEE's official SIRENE open data: SIREN, head-office SIRET, NAF/APE code, legal form, workforce band, postal code, département, région. Legal entities only. Filters and 'new since last run' mode.

- **URL**: https://apify.com/moment-data/france-new-companies-feed.md
- **Developed by:** [Luke Miller](https://apify.com/moment-data) (community)
- **Features:** Limited permissions
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

Pay per event

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

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

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
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.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## 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.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## France New Companies Feed: SIRENE New SAS, SARL, SCI by NAF, Size and Département (official, no key)

A feed of **newly created French companies** taken from **INSEE's official SIRENE register** (Base Sirene des entreprises, the *StockUniteLegale* file published on data.gouv.fr under **Licence Ouverte / Open Licence 2.0**). Each run reads the latest monthly SIRENE file. It pulls only the parts of the file that hold recently issued SIREN numbers (a few MB of HTTP range reads, not the 700 MB download) and returns the newest companies first. Each record has the NAF/APE code, legal form, workforce band, head-office SIRET and location.

Over **25,000 new legal entities** a month (October 2026: about 27,000 SAS, SASU, SARL, EURL, SCI, SA, SEL, GIE and foreign branches).

**Companies only.** Entrepreneurs individuels and micro-entrepreneurs (natural persons), unincorporated groupings (indivisions, sociétés de fait), co-owner syndicates and non-diffusible units are always excluded. Officer (dirigeant) names and street lines are never output.

### How it differs from a BODACC feed

BODACC is the legal gazette. It shows announcements a few days after registration and has no NAF code or size data. SIRENE is INSEE's statistical register. Every company there has a **NAF/APE activity code**, **catégorie juridique**, **tranche d'effectifs**, **ESS / société à mission flags** and head-office **SIRET**, so you can filter exactly (for example "new SAS in software, Île-de-France"). For daily BODACC notices (creations, business sales, insolvency), see the sibling Actor *France BODACC Company Events Feed*.

### Who it's for

- **B2B sales, agencies and SaaS:** new companies by industry and département, while they set up banking, insurance, accounting, payroll, software, premises and branding.
- **Accountants (experts-comptables), banks, insurers, legal-tech:** every new SAS/SARL/SCI in your area each month.
- **Commercial real estate, fit-out, franchise developers:** new restaurants (56.10), shops (47), construction firms (41-43) by département.
- **Market research and data teams:** monthly company-creation counts by NAF, legal form and région, with SIREN for joins with BODACC, INPI RNE and your CRM.

### Output (one record per new company)

`siren`, `headOfficeSiret`, `name`, `acronym`, `tradeName`, `creationDate`, `status`, `legalFormCode` (catégorie juridique), `legalFormShort` (SAS, SASU, SARL, EURL, SCI...), `legalForm`, `legalFormGroup`, `nafCode` (NAF rév. 2), `naf2025Code`, `nafSection`, `nafSectionLabel`, `workforceBand`, `workforceBandLabel`, `employer`, `companyCategory` (PME / ETI / GE when known), `socialEconomy`, `missionCompany`, `postalCode`, `communeCode`, `city`, `departement`, `regionCode`, `region`, `inseeLastUpdate`, `sireneFileDate`, `annuaireUrl`, `source`, `retrievedAt`.

```json
{
  "siren": "131874182", "headOfficeSiret": "13187418200010", "name": "UNUS MUNDUS",
  "creationDate": "2026-11-01", "status": "active",
  "legalFormCode": "5710", "legalFormShort": "SAS", "legalForm": "Société par actions simplifiée",
  "nafCode": "62.02A", "naf2025Code": "62.20G", "nafSection": "J", "nafSectionLabel": "Information and communication",
  "workforceBand": "NN", "workforceBandLabel": "Non-employer / unknown",
  "postalCode": "75017", "communeCode": "75117", "city": "PARIS", "departement": "75", "regionCode": "11", "region": "Île-de-France",
  "sireneFileDate": "2026-11-01", "annuaireUrl": "https://annuaire-entreprises.data.gouv.fr/entreprise/131874182"
}
```

### Input

| Field | What it does |
|---|---|
| `mode` | `window` (default, stateless) or `sinceLastRun` (skips SIRENs already delivered for this `stateKey`; ideal for a monthly schedule on the 2nd of each month) |
| `lookbackDays` / `creationDateFrom` / `creationDateTo` | Creation-date window. Default: the 31 days before the SIRENE file date |
| `legalFormGroups` | `commercial` (default), `civil` (SCI, SCM, GAEC; default), `foreign` (RCS-registered branches; default), `foreign-unregistered` (VAT-only foreign sellers), `nonprofit`, `public` |
| `legalForms` | Catégorie juridique codes or prefixes: `5710` SAS, `5720` SASU, `5499` SARL, `5498` EURL, `6540` SCI, `57` all SAS |
| `nafCodes` / `nafSections` | NAF prefix (`62.01Z`, `6201Z`, `62`, `56.10`) or section letters (`F`, `J`, `M`) |
| `workforceBands`, `employerOnly`, `socialEconomyOnly` | INSEE size band, employer flag, ESS flag |
| `keywords` | Words in the name / acronym / usual name (`holding`, `immo`, `tech`) |
| `departements` / `regions` | Head-office département (`75`, `69`, `2A`, `971`) or région (`Île-de-France`, `11`) |
| `addLocation`, `maxLookups` | Adds postal code / commune / département / région (one lookup per record, about 4.5 per second) |
| `maxItems` | Records per run (default 25, newest first) |

Examples:

- New tech companies in Paris: `{"nafSections":["J"],"departements":["75"],"maxItems":200}`
- Every new SCI in Gironde this month: `{"legalForms":["6540"],"departements":["33"],"maxItems":500,"maxLookups":5000}`
- All new restaurants nationwide, no location: `{"nafCodes":["56.10"],"addLocation":false,"maxItems":2000}`

### Freshness and limits

- INSEE publishes the full SIRENE stock on the **1st of each month**, so a company appears up to about one month after creation. For daily legal notices, use a BODACC feed. Run monthly (for example on the 2nd) in `sinceLastRun` mode.
- Brand-new companies almost always have workforce band `NN` and no PME/ETI category yet. INSEE fills those in later.
- Filters on NAF, legal form, size and keyword are applied to the file directly and are fast. A département/région filter needs one location lookup per candidate, so rare départements may need a higher `maxLookups`.
- A default run (`{}`) takes about 75 s on the Apify platform at 512 MB.

### Pricing

Pay per event. You only pay for companies delivered.

| Event | Price |
|---|---|
| Actor start (`apify-actor-start`) | $0.005 per run |
| New company record (`company-record`) | $0.003 per company |

For example, 500 new companies cost $1.505. A monthly schedule of 2,000 companies in your sector costs about $6. The run's max charge cap is respected, so delivery stops when your limit is reached.

### Data source and licence

- INSEE, Base Sirene des entreprises et de leurs établissements: StockUniteLegale (parquet) on data.gouv.fr, **Licence Ouverte / Open Licence 2.0** (attribution: "Source : INSEE, Base Sirene"). Only diffusible units (`statutDiffusion = O`) are output.
- Location from the public **API Recherche d'entreprises** (DINUM, keyless, rate-limited; this Actor stays below the limit and identifies itself in its User-Agent).
- This Actor is not affiliated with INSEE, DINUM or data.gouv.fr. It does not use the INSEE API (which needs a key) and does not scrape websites.

### FAQ

**Why not daily?** INSEE's open-data stock files are monthly. The daily SIRENE API needs an INSEE account. BODACC (daily) is covered by a separate Actor.
**Are sole traders included?** No. Catégorie juridique 1000 (entrepreneur individuel, including micro-entrepreneurs) is always excluded, along with anything that has a person-name field.
**Can I get the full street address?** No, by design. You get postal code, commune, département and région.

***

### En français

Flux mensuel des **nouvelles sociétés françaises** issu de la **base Sirene de l'INSEE** (fichier StockUniteLegale, data.gouv.fr, Licence Ouverte 2.0). Chaque fiche contient le SIREN, le SIRET du siège, le code NAF/APE, la catégorie juridique (SAS, SASU, SARL, EURL, SCI...), la tranche d'effectifs, le code postal, la commune, le département et la région. Vous pouvez filtrer par NAF, forme juridique, département, région, effectif ou mot-clé, et activer le mode « nouveautés depuis la dernière exécution ». Seules les personnes morales sont incluses : pas d'entrepreneurs individuels, pas de noms de dirigeants, pas d'adresses de voie.

# Actor input Schema

## `mode` (type: `string`):

window (default): companies created in the date window from the latest monthly SIRENE file, no saved state. sinceLastRun: same window but skips SIRENs already delivered for this State key, so a monthly/weekly schedule only gets new ones (and resumes if Max items cut a run short).

## `lookbackDays` (type: `integer`):

Creation-date window ends on the SIRENE file date (1st of the month) and starts this many days earlier. Ignored if 'Created from' is set.

## `creationDateFrom` (type: `string`):

Optional start date (YYYY-MM-DD) for the creation date. Recent SIRENs only: very old creation dates may be incomplete.

## `creationDateTo` (type: `string`):

Optional end date (YYYY-MM-DD). Default: the SIRENE file date.

## `includeFutureDated` (type: `boolean`):

Some companies are registered with a start date after the file date. Excluded by default.

## `legalFormGroups` (type: `array`):

commercial = SAS, SASU, SARL, EURL, SA, SNC, SEL, GIE, coops. civil = sociétés civiles (SCI, SCM, GAEC...). foreign = foreign companies registered at the RCS (branches). foreign-unregistered = foreign companies with a French VAT/SIREN but no RCS registration (mostly marketplace sellers). nonprofit = associations, foundations, mutuals. public = public bodies. Entrepreneurs individuels are never included.

## `legalForms` (type: `array`):

Optional INSEE catégorie juridique codes or prefixes, e.g. 5710 (SAS), 5720 (SASU), 5499 (SARL), 5498 (EURL), 6540 (SCI), 57 (all SAS). Overrides the groups above (entrepreneurs individuels stay excluded).

## `nafCodes` (type: `array`):

Prefix match on the NAF rév. 2 (or NAF 2025) code, with or without dots: 62.01Z, 6201Z, 62 (all of division 62), 56.10 (restaurants).

## `nafSections` (type: `array`):

Section letters A-U, e.g. F (construction), J (information & communication), M (professional services).

## `workforceBands` (type: `array`):

INSEE tranche d'effectifs. New companies are almost always NN (non-employer / not yet known).

## `employerOnly` (type: `boolean`):

Only units INSEE flags as employers (caractère employeur = O). Rare for brand-new companies.

## `socialEconomyOnly` (type: `boolean`):

Only ESS units.

## `keywords` (type: `array`):

Any of these words in the name, acronym or usual name (accents optional), e.g. holding, immo, conseil, tech.

## `departements` (type: `array`):

Head-office département codes, e.g. 75, 69, 13, 2A, 971. Needs a location lookup per candidate (about 4.5 per second), limited by Max lookups.

## `regions` (type: `array`):

Région names or INSEE codes, e.g. Île-de-France / 11, Bretagne / 53, Occitanie / 76.

## `addLocation` (type: `boolean`):

Add postal code, commune, département and région of the head office from the public API Recherche d'entreprises (one call per delivered record). Never the street line.

## `maxLookups` (type: `integer`):

Cap on location lookups per run. With a département/région filter, the run stops when this is reached.

## `maxItems` (type: `integer`):

Maximum records per run (each record is one charged event). Newest creations first. October 2026 had about 27,000 new legal entities.

## `stateKey` (type: `string`):

Separate saved state per saved search in sinceLastRun mode.

## Actor input object example

```json
{
  "mode": "window",
  "lookbackDays": 31,
  "includeFutureDated": false,
  "legalFormGroups": [
    "commercial",
    "civil",
    "foreign"
  ],
  "legalForms": [],
  "nafCodes": [],
  "nafSections": [],
  "workforceBands": [],
  "employerOnly": false,
  "socialEconomyOnly": false,
  "keywords": [],
  "departements": [],
  "regions": [],
  "addLocation": true,
  "maxLookups": 400,
  "maxItems": 25,
  "stateKey": "default"
}
```

# Actor output Schema

## `companies` (type: `string`):

One record per new French company.

## `summary` (type: `string`):

SIRENE file used, date window, filters dropped, lookups.

# 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 = {};

// Run the Actor and wait for it to finish
const run = await client.actor("moment-data/france-new-companies-feed").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 = {}

# Run the Actor and wait for it to finish
run = client.actor("moment-data/france-new-companies-feed").call(run_input=run_input)

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

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

```

## CLI example

```bash
echo '{}' |
apify call moment-data/france-new-companies-feed --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,moment-data/france-new-companies-feed"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/yKI1MvYNYg3yUQipQ/builds/jiicL6ipadD2llohO/openapi.json
