PagesJaunes APIpagesjaunes.fr ↗
Search French business listings on PagesJaunes.fr by keyword and location. Retrieve addresses, ratings, coordinates, and customer reviews via 2 endpoints.
What is the PagesJaunes API?
The PagesJaunes.fr API gives developers access to France's largest business directory through 2 endpoints. Use search_stores to query businesses by keyword and location — returning names, addresses, ratings, and review counts — then call get_store_details with a store ID to retrieve the full address, GPS coordinates, and individual customer reviews with dates and ratings.
curl -X GET 'https://api.parse.bot/scraper/69c60d2e-02eb-4d9c-9edf-9bdbd18991bc/search_stores?page=1&query=restaurant&location=Paris' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace pagesjaunes-fr-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
from parse_apis.pagesjaunes_fr_business_search_api import PagesJaunes, Store, StoreSummary
client = PagesJaunes()
# Search for restaurants in Paris with automatic pagination
for summary in client.stores.search(query="restaurant", location="Paris", limit=5):
print(summary.name, summary.address, summary.rating, summary.review_count)
# Navigate from summary to full store details
store = summary.details()
print(store.name, store.address)
if store.coordinates:
print(store.coordinates.latitude, store.coordinates.longitude)
for review in store.reviews:
print(review.reviewer_name, review.rating, review.date)
Search for businesses by keyword and location (city, department, or region). Returns a paginated list of results with basic information including name, address, rating, and review count. Each page returns up to 20 results. The total_count_text field provides the human-readable count of all matching results.
| Param | Type | Description |
|---|---|---|
| page | integer | Page number for pagination (20 results per page). |
| query | string | Search query term. |
| location | string | City, department number, or region name to search in. |
{
"type": "object",
"fields": {
"page": "integer, current page number",
"query": "string, the search query used",
"stores": "array of store summary objects with id, name, address, rating, review_count, url",
"location": "string, the location searched",
"total_count_text": "string, human-readable total results count from the site"
},
"sample": {
"data": {
"page": 1,
"query": "restaurant",
"stores": [
{
"id": "05416214",
"url": "https://www.pagesjaunes.fr/pros/05416214",
"name": "L'Entracte",
"rating": "4",
"address": "1 rue Auber 75009 Paris",
"review_count": "(10 avis)"
}
],
"location": "Paris",
"total_count_text": "15 478 resultats"
},
"status": "success"
}
}About the PagesJaunes API
Search French Business Listings
The search_stores endpoint accepts a query string and a location parameter that can be a city name, department number, or region name. Results are paginated at 20 per page, and each item in the stores array includes the business id, name, address, rating, review_count, and a direct url to the listing. The total_count_text field returns a human-readable string indicating how many results matched, useful for building pagination controls.
Business Details and Reviews
Once you have a store_id from a search result, get_store_details returns the complete picture for that listing. The reviews array contains individual entries with reviewer_name, rating, review_text, and date. The coordinates object provides latitude and longitude when available, or returns null — so callers should handle both cases. The full street address is also returned here, which may be more complete than the snippet in search results.
Coverage and Scope
Coverage spans businesses listed on PagesJaunes.fr across metropolitan France, including shops, services, restaurants, medical practitioners, and professional offices. Searches can be scoped narrowly to a single city or broadly to a department or region. The location field in search responses echoes back the location string used, which helps when normalizing queries across different geographic granularities.
The PagesJaunes API is a managed, monitored endpoint for pagesjaunes.fr — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when pagesjaunes.fr changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official pagesjaunes.fr API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Build a France-focused store locator using
search_storeswith city names and business-type keywords. - Aggregate customer review sentiment for French businesses using the
reviewsarray fromget_store_details. - Geocode French business addresses by extracting
coordinatesfromget_store_detailsfor mapping applications. - Monitor competitor ratings and review counts over time using
ratingandreview_countfrom search results. - Enrich a CRM with verified French business addresses and contact data from PagesJaunes listings.
- Identify top-rated local service providers in a department by sorting search results by
rating. - Populate a directory of French healthcare or legal professionals by searching by specialty and region.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does PagesJaunes have an official developer API?+
What does `search_stores` return and how is pagination handled?+
search_stores returns an array of business objects, each with id, name, address, rating, review_count, and url, plus a total_count_text string for the matched result count. Pages are fixed at 20 results; increment the page integer parameter to walk through results.Are phone numbers or business hours returned by any endpoint?+
How complete is the `coordinates` field in `get_store_details`?+
latitude and longitude when the listing includes location data, and null when it does not. Coverage varies by listing — businesses without a geocoded address will return null, so your code should handle both shapes.