PAP Scraper — Owner Listings + Phone Numbers (Particulier)
Pricing
from $1.00 / 1,000 listing founds
PAP Scraper — Owner Listings + Phone Numbers (Particulier)
French owner-direct listings from PAP.fr — no agencies — with the OWNER'S PHONE NUMBER & full address (opt-in detail scraping). Price, surface, rooms, €/m², DPE, photos per ad. $1/1,000 listings, near-zero start fee. For pige immobilière, lead sourcing, market analysis & AI agents (API + MCP).
Pricing
from $1.00 / 1,000 listing founds
Rating
0.0
(0)
Developer
tagada
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
8 hours ago
Last modified
Categories
Share
PAP Real Estate Listings — Owner-Direct Sales & Rentals (France)
Scrape French property ads from PAP.fr (Particulier à Particulier). Paste a PAP search URL and get clean, structured listings — price, surface, rooms, €/m², energy class, description and photos — for every result page.
PAP is owner-direct only: no agencies, no agency fees. Every record is a private seller, which makes this ideal for buyer/renter search, market analysis, lead sourcing, and AI agents (works via API and MCP).
Why this actor
- ✅ Owner-direct leads — PAP has no agency listings, so every result is a private individual selling or renting their own property.
- ✅ Owner phone & full address (optional) — turn on
scrapeDetailsto get each owner's phone number and the exact street address straight from the ad. Direct-to-owner contact, no agency in between. - ✅ Paste-a-search simplicity — build any search on pap.fr (city, sale/rental, type, filters) and paste the URL. All result pages are followed automatically.
- ✅ Clean, computed fields — French prices and surfaces parsed to numbers, €/m² computed for sales, DPE energy class extracted.
- ✅ Extra filtering — narrow further by price, surface, rooms, property type or keywords, on top of what the search URL already selects.
- ✅ Fair pricing — pay per listing returned; the phone/address premium is only charged when contact data is actually found.
Companion actors — the French real-estate suite
- SeLoger Scraper — listings from SeLoger, France's #1 portal, with seller phone + particulier/agence flag.
- Logic-Immo Scraper — listings from Logic-Immo, with the advertiser's phone number + agency/private flag.
- French Real Estate Sales (DVF) — official recorded sold prices, to benchmark PAP asking prices against reality.
- Real Estate Deal Score — scores PAP asking prices vs DVF sold prices, best deals first.
Pair PAP with DVF for asking-vs-achieved price analysis, or feed both into Deal Score for an over/under-market ranking.
Input
{"searchUrls": ["https://www.pap.fr/annonce/vente-appartements-bordeaux-33000-g43898"],"minPrice": 150000,"maxPrice": 400000,"minSurface": 40,"minRooms": 2,"propertyTypes": ["Appartement"],"keywords": ["terrasse", "balcon"],"scrapeDetails": true,"maxResults": 500,"maxPagesPerUrl": 20}
Set scrapeDetails: true to also fetch each listing's page for the owner phone, street address and full description. Leave it false (default) for a faster, list-only run.
How to get a search URL: go to pap.fr, run the search you want (choose city, acheter or louer, property type, and any filters), then copy the address-bar URL and paste it into searchUrls. You can pass several URLs at once.
Output (one record per listing)
{"source": "PAP","id": "450001168","url": "https://www.pap.fr/annonces/appartement-aix-en-provence-r450001168","transactionType": "sale","propertyType": "Appartement","title": "Aix-En-Provence","location": "Aix-En-Provence","price": 389000,"currency": "EUR","pricePerM2": 9262,"rooms": 2,"bedrooms": 1,"surface": 42,"landSurface": null,"energyClass": "B","description": "Beau Loft avec terrasse et parking, Aix centre…","photos": ["https://cdn.pap.fr/photos/…-p3.jpg"],"photoCount": 8,"seller": "Particulier","phone": "06 71 26 79 76","streetAddress": "rue Constant Coquelin","postalCode": "94400","reference": "vente-450001168","sourceRef": "pap.fr (Particulier à Particulier)"}
The phone, streetAddress, postalCode and reference fields are populated only when scrapeDetails is on; otherwise they are null.
Pricing
Pay per event — no subscription:
| Event | When |
|---|---|
| Actor start | Once per run |
| Listing found | Per listing returned |
| Listing detailed | Per listing enriched with owner phone/address (only when scrapeDetails is on and contact data is found) |
FAQ
What's the source? Public listings on pap.fr — France's largest owner-to-owner (particulier à particulier) real-estate site. Agencies can't list there, so results are private sellers/landlords.
Sales and rentals? Both. The actor detects sale vs rental from the search URL; €/m² is computed for sales only.
How do I target a specific city or neighbourhood? Build the search on pap.fr — its filters (arrondissement, budget, surface, rooms, exterior, etc.) all encode into the URL you paste.
Why do some fields come back null? When a listing genuinely omits a value (e.g. price on request, no DPE), the field is null rather than a guess.
Does it work with AI agents? Yes — exposed via REST API and MCP.
Keywords: PAP, particulier à particulier, annonces immobilières, immobilier France, real estate listings, property France, prix immobilier, €/m², location appartement, vente maison, owner-direct, no agency, proptech.