PagesJaunes · Email & Website Scraper from URL
Pricing
from $0.56 / 1,000 business with phones
PagesJaunes · Email & Website Scraper from URL
Paste a PagesJaunes search or /pros/ URL. Get emails when published, websites, phones and SIRET — one row per business, ready for CRM. No login.
Pricing
from $0.56 / 1,000 business with phones
Rating
0.0
(0)
Developer
Corentin Robert
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Paste a PagesJaunes directory or search URL (we paginate) or /pros/ listing URLs. One row per business: email when published, website, phones, SIRET, NAF — ready for CRM.
No login. No API key. Public directory only.
Who is this for?
| You are… | Typical goal | Suggested setup |
|---|---|---|
| Local outbound / SDR | Call lists of kinés, opticians, restaurants | Paste a directory URL, 20–200 rows |
| Franchise / network scout | Map a vertical in one city | One trade, raise max items |
| Agency / CRM ops | Enrich a territory file with phones and SIRET | Outreach / CRM dataset view |
| Market research | Count and locate shops | Overview view, skip nothing |
What you get by default: name, address, PagesJaunes profile URL, public phones when the fiche publishes them, SIRET / NAF / SIREN when the “Infos financières” block is present. List pages do not include phones — each row opens the public profile.
What we do not invent: emails. PagesJaunes rarely shows a mailbox on the fiche. Turn on Find email on the business website to look for a public address on the company site (same idea as HelloAsso). Empty website means the listing did not publish one.
Quick start
- Open the Actor in Apify Console.
- On pagesjaunes.fr, search a trade + city (or open a fiche).
- Paste the URL:
- Directory / search URL — we paginate the list and open each fiche.
- Listing URL (
/pros/{id}) — we scrape only those fiches.
- Leave Max businesses at 20 for a first run.
- Click Start. Open the Dataset while it fills.
Ready-made examples (published tasks)
| Example | Best for |
|---|---|
| Physiotherapists in Lyon | Health outbound, phones + SIRET |
| Opticians in Paris | Retail / optical networks |
| Restaurants in Marseille | Local hospitality lists |
| Sport shops in Bordeaux | Retail territory mapping |
What it extracts
| Category | Fields |
|---|---|
| Identity | name, epj, listingUrl, activity |
| Address | street, city, postalCode, department, address |
| Contact | phone, phones[], website, email, emailSource |
| Company | siret, siren, naf, legalForm |
| Extra | description, latitude, longitude, openingHours, imageUrl |
Fill rates from a Lyon physiotherapist spike (8 profiles): 8/8 phones, 6/8 SIRET + NAF. Coverage varies by vertical — restaurants publish SIRET less often than regulated health listings.
Input
| Field | What it does |
|---|---|
searchUrls | PagesJaunes directory or search URL(s). We paginate. |
listingUrls | Direct /pros/{id} fiche URL(s). No directory crawl. |
maxItems | Row cap. 0 = no ceiling. Free plan: 20 / run |
enrichFromWebsite | HTTP(S) on the business website for a published mailbox. Off by default. |
API-only: proxyConfiguration, maxConcurrency (1–12, default 8). Cloud runs use Apify Proxy by default.
Example — paginate a directory
{"searchUrls": ["https://www.pagesjaunes.fr/annuaire/lyon-69/masseurs-kinesitherapeutes"],"maxItems": 20}
Example — specific fiches
{"listingUrls": ["https://www.pagesjaunes.fr/pros/53957648"]}
Output example
{"name": "Claire Heberling","epj": "53957648","listingUrl": "https://www.pagesjaunes.fr/pros/53957648","activity": "Physiotherapists (kinés)","street": "11 Antoine Lumière","city": "Lyon","postalCode": "69008","phone": "06 86 79 56 68","phones": ["06 86 79 56 68"],"email": "contact@cabinet-exemple.fr","emailSource": "business-website","siret": "49247814400040","siren": "492478144","naf": "8690E","country": "FR"}
How to use
- Paste a PagesJaunes directory or listing URL.
- Set
maxItems(20 for a trial). - Run. Rows appear as each public profile is parsed.
- Export Dataset as JSON / CSV / Excel.
How it works
- Open the public SEO directory (browser — Cloudflare blocks plain HTTP).
- Read listing JSON-LD (name, address, profile id).
- Open each
/pros/{id}fiche for phones, SIRET and NAF. - If Find email on the business website is on and the listing has a site, fetch homepage + contact / mentions légales over HTTP(S).
- Deduplicate by PagesJaunes id and push immediately.
Typical trial (20 rows): about 1–2 minutes after Chrome starts, not 10. Large paid runs take several minutes because each lead needs a profile page.
How much does it cost to scrape PagesJaunes?
Pay per saved business (plus a tiny Actor start). Comparable PagesJaunes Actors on the Store typically list $0.80–$1.00 per 1,000 rows. This Actor matches the floor on phone leads and only charges more when a real mailbox is found.
| Event (Free) | Per row | Per 1,000 |
|---|---|---|
| Business with phone (default, primary) | $0.0008 | $0.80 |
| Business with email (fiche or website) | $0.0015 | $1.50 |
| Business without phone | $0.0004 | $0.40 |
| Actor start | $0.00005 / GB | — |
| Scenario | Approx. cost (Free) |
|---|---|
| 20 rows with phone (trial) | ~$0.016 + start |
| 20 rows with email | ~$0.03 + start |
| 1,000 rows with phone | ~$0.80 + start |
| 1,000 rows with email | ~$1.50 + start |
Bronze → Diamond pay less per row. Datacenter Apify Proxy on cloud is enough in our tests (no residential required).
Is it legal to scrape PagesJaunes?
This Actor only reads public PagesJaunes directory pages. Listings can contain personal data (names, phones). You must have a lawful basis (GDPR / ePrivacy) for your use case — typically B2B outreach to professionals. We do not bypass logins or paid walls.
Local development
cd pagesjaunes-local-leadsnpm installnpm testapify run --purge
Default input is in .actor/INPUT.json (Lyon physiotherapists, 8 rows). Local apify run is not capped at 20.
Also available
HelloAsso · French Association Directory — public association names, cities and profile URLs.
Support
Contact corentin@outreacher.fr if you need a custom scraper or a tailored trade mapping.