Skip to content

PAP.fr Scraper

Try for free

Scrape pap.fr real estate listings for sale and rent: price, surface, rooms, energy class, owner phone number, coordinates, photos and full description. Use pap.fr search URLs or a location with filters. No login needed.

🏠 PAP.fr Scraper

Get every listing from pap.fr, the French owner-to-owner property site (De Particulier à Particulier), as clean data: price, m², rooms, bedrooms, DPE energy class, the owner's phone number, GPS coordinates, photos and the full description. Paste any pap.fr search URL or just type a city with a few filters. No login, no account, results in seconds, for $0.90 per 1,000 listings.

✨ Why use PAP.fr Scraper?

  • ⚡ Fast — 10 full listings in about 6 seconds, 1,000 in about 2 minutes.
  • 📞 Owner contact details — the phone number and any e-mail the private seller published, plus whether they refuse commercial solicitation.
  • 🔎 Two ways to search — paste pap.fr search URLs (any filters you set on the site are kept) or search by city, postal code, department or region with price, rooms, surface and feature filters.
  • 🧾 Full listing data — DPE and GHG classes with their kWh ranges, coordinates, nearby metro and train stations, all photos, rent details (charges, deposit, rent cap), price with notary fees.
  • 💸 Cheap and simple — one flat price per listing, nothing extra for the details.
  • 🔐 No login needed — only public listing pages are read.

