French Accountants · Expert-Comptable Directory
Pricing
from $1.40 / 1,000 accounting firm with phones
French Accountants · Expert-Comptable Directory
Official Ordre directory: firm name, address, phone, accountant names, optional SIREN. No email — the register does not publish it. By city or France-wide. No login. CRM-ready JSON, CSV, Excel.
Pricing
from $1.40 / 1,000 accounting firm with phones
Rating
0.0
(0)
Developer
Corentin Robert
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
0
Monthly active users
3 days ago
Last modified
Categories
Share
French Accountants Directory — phones from the Ordre (no email)
Export the official French expert-comptable register — firm names, addresses, phones, accountant names, SIREN/SIRET, and the named director (gérant / président). Ready for call lists, CRM, or market research.
Email is not in this dataset. The Ordre profile is a Contacter par mail button, not a public address. Need emails? Use French Lawyers or ORIAS instead.
Stop copying annuaire.experts-comptables.org by hand. This Actor reads the public Ordre directory over plain HTTP. Run by commune, nationwide, or from profile URLs. Download JSON, CSV, or Excel.
No login. No API key.
Optional SIREN/SIRET matching uses the public French business register (gouvMatchConfidence). Comply with Ordre 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 matching: leave Match SIREN, SIRET & directors on (default) so each row includes the named gérant / président — that is the inbox-ready person when the Ordre only publishes a switchboard phone. Turn it off only 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 call list — phones, no email |
| 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 |
|---|---|
| French Lawyers · CNB Directory | Official avocat emails, phones, SIREN |
| 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 official profile does not publish an email. Only a Contacter par mail form. This Actor does not guess or scrape mailboxes. Use phone (near-100% fill) for outreach.
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