PagesJaunes Scraper — French Business Directory & Contact Info
Pricing
Pay per usage
PagesJaunes Scraper — French Business Directory & Contact Info
Scrape business listings, phone numbers, addresses, ratings, and opening hours from PagesJaunes.fr — France's #1 business directory.
Pricing
Pay per usage
Rating
0.0
(0)
Developer
Studio Amba
Actor stats
0
Bookmarked
2
Total users
2
Monthly active users
5 days ago
Last modified
Categories
Share
PagesJaunes Scraper
Extract business listings from PagesJaunes.fr — France's #1 business directory (Yellow Pages) — into structured JSON with names, phone numbers, addresses, ratings, opening hours, SIRET numbers, and GPS coordinates.
What is PagesJaunes Scraper?
PagesJaunes Scraper lets you extract structured business data from France's largest professional directory, helping you build lead lists, analyze local markets, and automate B2B prospecting — all without manual browsing or copy-pasting.
- Generate B2B leads at scale: extract business names, phone numbers, emails, and websites for any profession in any French city — ready for your CRM or outreach tool
- Analyze local competition: map business density, average ratings, and review counts by area to find underserved markets or evaluate competitive pressure
- Monitor directory listings: schedule daily runs to track new businesses appearing in your category, spot closures, or detect rating changes
- Enrich existing datasets: add phone numbers, addresses, SIRET registration numbers, and GPS coordinates to your business database
- Power location intelligence: use latitude/longitude data to build maps, calculate service areas, or feed geospatial models
PagesJaunes.fr has no public API and no bulk export feature. This scraper is the only way to get structured data out of the platform at scale. No other Apify actor covers PagesJaunes.
What data does PagesJaunes Scraper extract?
🏢 Business name — company or professional name 📍 Full address — street, postal code, and city 📞 Phone number — direct business line 🌐 Website — company URL 📧 Email — contact email (detail pages only) 🏷️ Category — business activity or profession ⭐ Rating — average score out of 5 💬 Review count — number of customer reviews 🗺️ GPS coordinates — latitude and longitude for mapping 🕐 Opening hours — day-by-day schedule (detail pages only) 📝 Description — business description text (detail pages only) 🔢 SIRET number — French business registration ID (detail pages only) 🔗 Direct URL to the listing on PagesJaunes.fr 🕒 Scraped at — timestamp for data freshness tracking
How to scrape PagesJaunes.fr businesses
The input is simple: set a search query and location, then hit run. You can also provide PagesJaunes search result URLs directly.
Input parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
| searchQuery | string | "plombier" | Business type or profession to search for (e.g., "restaurant", "dentiste", "electricien") |
| location | string | "Paris" | City name or postal code (e.g., "Lyon", "75011", "Marseille 13001") |
| startUrls | array | — | PagesJaunes search result or category page URLs. Overrides searchQuery/location when provided |
| maxResults | integer | 100 | Maximum number of results to return (1–10,000) |
| scrapeDetails | boolean | false | Visit each business's detail page for opening hours, description, email, and SIRET number |
| proxyConfiguration | object | Residential proxies | Proxy settings. Residential proxies are required — datacenter proxies will be blocked |
Tips for best results
- Start small, then scale: test with
maxResults: 10to verify output before running thousands of results - Use specific locations: "Paris 75011" returns more targeted results than just "Paris"
- Enable
scrapeDetailsselectively: listing pages already include name, address, phone, rating, and GPS. Only enable detail scraping when you need opening hours, SIRET, descriptions, or emails - Use
startUrlsfor precision: paste PagesJaunes search URLs directly when you need exact control over categories and filters - Schedule weekly runs to keep your business database current — new listings appear daily across all categories
Output
Results are stored in a dataset that you can download in JSON, CSV, Excel, XML, or HTML format directly from the Apify Console.
JSON example
{"name": "Durand Plomberie & Chauffage","address": "47 Rue Oberkampf","city": "Paris","postalCode": "75011","phone": "01 43 57 82 14","website": "https://www.durand-plomberie.fr","email": "contact@durand-plomberie.fr","url": "https://www.pagesjaunes.fr/pros/07428319","category": "Plombier","rating": 4.2,"reviewCount": 47,"latitude": 48.8634,"longitude": 2.3789,"openingHours": {"Lundi": "08:00 - 19:00","Mardi": "08:00 - 19:00","Mercredi": "08:00 - 19:00","Jeudi": "08:00 - 19:00","Vendredi": "08:00 - 19:00","Samedi": "09:00 - 13:00"},"description": "Entreprise de plomberie et chauffage depuis 2003. Intervention rapide sur Paris 11e et arrondissements limitrophes. Devis gratuit.","siret": "44928371600024","scrapedAt": "2026-04-04T12:00:00.000Z"}
How much does it cost to scrape PagesJaunes?
PagesJaunes Scraper uses HTTP requests with residential proxies, keeping costs low while maintaining reliability against Cloudflare protection.
| Scenario | Est. cost | Time |
|---|---|---|
| 100 businesses (listing only) | ~$0.10 | ~30 sec |
| 1,000 businesses (listing only) | ~$1.00 | ~3 min |
| 1,000 businesses with detail pages | ~$2.50 | ~8 min |
| 5,000 businesses with detail pages | ~$12.50 | ~35 min |
Pricing breakdown:
- Per result (listing only): ~$0.001
- Per result (with details): ~$0.004
Can I integrate PagesJaunes Scraper with other apps?
Yes. PagesJaunes Scraper connects with any tool through Apify integrations:
- Google Sheets — automatically export business listings to a spreadsheet
- Slack / Email — get notified when new businesses match your criteria
- Zapier / Make — trigger workflows when data is ready
- Airtable — build a searchable business directory
- REST API — call the scraper programmatically from any language
- Webhooks — get notified when a run finishes
Can I use PagesJaunes Scraper as an API?
Yes. Use the Apify API to run PagesJaunes Scraper programmatically.
Python:
from apify_client import ApifyClientclient = ApifyClient("YOUR_API_TOKEN")run = client.actor("studio-amba/pagesjaunes-scraper").call(run_input={"searchQuery": "restaurant","location": "Lyon","maxResults": 200,"scrapeDetails": True,})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(f"{item['name']} — {item['phone']} — {item['rating']}/5")
JavaScript:
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });const run = await client.actor('studio-amba/pagesjaunes-scraper').call({searchQuery: 'restaurant',location: 'Lyon',maxResults: 200,scrapeDetails: true,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Check the API tab for full documentation.
FAQ
What is PagesJaunes.fr?
PagesJaunes.fr (now part of Solocal Group) is France's largest online business directory — the digital successor to the iconic Yellow Pages. It lists millions of businesses across every profession and city in France, with contact details, reviews, and opening hours.
How does PagesJaunes Scraper work?
It sends HTTP requests to PagesJaunes search pages using residential proxies and extracts structured data from the results. Optionally, it visits individual business detail pages for richer data like opening hours, SIRET numbers, and descriptions. No browser automation is needed for listing pages, keeping it fast and affordable.
What is a SIRET number?
SIRET (Systeme d'Identification du Repertoire des Etablissements) is the unique 14-digit identifier assigned to every business establishment in France. It's essential for B2B verification, legal compliance, and company research. Enable scrapeDetails: true to extract SIRET numbers.
Can I search by postal code instead of city name?
Yes. The location field accepts both city names ("Paris", "Lyon") and postal codes ("75011", "69001"). Postal codes often give more precise results for specific neighborhoods.
Why are some fields empty?
Fields like email, openingHours, description, and siret are only available on detail pages. Set scrapeDetails: true to extract them. Even with detail scraping, some businesses simply don't list all information on PagesJaunes.
How often should I run this scraper?
For lead generation, weekly runs are usually sufficient. For competitive monitoring or real-time business intelligence, daily runs ensure you catch new listings and changes quickly.
Is it legal to scrape PagesJaunes?
This scraper extracts publicly available business data that PagesJaunes.fr displays to all visitors. The data is factual (names, addresses, phone numbers, ratings) and consists of professional business information. As with any scraping tool, use the data responsibly and in compliance with applicable laws including GDPR.
Limitations
- France only. PagesJaunes.fr covers French businesses exclusively.
- Residential proxies required. PagesJaunes uses Cloudflare anti-bot protection — datacenter proxies will be blocked.
- Phone numbers may be partial. Some listings use click-to-reveal phone numbers; the scraper extracts what's visible on the page.
- Email, opening hours, SIRET, and description require
scrapeDetails: true, which increases run time and cost. - Rate limiting. The actor uses controlled concurrency (max 3 concurrent pages) to avoid triggering blocks. Very large runs may take longer as a result.
Other French data scrapers
Combine PagesJaunes Scraper with these actors for comprehensive French market coverage:
- 🍽️ Resto Scraper — French restaurant data (menus, reviews, prices)
- 🏠 Logic-Immo Scraper — French real estate listings
Your feedback
Found a bug or have a feature request? Please open an issue on the Issues tab. We actively maintain this scraper and respond to all reports.