Read Italian property listings with the detail already on the grid
The Immobiliare API returns Italian real-estate listings as clean JSON.
3 active endpoints, on 0 and 1 credit tiers.
- POST/immobiliare/v1/search
- POST/immobiliare/v1/detail
- POST/immobiliare/v1/geography
What Immobiliare.it endpoints does ReefAPI ship?
3 live read endpoints. Read-only data API: no writes, no account actions, no dashboard access on the target site.
Immobiliare.it API
3 of 3 endpoints, ready to run
25 rows a page, each already carrying typology, condition, heating, lift, floor label, macrozone and microzone — most of what other portals make you open a listing for.
{ "ok": true, "meta": { "api": "immobiliare", "endpoint": "search", "mode": "live", "latency_ms": 1551.4, "record_count": 25, "cache_hit": false }, "data": { "results": [ { "id": 130988676, "uuid": "7a18acbf-6775-5a1d-87fb-6b50d597e6d5", "url": "https://www.immobiliare.it/annunci/130988676/", "contract": "sale", "title": "Trilocale via Flaminia, 443, Flaminio, Roma", "price_eur": 590000, "price_formatted": "€ 590.000", "is_new": false, "is_luxury": true, "typology": "Trilocale", "typology_id": 14, "category": "Residenziale", "rooms": 3, "bedrooms": 2, "bathrooms": 2, "surface_m2": 81, "floor": "5", "floor_label": "5°, con ascensore", "elevator": true, "heating": "Centralizzato", "condition": "Ottimo / Ristrutturato", "views": [], "features": [ "3 locali", "81 m²", "2 bagni" ], "photo_count": 27, "primary_photo_url": "https://pwm.im-cdn.it/image/1970422276/xxl.jpg", "description_preview": "FLAMINIO, VIVERE IL NUOVO TRILOCALE CON TERRAZZO PRONTO PER ESSERE ABITATO AL QUINTO PIANO CON ASCENSORE Nuovo, elegante e moderno appartamento composto da: ingresso, soggiorno con cucina a vista e accesso sul terrazzo di 10mq, camera matrimoniale, camera doppia con bagno privato, secondo bagno con doccia. Luminoso e silenzioso. Riscaldamento centralizzato. Possibilità di acquistare una cantina. MODALITA' D'ACQUISTO: OFFERTE A PARTIRE DA € 590.000,00 PREZZO DI VENDITA € 620.000,00 Flaminio offre servizi di ogni genere e a breve distanza da spazi culturali e luoghi di interesse come il MAXXI, l", "description_truncated": true, "location": { "address": "Via Flaminia, 443", "city": "Roma", "province": "Roma", "region": "Lazio", "macrozone": "Parioli, Flaminio", "microzone": "Flaminio", "latitude": 41.9333, "longitude": 12.467, "country": "Italia" }, "agency": { "id": 474184, "name": "Leonardo Leo Immobiliare", "type": "agency", "url": "https://www.immobiliare.it/agenzie-immobiliari/474184/leonardo-leo-immobiliare/", "logo_url": "https://pic.im-cdn.it/imagenoresize/1966370104.jpg", "is_paid": true } }, { "id": 130671996, "uuid": "3bbd5cca-d7e2-5a4c-95fc-4801577e7592", "url": "https://www.immobiliare.it/annunci/130671996/", "contract": "sale", "title": "Bilocale via Crescenzio, 91, Borgo, Roma", "price_eur": 520000, "price_formatted": "€ 520.000", "is_new": false, "is_luxury": true, "typology": "Bilocale", "typology_id": 14, "category": "Residenziale", "rooms": 2, "bedrooms": 1, "bathrooms": 1, "surface_m2": 74, "floor": "3", "floor_label": "3°, con ascensore", "elevator": true, "heating": "Autonomo", "condition": "Ottimo / Ristrutturato", "views": [], "features": [ "2 locali", "74 m²", "1 bagno" ], "photo_count": 25, "primary_photo_url": "https://pwm.im-cdn.it/image/1975192600/xxl.jpg", "description_preview": "PRATI, VIVERE IL NUOVO BILOCALE PRONTO PER ESSERE ABITATO AL TERZO PIANO CON ASCENSORE Nuovo, elegante e moderno appartamento composto da: ingresso, soggiorno con cucina a vista, camera matrimoniale e bagno con doccia. Luminoso e silenzioso. Riscaldamento autonomo. Possibilità di poter usufruire di un posto auto condominiale tramite richiesta al condominio. MODALITA' D'ACQUISTO: OFFERTE A PARTIRE DA € 520.000,00 PREZZO DI VENDITA € 530.000,00", "description_truncated": false, "location": { "address": "Via Crescenzio, 91", "city": "Roma", "province": "Roma", "region": "Lazio", "macrozone": "Prati, Borgo, Mazzini, Delle Vittorie, Degli Eroi", "microzone": "Borgo", "latitude": 41.9058, "longitude": 12.4608, "country": "Italia" }, "agency": { "id": 474184, "name": "Leonardo Leo Immobiliare", "type": "agency", "url": "https://www.immobiliare.it/agenzie-immobiliari/474184/leonardo-leo-immobiliare/", "logo_url": "https://pic.im-cdn.it/imagenoresize/1966370104.jpg", "is_paid": true } }, { "id": 126254147, "uuid": "66b45474-657a-5d5b-9b3f-3b6e5cf00d92", "url": "https://www.immobiliare.it/annunci/126254147/", "contract": "sale", "title": "Appartamenti di nuova costruzione a Roma", "price_eur": 439000, "price_formatted": "€ 439.000 - € 549.000", "is_new": false, "is_luxury": false, "typology": "Progetto", "typology_id": 276, "category": "Nuove costruzioni", "rooms": null, "bedrooms": null, "bathrooms": null, "surface_m2": 50, "floor": null, "floor_label": null, "elevator": null, "heating": "Autonomo", "condition": null, "views": [], "features": [ "2 - 3 locali", "da 50 m²", "2 tipologie" ], "photo_count": 15, "primary_photo_url": "https://pwm.im-cdn.it/image/1977220040/xxl.jpg", "description_preview": "Casina Forlì è un nuovo ed esclusivo progetto residenziale situato in Via Forlì, nel cuore del quartiere Nomentano, una delle zone più richieste e servite di Roma. La posizione è particolarmente strategica: a pochi passi dall’Università La Sapienza, dal Policlinico Umberto I e dalle principali fermate della metropolitana, con il centro storico raggiungibile in soli cinque minuti. Il progetto, firmato dallo Studio Mariani, nasce da un’attenta riqualificazione architettonica pensata per offrire abitazioni moderne, eleganti e funzionali. Le residenze sono caratterizzate da ambienti luminosi, fi", "description_truncated": true, "location": { "address": "Via Forlì, 31", "city": "Roma", "province": "Roma", "region": "Lazio", "macrozone": "Bologna, Policlinico", "microzone": "Policlinico", "latitude": 41.9102, "longitude": 12.5153, "country": "Italia" }, "agency": { "id": 467085, "name": "Casina Forlì", "type": "constructor", "url": "https://www.immobiliare.it/imprese-edili/467085/casina-forli/", "logo_url": "https://pic.im-cdn.it/imagenoresize/1977214608.jpg", "is_paid": true } } ], "total": 24897, "count": 25, "page": 1, "max_pages": 996, "geo": { "label": "Roma", "type": "comune", "geo_id": "6737", "latitude": 41.8955, "longitude": 12.4823, "search_params": { "idComune": "6737" } }, "filters_applied": {} } }
How the Immobiliare.it API works
Immobiliare.it is a normal ReefAPI surface — the same four rules that hold for every other engine on the key.
No OAuth app, no request signing, no per-site account. One key covers all 184 engines.
Every route is a POST with a JSON body. Parameters are validated against the published schema before anything is charged.
Credits, not seats. Failed and blocked calls are never charged, and cache hits cost nothing.
One envelope everywhere. meta carries latency_ms, record_count and the endpoint that answered.
Sweep an Italian city for one credit a page
Because the grid row is already deep, most Italian coverage jobs never need the detail call at all. That is what makes this the cheapest engine in the batch.
{"query": "Roma"}Free. Returns the geo id, the comune type and the search parameters, so you pin the place rather than re-resolving a string every run.
{"location": "Roma", "sort": "newest", "page": 1}1 credit for 25 rows carrying price, surface, rooms, bathrooms, floor, lift, heating, condition, macrozone and microzone.
Eighty credits buys eighty pages — about 2,000 listings — with enough on each row to filter and rank without opening anything.
curl -X POST https://api.reefapi.com/immobiliare/v1/search \
-H "x-api-key: $REEF_KEY" \
-H "content-type: application/json" \
-d '{"location":"Roma"}'{
"ok": true,
"data": { … },
"meta": {
"api": "immobiliare",
"endpoint": "search",
"mode": "live",
"latency_ms": …,
"record_count": …
},
"error": null
}What one Immobiliare.it listing actually contains
A single search row, measured for Roma on 2026-08-26. Prices are plain euros here — no cents trick — and the location block is already split into city, province, region and neighbourhood so you do not have to parse an address string.
| Field | Example | What it means |
|---|---|---|
| id / url | 130988676 | The listing id and its immobiliare.it/annunci/ URL. |
| contract | sale | sale or rent. price_eur is the sale price, or the monthly rent when contract is rent. |
| price_eur / price_formatted | 590000 / € 590.000 | The number to compute with, and the string the site displays. |
| typology | Trilocale | The Italian property type as listed, with typology_id alongside it. Trilocale means three rooms. |
| rooms / bedrooms / bathrooms | 3 / 2 / 2 | Rooms is locali, the Italian count that includes living rooms — not the same as bedrooms. |
| surface_m2 | 81 | Living surface in square metres. |
| floor / floor_label / elevator | 5 / 5°, con ascensore / true | Floor number, the displayed label, and whether the building has a lift. |
| heating / condition | Centralizzato / Ottimo | Heating type and the listed state of repair, in the site's own wording. |
| primary_photo_url / photo_count | pwm.im-cdn.it/image/1970422276/xxl.jpg | The lead photo on Immobiliare's image CDN, and how many photos the ad has. |
| location | Via Flaminia 443, Roma, Lazio | address, city, province, region, macrozone, microzone, latitude, longitude, country. |
| agency | Leonardo Leo Immobiliare | The listing agency: id, name, type, profile URL, logo, agent name and the office phone shown on the ad. |
meta carries the size of the market you just queried: total (24,889 properties for sale in Roma on 2026-08-26), 25 results per page and max_pages (996), plus the resolved geo block — label Roma, type comune, geo_id 6737 with coordinates.
The richest grid row in the batch, the thinnest detail call, and a page that errors
Measured on 2026-08-28 on Rome and Milan, sale and rent, with two listings opened individually. Three of these lines go against us.
Italy only, nationwide — cities, provinces and regions all resolve. Sale and rent, plus a separate rooms category for shared accommodation. Rome reported 24,865 for-sale listings on our run.
Twenty-five rows carried price_eur as an integer and price_formatted in Italian convention (€ 590.000), typology and typology_id, category, rooms, bedrooms, bathrooms, surface_m2, floor and a floor_label ("5°, con ascensore"), elevator, heating type, condition ("Ottimo / Ristrutturato"), a luxury flag, photo_count, a location block down to macrozone and microzone with coordinates, and the agency. Most portals in this batch make you open a listing for half of that.
Against us. The detail response is the same field set as the search row. It adds a photos array and, on multi-unit listings, a units breakdown. On both listings we opened it did not add the full description: description_truncated stayed true at about 600 characters on the detail response, exactly as on the grid. If you need the whole advert text, this endpoint does not currently have it.
Against us. Pages 10, 40 and 80 each returned a full 25 rows. Pages 90, 100, 200 and 500 returned ok:false with PARSE_ERROR — a crash, not a clean empty page — while the same query's meta advertises max_pages 995 against a total of 24,865. Treat about 2,000 listings as the reachable depth per query and slice by microzone or price band beyond it.
Against us, and the direct answer to the freshness question. No listing date, no updated timestamp, no sold archive, no price history anywhere in the engine. is_new is a badge the site prints, not a timestamp. sort=newest plus your own id diff is the only change detection there is.
price_eur is a plain integer in euros; price_formatted is the same figure with Italian thousand separators. With contract=rent the figure is the monthly rent. Condominium fees are not broken out as a field — where the agent mentioned them they were inside the description text.
Every row has both a numeric id and a uuid, and the numeric one is what detail takes. The uuid is stable across the site's own surfaces and is the safer key for your own database.
Free, and it returns geo_id, the province and region codes, coordinates, the type (comune, provincia, regione) and the exact search_params object the site uses. A query for Roma also returned Romana, Romanengo and other near-matches, so check the label before you pin one.
geography free, search 1 flat credit for 25 rows, detail 1 flat credit. No per-row billing. Search responses came back in one to two seconds.
What people build with Immobiliare.it
The jobs this data is most often used for.
endpoints
credits per call
Investors call search to track Italian listing prices.
Dashboards use detail to enrich a property.
Analysts use geography and typology to size a market.
What Immobiliare.it data costs
The cheapest call here is 0 credits, so $15/mo (Pro) buys 10,000 of them — $1.50 per 1,000 credits. Credits roll over and never expire, and failed or blocked calls are not charged.
Full pricing →- 1,000 free credits on signup, no card
- One key, all 184 APIs, one credit pool
- Failed and blocked calls are never charged
- Credits roll over and never expire
Call it in two lines
Sign up, get 1,000 credits and one key that works on every engine. Then this is the whole protocol.
curl -X POST https://api.reefapi.com/immobiliare/v1/search \
-H "x-api-key: $REEF_KEY" \
-H "content-type: application/json" \
-d '{"location":"Roma"}'import requests
r = requests.post(
"https://api.reefapi.com/immobiliare/v1/search",
headers={"x-api-key": REEF_KEY},
json={
"location": "Roma"
},
)
print(r.json()["data"])Have a question? We got answers.
The questions people actually ask before wiring up Immobiliare.it.
Get a free key →What is pwm.im-cdn.it, and how do I get Immobiliare photo URLs?▾
pwm.im-cdn.it is Immobiliare.it's image CDN — every listing photo is served from it. You do not have to construct those URLs: each search result returns primary_photo_url ready to use (for example https://pwm.im-cdn.it/image/1970422276/xxl.jpg, measured 2026-08-26) plus photo_count, and detail returns the rest of the gallery. Agency logos come from a sibling host, pic.im-cdn.it. The xxl segment is the size variant the site itself serves.
Do I need Immobiliare's internal geo-ids to search a city?▾
No. Pass location as a plain name — Roma, Milano, Napoli, Toscana — and it is resolved to the site's geo-ids for you, down to the most specific match. The response tells you what it resolved to, so you can check: Roma came back as type comune with geo_id 6737 on 2026-08-26. City, province and region all work, so you can widen or narrow without learning a second id system.
What does trilocale mean, and is rooms the same as bedrooms?▾
They are not the same, and mixing them up is the classic mistake on Italian listings. Rooms is locali, the Italian count that includes living rooms — the measured example was a trilocale (three locali) with 2 bedrooms and 2 bathrooms across 81 m². The API returns rooms, bedrooms, bathrooms and surface_m2 as separate fields, and rooms_min treats 3 as three-or-more.
Can I search rentals as well as properties for sale?▾
Yes — set contract to rent. price_eur then carries the monthly rent instead of the sale price, and price_min and price_max are read the same way. Everything else stays put, so the same code handles both markets.
How much Italian inventory is there, and how do I page through it?▾
More than you will want in one go. A sale search for Roma matched 24,889 properties on 2026-08-26, returned 25 per page over 996 pages. Page with page += 1, and narrow first with price_min, price_max, rooms_min, surface_min, baths_min and home_type (apartment, penthouse, villa, townhouse, farmhouse, garage and more) rather than walking the whole set. sort takes newest, price_low, price_high or surface_high.
What is the Immobiliare.it API?▾
Immobiliare.it API is a ReefAPI endpoint group for immobiliare.it It returns live JSON through POST requests under /immobiliare/v1.
Is the Immobiliare.it API free to try?▾
Yes. ReefAPI starts with 1,000 free credits, no card required. Immobiliare.it calls use the same shared credit balance as every other ReefAPI engine.
Do I need an Immobiliare.it login or account?▾
No login to Immobiliare.it is needed for the API response. You call ReefAPI with your x-api-key header, and the playground can run live examples before you create a production key.
How fresh is the Immobiliare.it data?▾
The page example is captured from a live search call, and production requests fetch live data through ReefAPI rather than a static sample.
How many credits does the Immobiliare.it API use?▾
Immobiliare.it actions currently cost 1 credit per successful call. Failed or blocked calls are free, and all APIs draw from one credit pool.
Can I call Immobiliare.it from an AI assistant or MCP client?▾
Yes. Connect ReefAPI once through MCP and your assistant can call immobiliare actions with the same key, credit pool and JSON envelope used by normal REST requests.
Is the Immobiliare.it API an Immobiliare.it scraper?▾
It is the managed alternative to a DIY Immobiliare.it scraper. Instead of building and maintaining your own scraper — proxies, headless browsers, captcha and constant breakage — you call one ReefAPI endpoint and get the same immobiliare.it back as clean JSON.
Why does my Immobiliare.it scraper keep getting blocked?▾
Most Immobiliare.it scrapers break on anti-bot defenses, rate limits and IP bans that need rotating residential proxies and browser fingerprinting to clear. ReefAPI handles all of that for you — no proxies, no captchas, no maintenance — and returns live JSON. Blocked or failed calls are free.
11 Real Estate APIs on the same key
One key, one credit pool, one response envelope. If you are pulling Immobiliare.it, you are one call away from the rest of the category — no second contract, no second integration.
Need something this API does not do?
Name the endpoint, the field, or a source we do not carry yet. We ship new APIs every week and you would be first to get the key. Real people read every message and reply the same day.
Try it on your own data before you pay anything
The call above is the real endpoint, not a recording. A free key gives you 1,000 credits, the other 183 APIs, and the same envelope everywhere.
Endpoints, parameters and credit costs on this page are read from the live catalog and cannot drift from what the API accepts. Field notes were captured on 2026-08-28.