PagesJaunes Scraper — French Business Directory & Contact Info avatar

PagesJaunes Scraper — French Business Directory & Contact Info

Pricing

Pay per usage

Go to Apify Store
PagesJaunes Scraper — French Business Directory & Contact Info

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

Studio Amba

Maintained by Community

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

ParameterTypeDefaultDescription
searchQuerystring"plombier"Business type or profession to search for (e.g., "restaurant", "dentiste", "electricien")
locationstring"Paris"City name or postal code (e.g., "Lyon", "75011", "Marseille 13001")
startUrlsarrayPagesJaunes search result or category page URLs. Overrides searchQuery/location when provided
maxResultsinteger100Maximum number of results to return (1–10,000)
scrapeDetailsbooleanfalseVisit each business's detail page for opening hours, description, email, and SIRET number
proxyConfigurationobjectResidential proxiesProxy settings. Residential proxies are required — datacenter proxies will be blocked

Tips for best results

  • Start small, then scale: test with maxResults: 10 to verify output before running thousands of results
  • Use specific locations: "Paris 75011" returns more targeted results than just "Paris"
  • Enable scrapeDetails selectively: listing pages already include name, address, phone, rating, and GPS. Only enable detail scraping when you need opening hours, SIRET, descriptions, or emails
  • Use startUrls for 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.

ScenarioEst. costTime
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 ApifyClient
client = 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.

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:

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.