Property Deal Finder — Asking Price vs DVF Sold (France) avatar

Property Deal Finder — Asking Price vs DVF Sold (France)

Pricing

from $6.00 / 1,000 listing scoreds

Go to Apify Store
Property Deal Finder — Asking Price vs DVF Sold (France)

Property Deal Finder — Asking Price vs DVF Sold (France)

Find underpriced French properties (biens sous-évalués): scores PAP owner-direct listings against official DVF sold prices — each ad gets an over/under-market deal score from the area's real prix au m², sorted best-first. Spot the bonne affaire before anyone else. Agent-ready via MCP.

Pricing

from $6.00 / 1,000 listing scoreds

Rating

0.0

(0)

Developer

tagada

tagada

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

8 hours 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 (DVFDemandes 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. No more guessing whether a price is fair — you see it.

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

Why this actor

  • Asking vs achieved, automatically — live owner asking prices (PAP) benchmarked against official sold prices (DVF), per property type, in the same commune.
  • A single deal score per listing — e.g. +18 means the asking €/m² is 18 % below the local median sale; -12 means 12 % above. Sorted best-deal-first.
  • Owner-direct — PAP has no agencies, so a good deal means a direct-to-owner opportunity (add scrapeDetails for the owner's phone).
  • Official, free benchmark data — DVF from files.data.gouv.fr (Etalab / DGFiP). Outliers (symbolic €1 sales, garages) filtered out.
  • Paste one URL — the benchmark area is auto-derived; override it only if you want.

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 (asking prices to score).
  • dvfLocation — optional commune/postal/INSEE for the benchmark; empty = auto-derive.
  • dvfYears — DVF years to build the benchmark from (more = larger sample).
  • scrapeDetails — also fetch each owner's phone 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 — 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 — REST API and MCP. Ask "show me PAP apartments in Aix priced under the DVF median."


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².