PagesJaunes Leads, Reviews & Local SEO Scraper avatar

PagesJaunes Leads, Reviews & Local SEO Scraper

Pricing

from $3.00 / 1,000 business records

Go to Apify Store
PagesJaunes Leads, Reviews & Local SEO Scraper

PagesJaunes Leads, Reviews & Local SEO Scraper

Scrape PagesJaunes business leads across France with phone numbers, websites, addresses, ratings, reviews, opening hours, and SIRET/SIREN data.

Pricing

from $3.00 / 1,000 business records

Rating

0.0

(0)

Developer

Inus Grobler

Inus Grobler

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

2

Monthly active users

3 days ago

Last modified

Share

Scrape PagesJaunes business listings and build structured French B2B lead lists with phone numbers, websites, addresses, ratings, reviews, opening hours, and SIRET/SIREN data.

Enter a business type, a location in France, and the number of results you need. The Actor searches PagesJaunes, removes duplicates, and returns ready-to-download lead data. Fast search-card extraction is the default; full public profile enrichment is optional. No PagesJaunes account or third-party data API is required.

Why use this PagesJaunes scraper?

  • Build targeted French business lead lists by profession and location
  • Find public phone numbers and company websites without manual copy-and-paste
  • Compare local competitors using ratings, review counts, categories, and services
  • Collect SIRET, SIREN, NAF code, and legal-form data when PagesJaunes displays it
  • Export clean results to CSV, Excel, JSON, XML, RSS, or JSONL
  • Optionally look for public business email addresses on listed company websites

PagesJaunes data you can collect

  • Business name, description, category, and PagesJaunes URL
  • Address, postal code, city, coordinates, phone, and website
  • SIRET, SIREN, NAF code, and legal form when displayed
  • Opening hours and visible business status
  • Rating, review count, and public review snippets shown on the profile
  • Public business email addresses when optional website enrichment is enabled

Input: how to scrape PagesJaunes business leads

For a normal run, fill in only three fields:

  1. What type of business? — for example, plombier or dentiste.
  2. Where in France? — for example, Paris 75000 or Lyon 69000.
  3. How many businesses? — the maximum number of rows you want.
{
"query": "plombier",
"location": "Paris 75000",
"maxItems": 25
}

That is enough for a fast, economical lead list. Add "includeDetails": true when you need the richer profile fields. Adding a postal code gives the clearest location match.

FieldDescriptionDefault
queryProfession, service, or business categoryplombier
locationFrench city, area, or postal codeParis 75000
maxItemsMaximum unique businesses returned1
includeDetailsVisit every profile for websites, legal identifiers, hours, ratings, and reviewsfalse
includeReviewSnippetsInclude reviews when full details are enabledtrue
enrichEmailsFromWebsiteVisit the listed public business website to find email addresses; automatically enables full detailsfalse

The Advanced options section supports direct PagesJaunes URLs, multiple searches, page limits, review limits, and browser tuning. Most users can leave it unchanged. Direct URLs or multiple searches replace the simple search fields rather than adding unexpected extra results.

Residential proxy access is preconfigured because PagesJaunes may present automated-access challenges. Start with fast mode and a small result count, check the output, and enable full details only when the additional fields are worth the extra runtime and proxy traffic.

The Actor is tuned for 1,024 MB RAM and maxConcurrency: 1. That is the smallest reliable Chromium configuration and the fastest, lowest-cost concurrency found in cloud stress tests. Higher concurrency can trigger source throttling and cost more; use 2 GB only if you deliberately raise concurrency to 3 after testing your own workload. Fast mode commonly completes small searches in seconds. Full-detail mode opens one additional page per business and therefore takes materially longer. The default 15-minute timeout is a safety ceiling—successful runs stop as soon as collection finishes. For unusually large inputs, raise the run timeout explicitly and scale in measured batches.

PagesJaunes scraper output

The default dataset contains one row per business. Fast mode fills the fields available on the search card and leaves unavailable enrichment fields empty. With Collect full business details enabled, a row can look like this:

