ORIAS · French Insurance Intermediaries
Pricing
from $3.00 / 1,000 contact profile rows
ORIAS · French Insurance Intermediaries
Get business emails, phones and ORIAS numbers from French insurance and finance intermediaries. Paste SIRENs or export full COA/CIF categories — CRM-ready rows, compliance checks included. Public ORIAS register. No API key or login.
Pricing
from $3.00 / 1,000 contact profile rows
Rating
0.0
(0)
Developer
Corentin Robert
Maintained by CommunityActor stats
0
Bookmarked
31
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
ORIAS Scraper · Insurance & Finance Leads
Export French insurance and finance intermediaries from the official ORIAS register — emails, phones, SIREN, ORIAS numbers, and compliance status in a CRM-ready dataset.
Paste SIRENs you already have, or export an entire category (COA brokers, CIF advisors, and more). One row per intermediary — JSON, CSV, or Excel from Apify Console.
No login. No API key. No account on ORIAS.
Free plan: 20 rows / run. Paid plans follow your PPE budget.
Who is this for?
| You are… | Typical goal | Suggested setup |
|---|---|---|
| B2B supplier to insurers | Prospect list of active brokers | Catalog · COA · Contacts |
| Compliance / KYC team | Verify ORIAS registration before onboarding | Validate · paste SIRENs |
| Outbound / SDR | CRM import with email and phone | Catalog · Contacts · maxRequestsPerCrawl for tests |
| Data / ops | Full register metadata without profile loads | Catalog · Register |
| Franchise / network ops | Track new and removed registrations | Monitor · same categories each week |
| Regional sales | Brokers in one department | Catalog · Contacts · API filterDepartment: "69" |
What you get by default (Contacts / Full): company name, email, phone, address, SIREN, ORIAS number, categories, and profile URL when ORIAS publishes them on the profile page.
Register-only rows include SIREN, ORIAS number, RCS city, registration date, and active status — no email or phone (the official CSV never contains contacts).
Typical fill rates (COA, Contacts export, cloud benchmark on 500 profiles):
| Field | Coverage |
|---|---|
| ~100 % of scraped profiles | |
| Phone | ~100 % of scraped profiles |
| Address | ~100 % of scraped profiles |
Register export (exportLevel: register) is metadata-only — 0 % email/phone by design (0 profile page loads).
Quick start
Three minutes to your first results:
- Open the Actor and click Try (preset: 25 profiles).
- Leave Enrich mode and paste one or more SIRENs (e.g.
32630). - Set Export level to Contacts.
- Click Start — rows appear in the dataset tab as they are scraped.
Full COA register (metadata only, ~27k active rows, no profile pages):
{"mode": "catalog","categories": ["COA"],"exportLevel": "register"}
Validate a SIREN list (compliance):
{"mode": "validate","startUrls": ["483472817", "32630"],"includeDetails": true}
Standby lookup (HTTP)
Console Start is unchanged: fill Input, run, download the dataset.
Need one SIREN (or a few) for KYC in n8n, Make, or your own app? Use the Standby tab hostname. Authenticate with Authorization: Bearer <APIFY_TOKEN> (or ?token=).
| Method | Path | Request | Response |
|---|---|---|---|
GET / POST | /lookup | siren or url or sirens[] (1–5), optional includeDetails | { items, count, notFound, failed, budgetExhausted, cap } |
GET | / | Header x-apify-container-server-readiness-probe | OK |
Hard cap: 5 intermediaries per request. Catalog, monitor, and bulk enrich stay on Start. includeDetails defaults to false (registration only). Same orias-validate-row event as Validate mode. Actor start is charged once when the container boots, not per request. First byte timeout: 5 minutes.
curl -H "Authorization: Bearer $APIFY_TOKEN" \"https://<user>--orias-scraper.apify.actor/lookup?siren=483472817"
curl -H "Authorization: Bearer $APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"sirens":["483472817","32630"],"includeDetails":false}' \"https://<user>--orias-scraper.apify.actor/lookup"
{ "items": [{ "siren": "000032630", "oriasNumber": "23004891", "registrationStatus": "Registered", "isRegistered": true }], "count": 1, "cap": 5 }
Standby memory 512 MB, idle 60 s (Console → Actor → Standby).
Ready-made examples (published tasks)
| Example | Best for |
|---|---|
| Validate SIREN registration on the ORIAS register | KYC / compliance |
| Monitor weekly COA changes on the ORIAS register | Scheduled register watch |
| Find COA insurance brokers in France with emails | B2B contacts (sample cap) |
| Export CIF financial advisors in France for CRM | Investment advisors |
| COA insurance brokers in Rhône-Alpes with contacts | Geo-filtered leads (dept 69) |
What does it extract?
| Category | Fields |
|---|---|
| Identity | Name, commercial name, SIREN, SIREN normalized (9 digits), ORIAS number, legal form, NAF code |
| Contact | Email, phone, phone E.164, website, address, city, zipcode, country, full address line |
| Register (CSV) | Categories, RCS city, registration date, fund collection flag, active status |
| Compliance (validate) | isRegistered, registrationStatus (Registered / Not registered), checkedAt |
| Monitor (delta) | changeType (added / removed), checkedAt |
| Full export | Associated companies table (name, SIREN, address, profile URL) |
Dataset views: Overview, Contacts, Outreach CRM, Compliance — pick the view that matches your export (CRM vs audit).
Modes
| Mode | You provide | You get |
|---|---|---|
| enrich | SIRENs or ORIAS profile URLs | Profile data per SIREN |
| catalog | Category codes (COA, CIF, …) | Full category discovery + export |
| validate | SIRENs | Registration status (+ optional full profile) |
| monitor | Categories | New and removed SIRENs vs previous run |
Legacy input values urls → enrich and categories → catalog still work (deprecated warnings in logs).
Export levels
| Level | Profile pages | Best for |
|---|---|---|
| register | None | Fast metadata (~27k COA actifs, 0 GET profil) |
| contacts | Yes | CRM — email, phone, address |
| full | Yes | Complete profile + associations table |
Sample output
Enrich / catalog (contacts):
{"name": "ANTOINE BOUTARD","email": "contact@example.fr","phone": "0241597249","phoneE164": "+33241597249","website": "https://example.fr","oriasNumber": "23004891","siren": "32630","sirenNormalized": "000032630","categories": ["COA"],"registrationStatus": "Registered","addressFull": "5 rue des Fontaines, 49700 DOUE EN ANJOU, France","url": "https://orias.fr/home/showIntermediaire/000032630"}
Validate:
{"siren": "483472817","sirenNormalized": "483472817","oriasNumber": "07000003","isRegistered": true,"registrationStatus": "Registered","checkedAt": "2026-06-22T10:50:19.869Z","url": "https://orias.fr/home/showIntermediaire/483472817"}
Monitor:
{"siren": "315964700","sirenNormalized": "315964700","changeType": "added","categories": ["COA"],"oriasNumber": "07000001","checkedAt": "2026-06-22T10:30:43.062Z","url": "https://orias.fr/home/showIntermediaire/315964700"}
How much does it cost to scrape ORIAS?
HTTP-only scraping keeps compute low. Pay-per-event pricing (configure events in Console → Monetization before production runs).
| Scenario | FREE tier | BRONZE | SILVER | GOLD |
|---|---|---|---|---|
Run start (actor-start) | $0.10 | $0.10 | $0.10 | $0.10 |
| Register row | $0.001 | $0.0009 | $0.0008 | $0.0007 |
| Contact row (email or phone) | $0.003 | $0.0028 | $0.0026 | $0.0024 |
| Full profile row | $0.004 | $0.0038 | $0.0036 | $0.0034 |
| Validate row | $0.002 | $0.0019 | $0.0018 | $0.0017 |
| Monitor delta row | $0.003 | $0.0028 | $0.0026 | $0.0024 |
| Scenario | Approx. total (FREE) |
|---|---|
| Try run — 25 profiles (Contacts) | ~$0.18 |
| Validate 50 SIRENs | ~$0.20 |
| COA register (~27k rows, 0 profile GETs) | ~$27 + $0.10 start |
| 1,000 contact rows | ~$3.10 + $0.10 start |
Residential proxy is not required — datacenter Apify proxy works on ORIAS cloud runs.
Is it legal to scrape ORIAS?
This Actor only accesses data that ORIAS publishes on its public register. It does not bypass authentication or access non-public APIs.
Rows may contain personal contact data (email, phone). Ensure your use complies with GDPR, French marketing rules, and your internal compliance policies. See Apify's guide to web scraping legality.
Limitations
- Register CSV has no contacts — email and phone require profile scrape (
contactsorfull). - Geo filters (
filterDepartment,filterZipPrefix) apply after profile scrape (zipcode on profile, not in CSV). - Monitor mode stores baseline in a named key-value store (
orias-monitor). WithoutmonitorSeedBaseline, the first run lists all SIRENs asadded. With the flag (Store weekly task), the first run writes onebaseline_seededrow; later runs emit only additions and removals. Identical re-runs produce no delta rows. - Large register exports take several minutes (sequential billing events) — rows stream progressively to the dataset.
- Categories AGA, MIA, … without CSV use paginated search (slower than COA/CIF/COBSP CSV).
How it works
- Warm up a session against orias.fr (datacenter proxy on Apify cloud).
- Discover SIRENs — official CSV for COA/CIF/COBSP, or paginated search for other categories.
- Export register rows immediately when
exportLevel: register(no profile GETs). - Scrape profiles when Contacts or Full — merge CSV metadata with profile fields.
- Filter optionally by department, zip prefix, or name (post-scrape).
- Bill one pay-per-event charge per row; flush RUN_LOG to key-value store.
Input parameters
| Field | Console | Description |
|---|---|---|
mode | Yes | enrich · catalog · validate · monitor |
exportLevel | Yes | register · contacts · full |
startUrls | Yes | SIRENs or ORIAS URLs (enrich, validate) |
categories | Yes | ORIAS codes (catalog, monitor) |
maxRequestsPerCrawl | Yes | Cap profile scrapes; 0 = no limit |
includeDetails | Hidden | Validate: full profile when registered (default true) |
filterDepartment | Yes | Keep rows whose zip starts with this department (e.g. 69) |
monitorSeedBaseline | API | Monitor: first run saves baseline without dumping every SIREN |
filterZipPrefix | API | Post-filter zipcode (e.g. 6900) |
filterNameContains | API | Match name or commercial name |
maxConcurrency | API | Parallel profile requests (1–10, default 5) |
delayBetweenRequests | API | Throttle (seconds between requests) |
verboseLogs | API | Technical debug lines in RUN_LOG |
proxyConfiguration | API | Default { useApifyProxy: true } on cloud |
Performance reference
| Run | Active rows | Profile GETs |
|---|---|---|
| COA register | ~27,147 | 0 |
| COA contacts (full) | ~27,147 | ~27,147 |
| CIF register | ~7,928 | 0 |
COA CSV total lines: 42,577 (includes deregistered entries filtered out at export).
Also available — French B2B directories
| Actor | Link |
|---|---|
| French Lawyers · CNB directory | ordre-avocats-france-annuaire — emails, phones, SIREN |
| French Companies · SIREN search | recherche-entreprises-scraper — find SIRENs by NAF, region, or keyword, then enrich here |
| French Establishments · SIRET sites | french-establishments-scraper — branch offices and addresses per SIREN |
| French Accountants Directory | experts-comptables-annuaire-scraper |
| Notaires.fr Directory | notaires-fr-annuaire-scraper |
| BODACC Legal Announcements | bodacc-announcements-scraper |
Full store: apify.com/corent1robert
Local development
cd orias-scrapernpm installapify run --purge --input-file=./input.json
Use apify run (not npm start). Copy .actor/INPUT.json if you want a small catalog Try, or edit root input.json. Example:
{"mode": "catalog","categories": ["COA"],"exportLevel": "contacts","maxRequestsPerCrawl": 25}
npm test runs parser / input unit tests (no network). Local storage/ is not synced to Apify Console.
FAQ
Does Standby replace Start? No. Start = catalog / enrich / validate / monitor datasets. Standby = small JSON KYC lookup (max 5 SIRENs). First HTTP byte timeout is 5 minutes.
Support
Custom ORIAS workflows, scheduled monitor jobs, white-label scraping, or CRM integration: corentin@outreacher.fr