Build B2B lead lists or CRM enrichment from France’s official company register. Search by pasted URL (Pappers or data.gouv) with NAF, region, and department filters—or paste SIRENs for full records. Returns identity, address, directors, headcount band, and more via recherche-entreprises.api.gouv.fr.
All notable changes to this Actor are documented in this file.
The format follows Keep a Changelog . Actor versions use MAJOR.MINOR (Apify convention), aligned with .actor/actor.json.
[1.7] - 2026-04-04
Changed
Benefit-first copy (Console, Store, README): user-facing text emphasizes outcomes (leads, enrichment, export) instead of paging, retries, or rate limits. Documented as a required rule in the perfect-apify-actor skill.
input_schema: Reworded titles and descriptions; maxResults field title is now “How many companies (search)”.
[1.6] - 2026-04-04
Changed
Input UI: Removed rate-limit fields from input_schema.json (no “Rate limiting & performance” section). Paging delay, enrich concurrency/stagger, and HTTP retries are centralized in src/lib/runtimeDefaults.js with conservative defaults.
Input mode dropdown: enum had four values (searchUrl, sirens, search, enrich) but only two enumTitles, so the Console showed raw search and enrich. Schema now exposes two modes only; main.js normalizes legacy search → searchUrl and enrich → sirens after input load.
[1.4] - 2026-04-04
Changed
Title alignment: README H1, input_schema.json title, seoTitle, and output_schema.json title now match the Store actor.json positioning (same “French Companies — Search & SIREN Enrichment (Official INSEE API)” line; SEO uses the same naming without “Scraper” vs README drift).
[1.3] - 2026-04-04
Changed
Input schema (default + prefill): Conservative defaults so Console, API, and platform health runs finish quickly and avoid HTTP 429 — maxResults25, delayBetweenPages3, maxConcurrency2, delayBetweenRequests2. Explicit prefill on searchUrls and sirens for the UI; default is what integrations/API use when a field is omitted.
input.json: Matches schema defaults for local testing.
README: Parameter table and notes aligned with Apify prefill vs default behaviour.
[1.2] - 2026-04-04
Changed
Local input: one root input.json for all local tests; removed separate input-search*.json and input-enrich.json files. README documents switching mode for search vs enrich.
[1.1] - 2026-04-04
Added
SEO & marketplace metadata: seoTitle and seoDescription in actor.json for Apify Store search snippets.
Input schema: sectionCaption / sectionDescription for rate-limit and performance fields; clearer grouping in the Console.
Run status (cloud): Actor.setStatusMessage updates during search and enrich runs when executing on Apify.
Changed
User-facing copy (English): All run logs, warnings, errors, and default dataset error text are now English-only for Store and support consistency.
README: Restructured for the Apify marketplace (quick start, parameters table, performance, FAQ, legal, support).
actor.json: Title and description tuned for keywords (SIREN, INSEE, lead generation) while staying accurate.
Categories: Order adjusted to LEAD_GENERATION, BUSINESS, DATA_EXTRACTION.
Fixed
Rate limiting: Shared HTTP retry layer with backoff, Retry-After support, and configurable delayBetweenPages / rateLimitMaxRetries documented in README and input schema.
[1.0] - 2026-02-25
Added
Search URL mode: Paste URLs from recherche-entreprises.data.gouv.fr or Pappers; filters are parsed automatically (urlParser.js).
SIREN enrichment mode: Parallel batches with delays and ETA logging.
HTTP resilience: Retries on HTTP 429 / 503 for both search and enrich.
Transform pipeline: transform.js maps API payloads to flat dataset rows (directors, NAF labels, TVA, financials).
CSV: Optional output.csv written during the run (local).
Unit tests: tests/ for URL parsing, HTTP helpers, SIREN normalization, and mocked search pagination.
Changed
Project layout aligned with Apify conventions; .actor/ schemas and actor.json wired for Console and Store.
[0.2.1] - 2026-02-25
Added
searchUrl: URL-based input with Pappers mapping (ville → commune, en_activite → active status).