France Lawyers Scraper: CNB Avocat Directory (Email & Phone) avatar

France Lawyers Scraper: CNB Avocat Directory (Email & Phone)

Pricing

from $17.00 / 1,000 results

Go to Apify Store
France Lawyers Scraper: CNB Avocat Directory (Email & Phone)

France Lawyers Scraper: CNB Avocat Directory (Email & Phone)

Scrape the official CNB directory of ~80,000 French lawyers. Get name, bar (barreau), full address, city, postcode, phone, fax, email, law firm, SIREN, specializations and languages. Filter by name, city, postcode, barreau, spécialité or language. Export to JSON, CSV or Excel.

Pricing

from $17.00 / 1,000 results

Rating

0.0

(0)

Developer

Scrapers Lat

Scrapers Lat

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

France Lawyers Scraper: CNB Avocat Directory (Email & Phone)

France Lawyers Scraper: CNB Avocat Directory (Email & Phone)

Here is one real result, with every field the actor returns:

{
"fullName": "Viviane COULOMB-MESSAGER",
"firstName": "Viviane",
"lastName": "COULOMB-MESSAGER",
"civility": "F",
"barreau": "GRENOBLE",
"barreauId": "0082",
"cnbfCode": "047520",
"email": "viviane.coulomb-messager@avocat.fr",
"phone": "33438700441",
"fax": null,
"address": "93 rue de L'Industrie",
"addressLine2": null,
"postalCode": "38170",
"city": "SEYSSINET PARISET",
"country": "France",
"firmName": "COULOMB-MESSAGER VIVIANE",
"legalForm": "CABI",
"siren": "411091143",
"siret": "41109114300031",
"specializations": [],
"isSpecialist": false,
"languages": ["Français"],
"isSalaried": false,
"barEntryDate": "1997-01-10",
"oathDate": null,
"aiProfileSummary": "Viviane Coulomb-Messager is a dedicated lawyer based in Seyssinet Pariset, practicing at her own firm, Coulomb-Messager Viviane. She specializes in various legal matters and is fluent in French.",
"aiLeadScore": 60,
"aiLeadTier": "B",
"aiLeadRationale": "Viviane has significant experience since 1997 and is reachable, but lacks specialization which may limit her appeal for certain legal-tech or professional services.",
"source": "CNB Annuaire des avocats de France",
"sourceDate": "2026-07-17",
"observedAt": "2026-08-14T07:41:05.328Z"
}

The most complete France lawyers scraper available. It returns every field the official CNB avocat directory exposes for each of the roughly 80,000 French lawyers, including email, phone, firm, SIREN, specializations and languages, plus two optional AI add-ons, and gives you name, city, postcode, barreau, spécialité and language filters to target exactly the lawyers you need.

📥 Input · 📤 Output · 💰 Pricing · ▶️ Examples

Apify Coverage Output Billing

Table of contents

What it does

The actor reads the official CNB (Conseil National des Barreaux) avocat directory, applies the filters you pass as input, and writes one normalized record per lawyer to the run's dataset. Each record carries the lawyer's name and civility, their bar (barreau), the office address split into street, postcode and city, direct contact details (email, phone, fax), the law firm with its legal form and SIREN/SIRET, official specializations, spoken languages and bar entry date. Missing source values are returned as null.

Coverage is the roughly 80,000 lawyers registered across the 164 French bars. Two optional AI add-ons write an outreach-ready profile (withAiProfileSummary) and a B2B lead score with tier and rationale (withAiLeadScore); both are billed only on usable output and require a paid Apify plan.

Quickstart

Open the actor, paste this into the input, and press Run. It returns up to 3 lawyers matching Paris.

{
"cities": ["Paris"],
"maxLawyers": 3
}

Every input field is optional. Filters are accent-insensitive and match on contains, so cities: ["Paris"] also matches office cities that contain the term. Combine barreaux, postalCodes, specializations and languages to narrow, and set specialistsOnly to keep only certified specialists.

Input reference

FieldTypeRequiredDefaultDescription
barreauxstring[]no["PARIS"]Keep only lawyers registered at these bars, for example PARIS, LYON, MARSEILLE. Accent-insensitive, contains match.
citiesstring[]no(empty)Keep only lawyers whose office city matches one of these (accent-insensitive).
postalCodesstring[]no(empty)Keep only lawyers whose postcode starts with one of these, for example 75, 69, 13008.
namesstring[]no(empty)Keep only lawyers whose first or last name contains one of these terms.
specializationsstring[]no(empty)Keep only lawyers holding one of these CNB specializations, for example Droit du travail, Droit de la famille.
languagesstring[]no(empty)Keep only lawyers who list one of these spoken languages, for example Anglais, Espagnol.
specialistsOnlybooleannofalseKeep only lawyers who hold at least one official specialization certificate.
maxLawyersintegerno50Maximum lawyer records to return. Free plans are capped at 10.
withAiProfileSummarybooleannofalseAI outreach-ready profile of each lawyer. Billed per enriched record; paid plans only.
withAiLeadScorebooleannofalseAI lead qualification score (0 to 100), tier and rationale. Billed per enriched record; paid plans only.

Filters combine with logical AND. With no filters at all the actor returns the first lawyers from the directory up to maxLawyers.

Output reference

One dataset item per lawyer. Types: string, boolean, string[], integer, or null when the source value is absent.