{
"businessId": "123-plomberie-durand",
"name": "Plomberie Durand",
"profileUrl": "https://www.pagesjaunes.fr/pros/123-plomberie-durand",
"sourceUrl": "https://www.pagesjaunes.fr/annuaire/paris-75000/plombier",
"searchQuery": "plombier",
"locationQuery": "Paris 75000",
"address": "10 rue de Paris, 75001 Paris",
"postalCode": "75001",
"city": "Paris",
"phone": "01 23 45 67 89",
"website": "https://example.fr/",
"siret": "12345678901234",
"rating": 4.8,
"reviewCount": 27,
"reviewSnippets": [
{
"author": "Alice",
"rating": 5,
"text": "Intervention rapide et soignée.",
"date": "2026-08-01"
}
],
"scrapedAt": "2026-09-10T12:00:00.000Z",
"completenessScore": 90
}

The most useful columns are:

ColumnMeaning
nameBusiness name
phone, website, emailAvailable public contact details
address, city, postalCodeBusiness location
rating, reviewCountPagesJaunes reputation summary
siret, siren, nafCodeFrench business identifiers when displayed
profileUrlSource PagesJaunes business page
completenessScorePercentage of key fields found, from 0 to 100

The Dataset tab starts with a clean overview of the main lead fields. You can preview the rows or download JSON, CSV, Excel, XML, RSS, or JSONL. The Actor output also contains direct links to JSON results, CSV results, and RUN_SUMMARY diagnostics.

Common use cases

  • B2B lead generation: find plumbers, dentists, restaurants, agencies, tradespeople, and other businesses in a French city or postal area.
  • Local SEO research: compare categories, reviews, ratings, services, and listing completeness across local competitors.
  • Sales prospecting: export public business contact details for qualification and CRM research.
  • Market analysis: measure the number and profile of businesses serving a location or category.
  • Directory monitoring: create timestamped snapshots of opening hours, ratings, review counts, and business details.

Pricing and usage costs

The Actor charges $0.003 per business record ($3 per 1,000 results), plus the Apify platform resources and French Residential Proxy traffic consumed by the run. You can set a maximum charge before starting a run; collection stops gracefully when that limit is reached.

Fast mode uses only search-result pages and is the economical default. Full details add one profile request per business, while email enrichment can add several bounded requests to the listed public website. Start with a small maxItems value before scaling either enrichment option. Apify displays the final event and platform-usage charges on the run page.

Use from Python

from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
actor = client.actor("thescrapelab/pagesjaunes-leads-reviews-scraper")
run = actor.call(run_input={
"query": "plombier",
"location": "Paris 75000",
"maxItems": 25,
"includeDetails": True,
})
for business in client.dataset(run["defaultDatasetId"]).iterate_items():
print(business["name"], business.get("phone"), business["profileUrl"])

Run statuses

  • SUCCEEDED: requested businesses were collected without request or enrichment failures.
  • PARTIAL: useful records were returned, but one or more requests or optional enrichments failed.
  • NO_RESULTS: PagesJaunes was reached successfully but the search returned no usable listings.
  • LIMIT_REACHED: useful records were returned and collection stopped at your maximum charge.
  • BLOCKED: the source continued to show a security challenge after bounded session rotation.
  • FAILED: no usable result could be produced because of a non-blocking runtime error.

FAQ

Do I need a PagesJaunes API or account?

No. The Actor reads information displayed on public PagesJaunes search and business-profile pages.

Can I search anywhere in France?

Yes. Enter a French city, area, or postal code. Combining the city and postal code, such as Lyon 69000, normally gives the clearest location match.

Does every result include an email address?

No. PagesJaunes does not consistently display email addresses. Enable Look for business emails to check the public company website. This automatically enables full profile details, but an email is returned only when one is publicly available.

Why did I receive fewer results than requested?

The source may have fewer matching businesses, duplicate listings, unavailable profiles, or a limited number of result pages. Increase Maximum search pages in Advanced options when more PagesJaunes pages are available.

Support

If a run returns unexpected results, first check that the business term is suitable for a French directory and add a postal code to the location. When reporting a persistent problem through the Actor's Issues tab, include the Apify run ID and a non-sensitive example of the input so the run can be investigated.

Responsible use and limitations

This independent Actor collects only information displayed on public business-search and profile pages. It does not access private accounts, personal reverse lookup, contact forms, dedicated review endpoints, or hidden/private data. Email enrichment is limited to public business websites and never submits forms.

Source markup and availability can change. Use reasonable limits, comply with applicable terms and laws, and do not use exported contact data for unlawful or unsolicited activity. This Actor is not affiliated with PagesJaunes or Solocal.