230,000 Daily Rows Standardized Across 5 EU Property Sites
Monitoring of real estate listings on funda.nl, pararius.com, rentberry.com, rentola.com, and zimmo.be to support the growth of a European property portal.
Learn More
You set the scope: a departement, a list of communes, a property type, a price band, or a whole section of the site. We build the PAP scraper, run it on the interval you need and hand back CSV, JSON, XLSX or an API endpoint. Records are keyed on the PAP r id, so repeat runs deduplicate cleanly and you can take a full snapshot or only the delta since the previous one.
Jobs run at a measured rate and within what robots.txt disallows. We do not offer to defeat the challenge page or the captcha the site uses on its forms. When a site change breaks a field, repairing it is our work rather than yours.
Each detail page embeds a schema.org Product block, so the core commercial fields come out of structured markup rather than guesswork about CSS classes. The rest is read from the page body.
Personal contact details are not part of the output. PAP publishes a private owner's telephone number on the listing page, and every advertiser is a private individual, which makes that number personal data under the GDPR. Our standard build drops the phone number and any personal name before delivery. That is the default, not something you ask for.
A listing lives at /annonces/{slug}-r{id}. The slug is cosmetic and not unique: we found two different Paris flats published under the same appartement-75016-jardin-de-45m2 slug with different r ids. The r number is the stable key, and requesting the path with the slug left out redirects to the current canonical URL, so an id kept from an earlier run can be re-resolved later.
Search paths look like /annonce/{slug}-{place}-{code}-g{id}, and one g namespace covers every level: Île-de-France is g471, the Paris departement is g439, Paris 16e is g37783. Communes carry g ids too, and PAP's per-commune price pages reuse them, which turns the join between a listing index and its local reference price into a lookup rather than a match on place names.
Pagination is a trailing path segment rather than a query parameter, and the slug prefix rotates between pages. On one archived Paris lettings run, page 12 sat under recherche-location, page 13 under locations-particuliers, page 14 under location--logement and page 15 under logement-louer, all sharing the same g439 tail. A crawler that increments a page number against a fixed slug drifts off the result set, so ours follows the rendered links.
Withdrawn listings do not stay addressable. A removed advert returns 404 rather than a sold or let marker, so time on market, price cuts and disappearance dates are reconstructed by re-checking ids already held and stamping first-seen and last-seen dates on each one.
PAP is short for De Particulier à Particulier. Every advert on pap.fr is placed by the owner of the property. The owner pays PAP to publish it, and no agency mandate sits behind the listing. Nothing on the site is syndicated in from professional stock.
The rule is visible in the markup, not only in the marketing. Each listing page carries a schema.org Product block, and the seller inside its offers object is typed as a Person with the name Particulier. The report form on a listing offers a category called Professionnel de l'immobilier (property professional), so a reader can flag an advert they believe came from a business. Owners restate it in their own words: a Paris 16e sale listing we read closes its description with the line Agence ou mandataires interdits (agencies or agents forbidden), and the contact panel adds the note Le propriétaire refuse le démarchage commercial (the owner refuses commercial canvassing).
The site splits into vente immobilière (sales), location immobilière (long-term lettings) and location vacances (holiday lets), and it also publishes a price-per-square-metre page for every French commune. Because French law requires the energy label in a property advertisement, DPE and GES letters sit on residential listings as a matter of course.
Get a QuoteDevelopers
Customers worldwide
Pages extracted
Hours saved for our clients
€199 / one-time
setup fee - included
€169 / mo
setup fee €499
€229 / mo
setup fee €499
€349 / mo
setup fee €499
€549 / mo
setup fee €799
Portals carrying agency mandates describe what the professional market is doing. PAP describes what owners do when they price a property themselves, and the two do not move together.
Because the inventory is private by construction, a PAP extract answers questions a mixed portal cannot. How large the private share of supply is in a given commune. Where a private asking price sits against the price-per-square-metre reference PAP publishes for that same commune. How the energy mix of privately marketed homes compares with mandated stock, which carries weight now that letting a class G home has been barred since 1 January 2025, with class F following on 1 January 2028 and class E on 1 January 2034. How long a private seller holds an asking price before cutting it.
The lettings side works the same way. Private landlords set rents with nobody in between, so PAP price movement reads fairly directly as what owners think a unit is worth, and the student-season cycle shows up plainly in the location immobilière section. Coverage also reaches communes where agency presence is thin and private sale is the normal route.
Monitoring of real estate listings on funda.nl, pararius.com, rentberry.com, rentola.com, and zimmo.be to support the growth of a European property portal.
Learn More
Daily detection of new private property listings in Switzerland on Homegate.ch and ImmoScout24.ch, giving the agency first access to high-value leads.
Learn More
Scraping residential listings from Immobilienscout24.de in Germany and Mallorca, including complete data and resized images.
Learn MoreLearn how to use web scraping to solve data problems for your organization
Real estate teams work in a fragmented data landscape. The sites that drive demand in Boston look nothing like the ones that matter in Berlin, São Paulo, Dubai, or Mumbai.
Real estate teams are operating in a data environment that is bigger, faster, and more fragmented than ever. Listings go live and disappear in hours, price cuts happen quietly, and the portals that matter most in each country are rarely the same global “top 5.”
Real estate web scraping: a powerful tool for data collection and analysis. Learn how to choose the right data collection method and benefit from real estate web scraping
ScrapeIt is a managed web scraping agency. We are not selling a library or a self-serve tool. We scope the job with you, build the crawler, run it on a schedule, watch it when the site changes, and deliver a file or an API that loads straight into a warehouse or a model.
Ask for a sample before committing. A small extract from the PAP scope you have in mind tells you more than any specification sheet.
No. PAP publishes no public API and no developer programme for its listings, and there is no documented endpoint that serves them. Feeds to partners are arranged privately or brokered through aggregators. Everything we deliver is parsed from the pages the site publishes, including the schema.org block each listing already carries.
No. PAP shows a private owner's telephone number on the listing and attaches a note that the owner refuses commercial canvassing. Every advertiser on the site is a private individual, so those details are personal data, and we exclude them from the output by default. If the purpose of the project is to contact private sellers directly, we are not the right supplier.
Not for the listing pages. On 28 August 2026 we requested robots.txt from pap.fr with an ordinary desktop browser user agent and it returned normally, while the sales index, a Paris index and a search path each returned HTTP 403 behind a Cloudflare interstitial asking for JavaScript and cookies. robots.txt itself names more than a hundred specific clients it disallows, python-requests and HTTrack among them, and blocks every URL carrying a query string as well as /pagination/ and /proximite/. We work inside those rules rather than around them.
Yes. Every place on PAP has a numeric g identifier that appears in its search path, such as g439 for Paris and g37783 for Paris 16e. Regions, departements, arrondissements and communes all sit in that one namespace, so the scope can be a single town or a list of a hundred. Property type, nombre de pièces, price band and surface narrow it further.
Volume depends on the place and the date, and it moves daily. As a fixed point, a Paris lettings index captured on 4 August 2025 reported 1035 rentals in Paris, 112 of them in the 16th arrondissement. Sale and rental volumes also swing with the season. We measure the live count for your scope during scoping instead of quoting a figure that ages, and the refresh interval is yours to choose, from daily through to monthly.
Step 1 - Make a Request
You share your needs, expectations, and desired timeframe. We’ll suggest the best solution based on your request and budget.
Step 2 - Configuring Custom Web Crawlers
Our specialists configure the crawlers and extract a sample dataset for your review before proceeding with the full-scale extraction.
Step 3 - Collect and Deliver
Once you approve the sample, we launch the project and start full data collection. We gather, filter, and structure the data for easy use, delivering it on time in your preferred format.
Step 4 - Maintain and Support
Our team manages ongoing processes, monitors website changes, and supports all data extraction cycles. We can also help integrate data into your systems or create dashboards to simplify analysis.
Scrapeit Sp. z o.o.
10/208 Legionowa str., 15-099, Bialystok, Poland
NIP: 5423457175
REGON: 523384582