casavo.it APIcasavo.it ↗
Access Casavo.it property listings, photos, details, and location data across Italian cities via 6 endpoints. Search by city, get full listing details, and retrieve photos.
curl -X GET 'https://api.parse.bot/scraper/589ef79a-5ad5-4d3c-b45f-944b8fd70afa/search_listings?city=roma&page=1' \ -H 'X-API-Key: $PARSE_API_KEY'
Search for property listings with optional city filter and pagination. Returns paginated results sorted by publication date.
| Param | Type | Description |
|---|---|---|
| city | string | City slug (e.g., 'milano', 'roma', 'bologna'). Omitting returns listings from all cities. |
| page | integer | Page number for pagination. |
{
"type": "object",
"fields": {
"listings": "array of listing summary objects with fields: objectID, titre, typeBien, ville, codePostal, surface, prix, nbPieces, nbBedrooms, pictures, status",
"total_count": "integer total number of matching listings",
"total_pages": "integer total number of pages",
"current_page": "integer current page number (1-based)"
},
"sample": {
"data": {
"listings": [
{
"prix": 410000,
"titre": "Vendita Villa 6 locali di 160m² - 00119 Roma",
"ville": "Roma",
"status": "PUBLISHED",
"country": "italy",
"surface": 160,
"nbPieces": 6,
"objectID": "56948",
"typeBien": "villa",
"codePostal": "00119",
"hasParking": true,
"nbBedrooms": 4,
"hasOutdoorSpace": true,
"firstPublication": "2026-05-07T19:26:36Z"
}
],
"total_count": 44,
"total_pages": 3,
"current_page": 1
},
"status": "success"
}
}About the casavo.it API
The Casavo.it API gives developers structured access to Italian real estate listings across all major cities through 6 endpoints. Use search_listings to query properties by city slug with pagination, get_listing_detail to retrieve full property data including coordinates, room count, and street address, and get_listing_photos to pull every photo URL associated with a specific listing.
Searching and Browsing Listings
The search_listings and search_listings_by_city endpoints both return paginated arrays of listing summary objects. Each summary includes objectID, titre, typeBien, ville, codePostal, surface, prix, nbPieces, and nbBedrooms. Results are sorted by publication date. The city parameter accepts Italian city slugs such as milano, roma, bologna, and genova. To browse the entire catalogue without a city filter, use get_all_listings with an optional page parameter. All three endpoints return total_count, total_pages, and current_page alongside the listings array.
Listing Detail and Photos
get_listing_detail accepts a listing_id (the objectID from search results) and returns a richer set of fields: city, type (villa, flat, etc.), price in euros, title, street, nbRooms, surface in m², latitude, and a pictures array with dir and name fields. For full-resolution image URLs, get_listing_photos returns an array of photo objects each containing a url string and an is_main boolean flag identifying the primary photo, along with a count of total photos.
Location Search
get_property_valuation accepts an address string — a city or municipality name such as Milano or Roma — and returns an array of location objects. Each object includes an id, name, type (either municipality or submunicipality), and a geom field containing encoded polygon geometries representing the boundary of that location. This is useful for mapping coverage areas or resolving location IDs for further queries.
- Aggregate Italian property listings by city to build a regional market overview using
prixandsurfacefields. - Display listing photo galleries by calling
get_listing_photosand filtering results whereis_mainis true for thumbnail selection. - Map property locations using
latitudecoordinates returned byget_listing_detail. - Track inventory changes by monitoring
total_countacross repeated calls tosearch_listings_by_city. - Resolve municipality boundary polygons via
get_property_valuationfor choropleth map overlays. - Filter listings by property type using the
typeBienfield from search results to separate villas from flats. - Build a price-per-square-meter calculator using
prixandsurfacefields from listing summaries.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 250 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Casavo have an official public developer API?+
What is the difference between `search_listings` and `search_listings_by_city`?+
search_listings accepts an optional city parameter, so omitting it returns listings across all cities. search_listings_by_city requires a city slug and is purpose-built for single-city queries. Both return the same listing summary fields and the same pagination metadata (total_count, total_pages, current_page).Does the API return rental listings or only properties for sale?+
Is longitude data available for mapping listing locations?+
get_listing_detail currently returns latitude but the response spec does not include a separate longitude field. For polygon-level geography, get_property_valuation returns encoded boundary geometries per municipality. You can fork this API on Parse and revise it to surface longitude if it appears in the source data.How current is the listing data, and are sold or removed properties accessible?+
search_listings and related endpoints reflect currently published listings sorted by publication date. The API does not expose a history of delisted or sold properties. You can fork it on Parse and revise it to add a historical tracking endpoint if that data becomes available on the source.