Property Listings API - Europe Prices, Comps, Market Data
Pricing
from $12.00 / 1,000 property record returneds
Property Listings API - Europe Prices, Comps, Market Data
Search European property listings deduplicated across every portal advertising them, with sale and rent prices side by side, full price change history, days on market, comparables, valuation price bands and market time series.
Pricing
from $12.00 / 1,000 property record returneds
Rating
0.0
(0)
Developer
Nabeel Hassan
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Search European residential property where the same home is one record rather than nine, with the sale and rent sides side by side, the full price change history, and the comparables and market analytics around it.
What this actor does
- One row per property, not per advert. The provider deduplicates the same home across every portal and agency advertising it. Each row carries the number of separate adverts for that one property and the agencies and portals behind them, which is itself a signal: a home on one portal is a quiet listing and the same home on nine is not.
- Sale and rent side by side. A property can be advertised for both at once, so the sale price, sale status and sale days on market sit next to the rent price, rent status and rent days on market rather than being folded into one column.
- Price change history. Every recorded price change with the date, the old price and the new one, plus the total change and the size of the most recent reduction, which is how you find where negotiation room is.
- Comparables and a valuation band. Give an address, a point or a Spanish cadastral reference and get the comparable properties with a similarity score and an outlier flag, or a price band of three points: fast sell, fair market and out of market.
- Market analysis and time series. Average price and price per square metre for an area, the trailing 1, 3, 6, 9 and 12 month figures, and any of seven measures plotted over weeks, months, quarters or years.
- Filter on 30+ real attributes. Market status including sold and rented, property type, condition, price and price per square metre, bedrooms, bathrooms, rooms, total, living and plot area, construction year, days on market, gross yield, parking, 13 characteristics, floor position, view, facing direction, energy rating, and the private seller, bank owned, auction and exclusive flags.
- Run daily deltas. Filter by updated since or first seen since, so a scheduled run returns only what moved rather than the whole set.
- Pay per result. You are charged for rows that carry a real record. Targets the provider cannot price are free.
Bring your own credentials
This provider authenticates with an account email and password rather than an API key, and exchanges them for an access token. Paste yours into the API account email and API password fields, or set them as the DATA_API_USERNAME and DATA_API_PASSWORD secrets. If you keep one combined secret across actors, DATA_API_KEY set to email:password also works.
Both halves are stored as secrets. The actor signs in once per run rather than once per request, and refreshes the token silently if a long run outlasts it.
Start here
Property search, market analysis and time series are addressed by the provider's numeric location IDs, and location search is how you get them. Run it first with a place name, read the locationId column, then feed those into the mode you want. Reference mode returns the provider's own property type and characteristic vocabularies, which is where the exact spellings those filters expect come from.
Example output
{"recordType": "property","requested": "location IDs 12345","found": true,"propertyId": "8412907","type": "apartment","typeGroup": "apartment","condition": "very-good","address": "Rua Garrett 42","zipCode": "1200-204","locationName": "Chiado, Lisboa","latitude": 38.71085,"longitude": -9.14094,"totalArea": 118,"livingArea": 104,"bedrooms": 2,"bathrooms": 2,"rooms": 4,"constructionYear": 1946,"energyRating": "C","saleStatus": "active","salePrice": 795000,"salePricePerSqm": 6737,"saleCurrency": "EUR","rentStatus": "none","grossYield": 4.1,"saleDaysOnMarket": 87,"saleHistoryHasGap": false,"totalSalePriceChange": -40000,"lastSalePriceReduction": -25000,"listingCount": 6,"agencies": "Century 21 Chiado, Remax Prime, Porta da Frente","characteristics": "elevator, terrace, storage"}
FAQ
Why is one property sometimes advertised by six agencies?
Because in these markets a seller often instructs several agencies at once, and each one advertises on several portals. The provider resolves all of those adverts back to the single home they describe, so you get one row with an listingCount of six and the agency names beside it, rather than six rows that look like six properties. Deduplicating listing data yourself is the hardest part of this problem and the main reason to use an aggregator for it.
What is the difference between the three valuation prices?
They are three points on one curve. The fast sell price is roughly what the property would go for in a hurry, the fair market price is what the provider thinks it is worth, and the out of market price is the level at which it stops attracting buyers. The spread between them is the useful part: a narrow spread means a liquid, well evidenced market and a wide one means the opposite.
Can I get sold prices rather than asking prices?
Yes. Set the market status filter to sold or rented. Those are properties the provider watched leave the market, with the soldAt or rentedAt date and the last price they were advertised at. That is not the same thing as a registry transfer price, so treat it as the final asking price rather than the achieved price.
What does the history gap flag mean?
The provider records whether a property's listing history has a period it was not tracking. When saleHistoryHasGap is true, the days on market figure is a floor rather than a fact: the property was on the market for at least that long and possibly longer. A 40 day count with a gap and a real 40 day count are different claims, so the flag travels next to the number rather than being dropped.
How do I find stale listings with negotiation room?
Set a high minimum days on market and sort by last update ascending. Then look at lastSalePriceReduction and totalSalePriceChange: a property that has been listed for 200 days and already come down twice is a different conversation from one that has been listed for 200 days at an unchanged price.
How do I track a neighbourhood over time?
Use time series mode with the location IDs, pick a measure and an interval. Average price per square metre by quarter is the standard read; new listings and sold or rented per month tell you about supply and absorption rather than price; price increases and price reductions per month are the fastest indicator that a market has turned.
Which countries does this cover?
Coverage is strongest across Southern and Western Europe, and the location search suggests within Spain and Portugal by country code. Which countries your own account can see depends on what you licensed, and a country outside your plan is refused rather than returning nothing.
Why do I need location IDs instead of just typing a city?
Because a place name is ambiguous and an ID is not. Location search returns the ID, the administrative level and the breadcrumb trail for every match, so you can tell a municipality from the district of the same name before you spend a search on it. A latitude, longitude and radius works instead when you want a circle rather than an administrative boundary.
How deep can a search page?
The provider caps paging at an offset of 50000 rows and 100 rows per request. The actor pages automatically, stops at your row cap, and warns you if it reaches the provider's ceiling rather than silently returning a partial set. To reach records past it, narrow the filters rather than raising the row cap.
What does it cost?
Pricing is pay per result: 0.012 USD per property, 0.02 USD per valuation price band, 0.01 USD per market analysis or series point, and 0.005 USD per location or reference entry, with Apify platform usage included. Rows the provider found nothing for are not charged. You also need your own account with the data provider, which bills on its own plans.
Does the actor fail if my credentials are wrong?
No. Missing credentials, a rejected email or password, an endpoint or country outside your plan, or an empty input all end the run cleanly with a message saying what to change. Only a real outage or a bug fails the run.
Keyword map
European property listings API, property data API Europe, Spain property API, Portugal property data, Lisbon property prices, Madrid property data, real estate listings aggregator, deduplicated property listings, property price history API, days on market Europe, property comparables API, real estate valuation API, price per square metre, bank owned property, auction property data, gross yield property, market time series real estate, property market analytics