French Accountants Scraper · Expert-Comptable Directory
Pricing
from $1.99 / 1,000 results
French Accountants Scraper · Expert-Comptable Directory
Export French accounting firms from the official Ordre register: name, address, phone, website, profile URL. Run by city or nationwide. No login. No API key. Public official register. JSON, CSV, Excel for CRM and B2B prospecting.
Pricing
from $1.99 / 1,000 results
Rating
0.0
(0)
Developer
Corentin Robert
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
12 days ago
Last modified
Categories
Share
French Accountants Directory Scraper — experts-comptables.org
Export the official French expert-comptable register — firm names, addresses, phones, accountant names, and optional SIREN/SIRET — in one dataset ready for CRM, outbound, or market research.
Stop copying annuaire.experts-comptables.org by hand. This Actor reads the public Ordre directory over plain HTTP, structures every accounting firm as a row, and lets you run by commune, nationwide, or from profile URLs you already have. Download JSON, CSV, or Excel from the Apify Dataset tab — or schedule monthly refreshes via API.
No login. No API key. No account on the source site.
Important: Data comes from public firm profile pages. Email is not included — the register does not expose it in structured data. Optional SIREN/SIRET matching uses the public French business register and returns a confidence score — filter on
gouvMatchConfidence: "high"for CRM imports. You must comply with Ordre des experts-comptables terms, GDPR, and professional-directory rules.
Who is this for?
| You are… | Typical goal | Suggested setup |
|---|---|---|
| B2B supplier / SaaS selling to accounting firms | Verified firm contacts by region | By city with target communes, or Full directory for France-wide coverage |
| Outbound / SDR team | Phone + address for cold calling or mail | By city for a département rollout; export CSV from Dataset |
| CRM / data ops | SIREN, SIRET, NAF for enrichment pipelines | Any mode + Match SIREN & SIRET turned ON |
| Market researcher / analyst | Count and map firms nationally | Full directory with Max firms = 0 (no row cap) |
| Ops team refreshing an old list | Latest phones and addresses | Your URLs — paste profile links from a previous export |
What you get by default: firm name, full address, phone, GPS coordinates, canonical profile URL, and full names of experts-comptables listed on the profile — typically ~100% fill on core fields in our samples. Website and social links appear when the profile publishes them (~10–20% for website on mixed communes).
When to enable SIREN/SIRET matching: turn Match SIREN & SIRET on when you need company identifiers for HubSpot, Pipedrive, or chaining with French Establishments. Leave it off for the fastest directory-only export. In our tests, ~80% of independent cabinets match with high confidence; network brands may share a holding SIREN — use siret for the local branch.
Which mode to pick: use By city for your first run (fast, cheap, easy to validate). Switch to Full directory when you need a national file (~22k–31k unique firms, ~30–45 min without SIREN enrichment). Use Your URLs when you already have profile links.
Quick start
First run in the Apify Console (~2 minutes)
- Open this Actor → Input tab.
- Mode: leave By city (default — safe for Try for free).
- City: pick Rodez or choose Paris, Lyon, etc. from the dropdown.
- Other city (slug): leave blank unless your commune is not listed (e.g.
annecy). - Match SIREN & SIRET: leave unchecked for a fast preview.
- Max firms: 50 on Try — enough to validate the dataset.
- Click Start (or Try for free).
- Watch
Progress:in the log and the short status line (e.g.Scanning France — 34% · 120 firms saved). - Output → Dataset — open the View dropdown: Outreach CRM for phone + firm names (cold outreach), CRM + SIREN when register matching is on, or Accounting firms for the full default table. Export JSON, CSV, or Excel.
Export all of France
- Mode → Full directory — all of France.
- Max firms → 0 (no row ceiling).
- Optional: enable Match SIREN & SIRET if you need identifiers (adds ~0.3–0.5 s per firm).
- Start — expect ~22k–31k rows and ~30–45 minutes (longer with SIREN matching). Rows appear while the run is still going.
Refresh firms you already know
- Mode → Your URLs — refresh known firms.
- Paste one official profile URL per line.
- Start — skips commune discovery; fetches only the pages you listed.
Run via API
curl -X POST "https://api.apify.com/v2/acts/corent1robert~experts-comptables-annuaire-scraper/runs?token=YOUR_API_TOKEN" \-H "Content-Type: application/json" \-d '{"mode": "cities","cityPreset": "paris","citySlugs": ["lyon"],"maxProfiles": 0,"enrichSiren": true}'
Fetch results:
$curl "https://api.apify.com/v2/datasets/DATASET_ID/items?format=json&token=YOUR_API_TOKEN"
Use maxProfiles: 0 for no row cap. Add "resume": true on full-directory runs to continue after an abort (API-only).
Demo video
Record a 2-minute screencast (Console → Start → Dataset → CSV export). When ready, paste the bare YouTube URL on the line below — Apify auto-embeds it on the Store page.
Step-by-step script: ./docs/DEMO-VIDEO-SCRIPT.md.
Ready-made examples (published tasks)
Four one-click presets for the Apify Examples tab. Publish each task in Console (Tasks → Publication) after a successful cloud run — until then, the links below return 404 (expected).
| Example | Best for |
|---|---|
| Export French accounting firms nationwide for CRM | National CRM file — phones and accountant names |
| Find expert-comptables in Paris with phone numbers | Île-de-France outbound — city preset |
| Match accounting firms to SIREN and SIRET in Lyon | CRM enrichment with register IDs |
| Refresh expert-comptable contacts from your URL list | Update an existing spreadsheet of profile URLs |
Maintainer kit: published-tasks/publication-console.md (copy-paste SEO fields for Console).
What does it extract?
| Category | Fields |
|---|---|
| Identity | Firm name (name), register ID (searchId) |
| People | Accountant full names (accountants array) |
| Location | Street address, postal code, city, latitude / longitude |
| Contact | Phone (from JSON-LD on profile pages) |
| Web & social | Website, LinkedIn, Facebook — when linked on the profile |
| Profile extras | Spoken languages, competences — when shown in HTML |
| Business register (optional) | siren, siret, gouvNomComplet, gouvAdresse, gouvCodeNaf, gouvMatchScore, gouvMatchConfidence, gouvAnnuaireUrl |
| Links | Canonical profile URL, discovery commune slug (citySlug) |
| Metadata | scrapedAt; scrapeError if a row failed partially |
Output shape: one row per firm record in the Dataset. Deduplication uses searchId.
Typical fill rates
Benchmark on a Rodez sample (30 firms, June 2026):
| Field | Fill rate |
|---|---|
name, streetAddress, postalCode, city, profileUrl, phone, latitude, longitude | 100% |
accountants (at least one name on profile) | ~95% |
languages | 100% (Rodez — varies by commune) |
website | ~20% |
linkedinUrl | ~7% |
facebookUrl | ~3% |
email | Not available |
With Match SIREN & SIRET enabled (sample of 120 cabinets without prior SIREN):
| Metric | Rate |
|---|---|
| SIREN + SIRET found | ~89% |
gouvMatchConfidence: high | ~80% |
| No reliable match | ~11% |
Filter CRM imports with gouvMatchConfidence === "high" for the safest automatic match rate.
Three modes (JSON reference)
By city
{"mode": "cities","cityPreset": "paris","citySlugs": ["lyon"],"maxProfiles": 0,"enrichSiren": false}
Use cityPreset in the Console, customCitySlug for unlisted communes, or citySlugs array via API for multiple cities.
Full directory
{"mode": "fullDirectory","maxProfiles": 0,"maxCities": 0,"enrichSiren": true}
Use maxCities: 5 (API) to cap communes during testing.
Your URLs
{"mode": "bulkUrls","profileUrls": ["https://annuaire.experts-comptables.org/expert-comptable/12346-douls-associes-rodez-12000"],"enrichSiren": true}
How it works
- Commune list (full directory only) — loads a bundled index of ~4 679 communes instantly (no network crawl). Use API flag
refreshCommuneIndex: trueto rebuild from the official regional index. - Map scan — collects firm IDs (
searchId) per commune. - Deduplication — merges IDs before export.
- Profile export — fetches each profile page; parses JSON-LD, accountant names, and HTML panels.
- Optional SIREN/SIRET — matches each firm to the official business register (name + address + accountants).
- Dataset — pushes each row immediately so you see results during long runs.
HTTP-only — no browser.
Input (Console vs API)
| Console field | Purpose |
|---|---|
| Mode | By city / Full directory / Your URLs |
| City | By city — dropdown (Paris, Lyon, Rodez, …) |
| Other city (slug) | By city — optional override, e.g. annecy |
| Profile URL(s) | Your URLs — one official link per line |
| Match SIREN & SIRET | Optional business-register matching |
| Max firms | Row cap; 0 = no cap |
API-only options: resume, refreshCommuneIndex, citySlugs, indexConcurrency, verboseLogs, enrichSirenDelayMs, mapConcurrency, maxConcurrency, proxyConfiguration, maxCities, maxRequestRetries, checkpointEveryCommunes.
Output sample
{"searchId": 12346,"name": "DOULS & ASSOCIES","streetAddress": "143 RUE PIERRE CARRERE","postalCode": "12000","city": "Rodez","phone": "05 65 75 77 00","website": "https://www.douls-associes.com/","accountants": ["ARNAUD CLEMENTE","SOPHIE DOULS","PIERRE DOULS","ERIC DUPRE"],"languages": "Français","profileUrl": "https://annuaire.experts-comptables.org/expert-comptable/12346-douls-associes-rodez-12000","citySlug": "rodez","latitude": 44.362079,"longitude": 2.557961,"siren": "305067407","siret": "30506740700059","gouvNomComplet": "DOULS & ASSOCIES","gouvAdresse": "POLE INFORMATIQUE DE LA GINESTE RUE PIERRE CARRERE 12000 RODEZ","gouvCodeNaf": "69.20Z","gouvMatchScore": 0.766,"gouvMatchConfidence": "high","gouvMatchMethod": "nom_cp_naf","gouvAnnuaireUrl": "https://annuaire-entreprises.data.gouv.fr/entreprise/305067407","scrapedAt": "2026-06-17T15:39:27.701Z"}
siren / siret / gouv* fields appear only when Match SIREN & SIRET is enabled and a match is found.
Use profileUrl or searchId as the stable key across runs.
How much does it cost to scrape experts-comptables.org?
This Actor uses pay-per-event pricing on Apify — you pay per exported firm row, not for idle compute. HTTP-only runs keep platform compute low; residential proxy is not required for typical jobs.
| Event | List price (FREE tier) |
|---|---|
Run start (apify-actor-start) | $0 (always free) |
Firm with phone (firm-contact-row) | $0.002 / row |
Firm + SIREN/SIRET (firm-enriched-row) | $0.004 / row |
Firm without phone / errors (firm-basic-row) | $0.001 / row |
Per-row rates by Apify tier (contact row / enriched row):
| Tier | Contact | Enriched |
|---|---|---|
| FREE | $0.002 | $0.004 |
| BRONZE | $0.0018 | $0.0036 |
| SILVER | $0.0016 | $0.0032 |
| GOLD | $0.0014 | $0.0028 |
| PLATINUM | $0.0012 | $0.0024 |
| DIAMOND | $0.001 | $0.002 |
| Scenario | Rows | FREE tier total (rows only) |
|---|---|---|
| Try for free (Rodez, 50 firms) | 50 | ~$0.10 |
| Paris (city export) | ~800 | ~$1.60 |
| Full France (no SIREN) | ~25k | ~$50 |
| Full France + SIREN | ~25k | ~$100 |
Run start is not billed — you only pay per exported row. Configure events in Apify Console → Monetization → Pay per event (checklist: docs/PPE-CONSOLE.md).
Is it legal to scrape experts-comptables.org?
This Actor accesses public pages from the official Ordre register — the same information visible to any visitor. You remain responsible for:
- GDPR and French privacy law when storing professional contact data.
- Direct marketing rules (B2B outreach requires legitimate interest and opt-out respect).
- Terms of use of annuaire.experts-comptables.org.
Use outputs for legitimate professional purposes — B2B services, market research, CRM enrichment — not abusive bulk spam.
Also available — French B2B registers on Apify
| Actor | Best for |
|---|---|
| ORIAS Scraper · French Insurance Broker Leads | Regulated insurance & finance intermediaries — emails, phones, ORIAS numbers |
| French Companies · Search & SIREN Enrich | Deep company data when you already have SIRENs — directors, finances, NAF |
| French Establishments · All Sites by SIREN | One row per SIRET / branch once you have SIRENs |
| Notaires.fr Directory Scraper | Official notary offices — same directory workflow |
| BODACC Legal Announcements Scraper | Creations, insolvencies, business sales by SIREN |
| Houzz FR Professionals Scraper | Architects and builders — city search + website enrichment |
Browse all: apify.com/corent1robert
FAQ
Is this affiliated with the Ordre des experts-comptables?
No. It automates access to public directory pages.
Why is email missing?
The profile uses a Contacter par mail button (separate UI). JSON-LD does not include email.
How accurate is SIREN/SIRET matching?
Independent cabinets: ~80% high confidence in our samples. Network brands (TGS, Baker Tilly, etc.) may resolve to a holding SIREN — use siret and gouvAdresse to validate the local branch. Filter on gouvMatchConfidence: "high" for automatic CRM imports.
How do I find a commune slug?
Open …/recherche/ville/paris on the directory → slug is paris.
Can I enrich an existing CSV offline?
Yes — use scripts/enrich-experts-comptables-siren.mjs in the repo for batch CSV enrichment with the same matching logic.
Support
Custom integrations, larger exports, or CRM wiring: corentin@outreacher.fr
Local development
npm installcp .actor/INPUT.json storage/key_value_stores/default/INPUT.jsonapify runnpm test
Heavy local preset (SIREN on):
$apify run --input-file=./input.example.json
Results: storage/datasets/default/. Unit tests: npm test.
CSV enrichment script:
node scripts/enrich-experts-comptables-siren.mjs \--input ~/Downloads/your-export.csv \--only-missing --sample 100