🎯 Use cases

  • 🤝 Lead generation for real estate agents, mortgage brokers, movers and renovation businesses: private sellers and landlords with their phone numbers (respect the owner's "no solicitation" flag, included in every row).
  • 📈 Price monitoring: track asking prices and € per m² by arrondissement, city or department, and spot "Nouveau prix" price drops.
  • 🏘️ Market research: compare supply, sizes and energy classes across French cities, or measure how many rentals are furnished.
  • 🔔 New listing alerts: schedule a search every morning and get only today's listings into a sheet or a webhook.
  • 🗺️ Mapping: every listing has latitude and longitude, ready for a map.

🚀 How to use

  1. Open pap.fr, run your search with any filters, and copy the address from your browser. Or skip that and fill in Locations (for example Lyon, 33000 or Bretagne) with the filters you want.
  2. Paste the URL into pap.fr search or listing URLs. You can add many searches and single listing URLs at once.
  3. Set Maximum listings (for example 100).
  4. Click Start. Rows appear in the table as they are scraped.
  5. Export the results as JSON, CSV, Excel or HTML, or read them through the API.

📥 Input

FieldWhat it does
startUrlspap.fr search URLs, listing URLs or listing ids (for example 464700536)
maxItemsMaximum listings for the whole run (0 = no limit)
locationsCities, postal codes, departments or regions to search instead of a URL
transactionsale or rent (with locations)
propertyTypesApartment, house, land, parking, building and more (with locations)
minPrice / maxPrice, minRooms / maxRooms, minBedrooms, minSurface / maxSurface, minLandSurface / maxLandSurface, featuresFilters for a location search
scrapeDetailsOpen every listing for phone, description, energy classes and coordinates (on by default). Off = faster, search-page data only
includeNearbyAlso keep the listings pap.fr suggests from nearby areas
{
  "startUrls": [{ "url": "https://www.pap.fr/annonce/vente-appartements-paris-75-g439" }],
  "maxItems": 20
}

Search by location with filters:

{
  "locations": ["Lyon"],
  "transaction": "rent",
  "propertyTypes": ["appartement"],
  "maxPrice": 1200,
  "minRooms": 2,
  "maxItems": 50
}

📤 Output

One row per listing. The main fields:

FieldDescription
id, reference, urlpap.fr listing id, reference and link
transaction, propertyType, titleSale or rent, property type, listing title
price, pricePerSqm, priceWithNotaryFeesAsking price or monthly rent in EUR, € per m², price with notary fees
rooms, bedrooms, surface, landSurfaceRooms, bedrooms, living area and land in m²
city, postalCode, latitude, longitude, transportsWhere it is, with nearby stations
energyClass, ghgClass (+ descriptions)DPE energy and greenhouse-gas classes A to G
phones, contactEmails, contactText, ownerRefusesSolicitationHow to reach the owner
monthlyCharges, deposit, chargesIncluded, furnished, rentCapReferenceRent details
photos, photoCount, virtualTourUrl, videoUrlMedia
publishedDate, badges, newPrice, exclusiveToPapListing status
descriptionFull text of the listing

Example (from a real run, contact details replaced with fictional ones, description and photos shortened):

{
  "id": 465800223,
  "reference": "G58/0223",
  "url": "https://www.pap.fr/annonces/appartement-lyon-8e-69008-r465800223",
  "transaction": "rent",
  "propertyType": "Appartement",
  "title": "Location meublée appartement 4 pièces 107 m² Lyon 8E (69008)",
  "price": 1645,
  "priceText": "1.645 €",
  "currency": "EUR",
  "rooms": 4,
  "bedrooms": 3,
  "surface": 107,
  "location": "Lyon 8e (69008)",
  "city": "Lyon 8e",
  "postalCode": "69008",
  "latitude": 45.745748,
  "longitude": 4.863794,
  "description": "Très bel appartement meublé situé dans le quartier de Monplaisir…",
  "energyClass": "D",
  "energyDescription": "Logement avec une consommation annuelle d'énergie comprise entre 181 et 250 kWh/m²/an.",
  "ghgClass": "D",
  "phones": ["06 12 34 56 78"],
  "contactEmails": [],
  "ownerRefusesSolicitation": true,
  "photos": ["https://cdn.pap.fr/photos/pap/ed/1e/ed1ea720f9a85e657835358a74ff5d9e/e-p1.jpg"],
  "photoCount": 12,
  "furnished": true,
  "chargesIncluded": true,
  "monthlyCharges": 45,
  "deposit": 1600,
  "rentCapReference": 1776.2,
  "publishedDate": "2026-10-21",
  "tags": ["4 pièces", "3 chambres", "107 m²"],
  "isNearby": false,
  "searchUrl": "https://www.pap.fr/annonce/locations-appartement-lyon-69-g43590",
  "scrapedAt": "2026-10-21T14:21:43.513Z"
}

The Contacts view of the dataset shows only the title, price, place and owner contact columns.

💰 Pricing

You pay $0.90 per 1,000 listings ($0.0009 per listing saved), with or without full details. Platform usage (compute and the French residential proxy) is billed on top and is small: in our test runs it came to about $0.05 per 1,000 listings, so 1,000 listings ≈ $0.95 in total. You never pay for listings that are not saved, and the run stops cleanly at your maximum charge.

❓ FAQ

Is it legal to scrape pap.fr? The actor reads only public pages that anyone can open without an account. Owner phone numbers and e-mails are personal data: use them in line with GDPR and the owner's "refuses commercial solicitation" flag, which is included in every row.

Do I need a pap.fr account or a proxy? No. No login is needed. pap.fr only lets French residential connections through, so the run uses the platform's French residential proxy by default; you don't need to set anything up.

How many listings can I get? Everything a search has. pap.fr itself only pages through about 300 listings per search; bigger searches are split into price ranges automatically, so you still get all of them. Set maxItems to 0 for no limit.

Why is a field empty? Owners fill in what they want: some listings have no phone (contact by e-mail form only), no DPE yet or no bedrooms count. Rent fields are empty on sales and notary-fee fields on rentals. With Full listing details off, only the search-page fields are filled.

What are "nearby" listings? When a search has few exact matches, pap.fr suggests listings from neighbouring areas ("à 3 km de …"). They are skipped unless you turn on Include nearby listings; each row then has isNearby and distanceKm.

Can I schedule it or use the API? Yes. Save your input as a task, schedule it daily, and send results to a webhook, Google Sheets or your own code through the API.

⚠️ Limits

  • Only www.pap.fr property listings for sale and rent. Holiday rentals on pap-vacances.fr are not covered.
  • The owner's e-mail is only available when they wrote it in the listing text; the pap.fr contact form itself is not used.
  • Searches by location use pap.fr's own location list: unknown place names are reported in the status message and skipped.
  • Listings removed between the search page and the detail page are skipped and not charged.

Related actors

G2
4.7/5
Excellent
Trustpilot

The internet is full of data.
Start owning yours.

Scrape.ly gives you the infrastructure, the tooling, and the team to extract, process, and operationalize web data at any scale. Setup takes minutes. The advantage lasts forever.

No credit card. No setup calls.