Bonnes Affaires Immo 🇫🇷 : Prix Annonce vs DVF Vendu avatar

Bonnes Affaires Immo 🇫🇷 : Prix Annonce vs DVF Vendu

Pricing

from $6.00 / 1,000 listing scoreds

Go to Apify Store
Bonnes Affaires Immo 🇫🇷 : Prix Annonce vs DVF Vendu

Bonnes Affaires Immo 🇫🇷 : Prix Annonce vs DVF Vendu

Repérez les biens décotés en France : chaque annonce PAP est comparée aux prix réellement vendus du quartier via les données DVF officielles, pour un score de décote basé sur le vrai prix au m² et la marge de négociation qu'il révèle. Idéal pour investisseurs, chasseurs immo et agents IA.

Pricing

from $6.00 / 1,000 listing scoreds

Rating

0.0

(0)

Developer

Tagada Data

Tagada Data

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

0

Monthly active users

7 days ago

Last modified

Share

French Real Estate Deal Score: Asking vs Sold Price (PAP + DVF)

Find underpriced French properties in seconds. This actor takes a PAP.fr owner-direct sale search and scores every listing against what comparable properties actually sold for, using the French government's official transaction database (DVF, Demandes de Valeurs Foncières).

Each listing gets a deal score: how far its asking €/m² sits below (good) or above (expensive) the area's real, recorded median. That gap is your décote: it tells you which listings are genuinely discounted (biens décotés) and how much marge de négociation the asking price leaves. No more guessing whether a price is fair, you just see it.

Built for property investors, buyers, agents doing pige, and AI agents (API + MCP).

Why this actor

  • ✅ Compares asking to achieved automatically: live owner asking prices (PAP) get benchmarked against official sold prices (DVF), matched by property type and commune.
  • ✅ Every listing gets a single deal score. +18 means the asking €/m² sits 18 % below the local median sale, -12 means 12 % above, and results come back sorted best-deal-first.
  • ✅ Owner-direct only, since PAP lists no agencies, so a good deal here is also a direct line to the owner (add scrapeDetails to pull their phone number too).
  • ✅ The benchmark data is official and free: DVF straight from files.data.gouv.fr (Etalab / DGFiP), with outliers such as symbolic €1 sales and garages filtered out.
  • ✅ Just paste one URL. The benchmark area is derived automatically, and you can override it if you need something more specific.

How it works

  1. Scrapes the PAP sale listings from your search URL (asking prices).
  2. Pulls DVF sold transactions for the same commune and years.
  3. Builds a median €/m² benchmark per property type (Apartment / House), ignoring data-entry noise.
  4. Scores each listing: dealScore = (median_sold − asking) / median_sold × 100.
  5. Returns listings best-deal-first, each carrying the benchmark it was judged against.

Input

{
"searchUrl": "https://www.pap.fr/annonce/vente-appartements-aix-en-provence-13-g11424",
"dvfLocation": "",
"dvfYears": ["2024", "2025"],
"scrapeDetails": false,
"maxListings": 200
}
  • searchUrl: a pap.fr sale search URL, the asking prices you want scored.
  • dvfLocation: optional commune, postal code, or INSEE code for the benchmark; leave it empty and it's derived automatically.
  • dvfYears: which DVF years feed the benchmark (more years means a larger sample).
  • scrapeDetails: also fetches each owner's phone number and street address.

Output (one record per listing)

{
"source": "PAP",
"propertyType": "Appartement",
"price": 249000,
"surface": 55,
"pricePerM2": 4527,
"dealScore": 19,
"dealLabel": "Great deal (well below market)",
"benchmarkPerM2": 5600,
"benchmarkSample": 214,
"benchmarkArea": "13100",
"benchmarkYears": ["2024", "2025"],
"location": "Aix-En-Provence",
"url": "https://www.pap.fr/annonces/appartement-…-r462001771",
"phone": null
}

dealScore is null for rentals, listings without a surface, or areas with too few comparable sales (in which case dealLabel explains why). The run's BENCHMARK key-value record holds the full per-type benchmark and the communes used.

Pricing

Pay per event, no subscription:

EventWhen
Actor startOnce per run
Listing scoredPer listing returned (scored against DVF)

Companion actors

FAQ

Where do the numbers come from? Asking prices: public listings on pap.fr. Sold prices: DVF open data (files.data.gouv.fr/geo-dvf, Etalab / DGFiP). Both fetched live at run time.

How is a "deal" defined? Purely on €/m² vs the local median recorded sale for the same property type. It's a pricing signal, not an appraisal, so always verify condition, floor, exact street, and DPE.

Why is a score null? Rentals (no sale comparable), listings without a usable surface, or a benchmark with fewer than 5 comparable sales. The benchmark context is still returned so you can judge.

Paris / Lyon / Marseille? Handled: their arrondissements are expanded automatically for DVF.

Does it work with AI agents? Yes, via REST API and MCP. Ask "show me PAP apartments in Aix priced under the DVF median."


Something missing?

If you need an extra field, another source, or a different output, open an issue on this Actor and describe it. I read every request and small additions usually ship within days. More French real estate Actors (pige, DVF, deal score, DPE leads) are on my profile.

Keywords: immobilier, prix au m², DVF, valeurs foncières, PAP, particulier à particulier, sous-évalué, bonne affaire immobilière, deal score, asking vs sold price, real estate France, property investment, pige immobilière, €/m², biens décotés, décote immobilière, marge de négociation, historique des prix, prix de vente réels.