FieldTypeDescription
fullNamestringLawyer full name.
firstNamestringFirst name.
lastNamestringLast name.
civilitystringCivility code, for example F or M.
barreaustringBar (barreau) of registration.
barreauIdstringBar identifier code.
cnbfCodestringCNBF identifier code.
emailstringLawyer email address.
phonestringPhone number.
faxstringFax number, or null.
addressstringOffice street address.
addressLine2stringSecond address line, or null.
postalCodestringOffice postcode.
citystringOffice city.
countrystringCountry (France).
firmNamestringLaw firm name.
legalFormstringFirm legal form, for example SARL, CABI.
sirenstringFirm SIREN.
siretstringFirm SIRET, or null.
specializationsstring[]Official CNB specializations held.
isSpecialistbooleanWhether the lawyer holds at least one specialization certificate.
languagesstring[]Spoken languages.
isSalariedbooleanWhether the lawyer is salaried.
barEntryDatestringDate of entry to the bar.
oathDatestringOath date, or null.
aiProfileSummarystringAI outreach-ready profile (add-on).
aiLeadScoreintegerAI lead score 0 to 100 (add-on).
aiLeadTierstringAI lead tier (add-on).
aiLeadRationalestringAI one-sentence lead rationale (add-on).
sourcestringData source label.
sourceDatestringDate of the source directory snapshot.
observedAtstringISO 8601 timestamp of when the record was collected.

Example output record

Real record from a live run without AI add-ons (input {"cities":["BORDEAUX"],"languages":["Espagnol"],"maxLawyers":6}):

{
"fullName": "Matthieu BARANDAS",
"firstName": "Matthieu",
"lastName": "BARANDAS",
"civility": "M",
"barreau": "BORDEAUX",
"barreauId": "0035",
"cnbfCode": "083015",
"email": "barandas@tgb-avocats.fr",
"phone": "33535140081",
"fax": "33535140090",
"address": "55 rue du Loup",
"addressLine2": null,
"postalCode": "33000",
"city": "BORDEAUX",
"country": "France",
"firmName": "GALINAT BARANDAS",
"legalForm": "SARL",
"siren": "452053457",
"siret": null,
"specializations": ["Droit du sport"],
"isSpecialist": true,
"languages": ["Espagnol", "Français"],
"isSalaried": false,
"barEntryDate": "2006-01-10",
"oathDate": null,
"source": "CNB Annuaire des avocats de France",
"sourceDate": "2026-07-17",
"observedAt": "2026-08-06T16:27:41.783Z"
}

Run via API and CLI

Start a run and wait for it to finish, then read the dataset. Replace <TOKEN> with your Apify API token.

Run synchronously and get dataset items in one call:

curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~france-lawyers-cnb-scraper/run-sync-get-dataset-items?token=<TOKEN>" \
-H "Content-Type: application/json" \
-d '{"barreaux":["PARIS"],"specializations":["Droit du travail"],"maxLawyers":25}'

Start a run asynchronously:

curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~france-lawyers-cnb-scraper/runs?token=<TOKEN>" \
-H "Content-Type: application/json" \
-d '{"cities":["BORDEAUX"],"languages":["Espagnol"],"maxLawyers":100}'

Apify CLI:

apify call scrapers_lat/france-lawyers-cnb-scraper \
--input '{"postalCodes":["75"],"specialistsOnly":true}'

Fetch results

Every run writes to a dataset. Fetch items as JSON, CSV, or Excel by changing format:

# JSON
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=json"
# CSV
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=csv"
# Paginate large datasets
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&offset=1000&limit=1000"

<DATASET_ID> is returned as defaultDatasetId in the run object. Use offset and limit to page through large result sets. clean=true drops empty and internal fields.

Billing and limits

  • Pay per result. You are charged per lawyer record returned (result event). See the pricing tab for the current per-result price.
  • AI add-ons. withAiProfileSummary and withAiLeadScore are billed separately per successfully processed record and require a paid Apify plan. They are skipped for free users.
  • No charge on failure. If a run errors or matches nothing, the actor writes a single item with an error field and does not charge for it. Empty runs cost nothing.
  • Spend cap respected. Set maxTotalChargeUsd on the run; once reached, the actor stops emitting and charging further billable results.
  • Free Apify plans are capped at 10 lawyers per run. Upgrade for higher maxLawyers.

FAQ and troubleshooting

A run returned 0 records. Why? The filter combination matched nothing in the directory. Loosen filters (for example drop the specialization or widen the postcode), or check the spelling. Filters are accent-insensitive and match on contains. Zero-result runs are not charged.

Why did a city filter return a lawyer in a different town? Filters match on contains, so a city term can match an office city that contains it (for example Paris matches SEYSSINET PARISET). Add a postalCodes prefix for tighter geographic targeting.

How do I get only certified specialists? Set specialistsOnly to true, or pass one or more specializations. The isSpecialist flag and specializations array mark certified lawyers.

Why is fax or siret null on some lawyers? Not every lawyer lists a fax, and not every firm exposes a SIRET. Missing source values are returned as null, never invented.

What do the AI fields do? withAiProfileSummary writes an outreach-ready profile, and withAiLeadScore scores each lawyer as a B2B lead with a tier and rationale. Both are optional, billed on usable output, and require a paid plan.

Is this an official CNB tool? No. This actor is independent and has no affiliation with the Conseil National des Barreaux. It reads only publicly available directory data. Use the results in accordance with the source's terms.

More scrapers at scrapers.lat

Built and maintained by scrapers.lat, where we publish scrapers for US and Latin American public platforms: company registries, government data, finance, e-commerce and more. Browse the catalog or request a custom scraper at scrapers.lat.


Independent tool, not affiliated with the Conseil National des Barreaux. Accesses only publicly available directory data. Use the results in accordance with the source's terms.