PagesJaunes Scraper: French Business Leads, Phones & SIRET avatar

PagesJaunes Scraper: French Business Leads, Phones & SIRET

Pricing

from $0.50 / 1,000 businesses

Go to Apify Store
PagesJaunes Scraper: French Business Leads, Phones & SIRET

PagesJaunes Scraper: French Business Leads, Phones & SIRET

PagesJaunes scraper (Pages Jaunes, pagesjaunes.fr): French business leads by activity and city with full phone number, address, rating and website, plus SIRET, NAF, legal form, hours and GPS. Excel and CSV export. French proxies included.

Pricing

from $0.50 / 1,000 businesses

Rating

0.0

(0)

Developer

Firsthand

Firsthand

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Extract French businesses from PagesJaunes (Pages Jaunes, the French Yellow Pages) by activity and place: name, activity, address, the full phone number, rating, reviews, website and description. Turn on company details to add SIRET, SIREN, NAF code, legal form, creation date, every phone number, opening hours and GPS. Download as Excel, CSV or JSON, or call the Actor through the API.

What you get

  • Business: name, activity, full address with postal code and city, full phone number when listed (the one behind "Afficher le N°"), PagesJaunes rating and number of reviews, Google rating when PagesJaunes shows it, website when listed, description, services, link to the PagesJaunes page.
  • With "Add SIRET, NAF, website, hours and GPS" on, each company page adds: SIRET and SIREN, NAF code, legal form, creation date, website, every phone number, opening hours by weekday, latitude and longitude.
  • With "Visit company website" on, the Actor also opens the company's own website (home page plus up to 5 pages: contact, mentions légales, à propos, équipe) and adds the email PagesJaunes does not show, other emails found on the site, the TVA intracommunautaire number, links to Facebook, Instagram, LinkedIn, YouTube and TikTok, and whether the email domain has a mail server. In a test run 15 of 30 electricians in Bordeaux got an email this way. Most websites come from the company page, so turn on company details as well; without them only a few rows have a website to visit.

How to use it

  1. Type what you are looking for (plombier, restaurant, avocat, a company name) and one or more places (Paris, Lyon, Gironde, 33000). Every query runs in every place.
  2. Or paste PagesJaunes links: search pages, listing pages like https://www.pagesjaunes.fr/annuaire/paris-75/plombiers, or company pages https://www.pagesjaunes.fr/pros/12345678.
  3. Set limits per query and in total, run, and download the dataset.

Extraction Pages Jaunes vers Excel

Every run saves a table you can download as Excel, CSV, JSON or HTML from the Storage tab, or fetch through the Apify API. One row is one business, in the order PagesJaunes shows them. A business that appears on several result pages (sponsored entries repeat on every page) is returned and charged once.

Example output

{
"id": "64217247",
"name": "SOS Plomberie 92",
"category": "dépannage plomberie",
"address": "10 rue Marceau 92130 Issy les Moulineaux",
"postalCode": "92130",
"city": "Issy les Moulineaux",
"street": "10 rue Marceau",
"rating": 4.4,
"reviewsCount": 7,
"partnerRating": {
"source": "Google",
"rating": 5,
"reviewsCount": 28
},
"description": "Pourquoi me faire confiance 15 ans d’expérience dans le métier Assurance décimale pour une tranquillité totale Intervent...",
"services": [
"dépannage de chauffe-eau",
"dépannage de ballon d'eau chaude",
"dépannage de sanitaire"
],
"website": "https://sosplomberie92.fr/",
"hasPhone": true,
"url": "https://www.pagesjaunes.fr/pros/64217247",
"position": 1,
"searchQuery": "plombier",
"searchLocation": "Paris",
"phone": "07 52 63 50 52",
"phones": [
"07 52 63 50 52"
],
"siret": "48390376100060",
"siren": "483903761",
"naf": "4322A",
"legalForm": "Entrepreneur individuel",
"foundedOn": "10 octobre 2005",
"employees": null,
"openingHours": {
"Lundi": "08:00-20:00",
"Mardi": "08:00-20:00"
},
"latitude": 48.82664,
"longitude": 2.27191,
"socialLinks": []
}

Website fields

With "Visit company website" on, every row gets these fields (empty when there is no website or nothing was found):

{
"websiteStatus": "ok",
"websiteEmails": ["info@plomberie-dupont.fr", "anna@plomberie-dupont.fr"],
"emailSource": "website",
"websitePhones": ["+33556123456"],
"websiteSocialLinks": {"facebook": "https://www.facebook.com/example", "instagram": "https://www.instagram.com/example"},
"people": [],
"registerNumber": null,
"registerCourt": null,
"vatId": "FR12345678901",
"websiteEmailHasMx": true
}

websiteStatus says what happened: ok, unreachable (the site is down), http_403 or another http_<code> (the site refused the visit or answered with an error), not_html (the link is a file, not a page), platform (the link points to Facebook, Doctolib or another platform, not to the company's own site), skipped_cost_limit (the run reached your maximum cost) or error. Data protection and job mailboxes found on a site stay in websiteEmails at the end of the list, but never become the main email and are not charged. emailSource says whether the main email came from the directory or from the website.

Pricing

Pay per result, no monthly fee, French residential proxies included:

WhatPrice
Business row, with the full phone number when PagesJaunes shows one$0.0005
SIRET, NAF, website, hours and GPS from the company page$0.0005 per business
Company website: emails, VAT number, social links$0.002 per business, only when the website gave at least one of these

1,000 businesses cost $0.50, or $1.00 with company details. You pay only for rows in your dataset. Set "Maximum cost per run" in the run options to cap the spend. With "Visit company website" on, add up to $2.00 per 1,000 businesses: the $0.002 is charged only for a business whose website gave an email, a social link, a person or a register or VAT number; a site that is down, refuses the visit or shows nothing useful is free.

PagesJaunes API for developers

Start the Actor through the Apify API or the Python and JavaScript clients and read the dataset when it finishes. Input example:

{
"searchQueries": ["plombier", "chauffagiste"],
"locations": ["Lyon", "Villeurbanne"],
"includeDetails": true,
"enrichWebsite": true,
"maxItems": 500
}

Inputs written for other PagesJaunes actors on Apify also work: searchTerm, query, category, location, city, url, pros_urls, startUrls and maxResults are read as the matching fields. For the website option scrapeWebsite, enrichWebsites, scrapeContacts and websiteEnrichment work too.

Good to know

  • In our tests the PagesJaunes pages answered only French internet addresses, so the Actor uses Apify residential proxies in France by default; their cost is included in the price.
  • PagesJaunes needs a place for a search: a city, a department or a postal code.
  • Without maxItems a run stops at 100 businesses; set 0 for no limit.
  • Many small businesses have no website or email on PagesJaunes; those fields stay empty.
  • Company websites are visited from Apify servers without a proxy. In our tests about 60-75% of French sites opened; the rest refused the visit or were down, and those businesses are not charged for the website.
  • Emails of web agencies, hosting companies, consumer mediators and data protection authorities found on a site are dropped. When the site has an email on its own domain, emails on other domains are dropped too.
  • The Actor reads public PagesJaunes pages only. Use the data in line with the GDPR and French rules for business prospecting.