Discover/Casa API
live

Casa APIcasa.it

Search Casa.it property listings by location, price, size, and type. Retrieve listing details, photos, publisher info, and location autocomplete via 5 endpoints.

Endpoint health
verified 5d ago
get_property_types
search_listings
get_listing_detail
search_mountain_homes
get_location_suggestions
5/5 passing latest checkself-healing
Endpoints
5
Updated
21d ago

What is the Casa API?

The Casa.it API gives developers access to Italy's real estate listings across 5 endpoints, covering location autocomplete, paginated property search, listing details, and property type filters. The search_listings endpoint accepts filters for price, room count, size in square meters, and sort order, while get_listing_detail returns the full listing record including description, media, address, and publisher data.

Try it
Search query for location (e.g., 'Roma', 'Milano')
api.parse.bot/scraper/2fb52193-7159-4b0c-b042-5bd783d23675/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/2fb52193-7159-4b0c-b042-5bd783d23675/get_location_suggestions?query=Roma' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace casa-it-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

"""Casa.it property search — bounded, re-runnable; every call capped."""
from parse_apis.casa_it_property_search_api import CasaIt, TransactionType, Sort, ListingNotFound

client = CasaIt()

# Discover locations matching a query — each carries an hkey for downstream search.
for loc in client.locations.suggest(query="Milano", limit=3):
    print(loc.name, loc.type, loc.hkey, loc.listings_count)

# List available property types (static catalog).
for pt in client.propertytypes.list(limit=5):
    print(pt.label, pt.value)

# Search listings for sale in Rome, sorted by price ascending.
listing = client.listings.search(
    location_hkey="a0d22860",
    transaction_type=TransactionType.VENDITA,
    sort=Sort.PRICE_ASC,
    limit=1,
).first()

if listing:
    print(listing.id, listing.property_type, listing.channel)

# Search mountain homes (chalets, trulli, baite) — no location filter.
for home in client.listings.search_mountain(price_max=500000, limit=3):
    print(home.id, home.property_type, home.uri)

# Search rentals with Sort enum — typed error handling.
try:
    rental = client.listings.search(
        location_hkey="a0d22860",
        transaction_type=TransactionType.AFFITTO,
        sort=Sort.PRICE_DESC,
        limit=1,
    ).first()
    if rental:
        print(rental.id, rental.property_type, rental.description)
except ListingNotFound as exc:
    print(f"Not found: {exc.listing_id}")

print("exercised: locations.suggest / propertytypes.list / listings.search / listings.search_mountain")
All endpoints · 5 totalmissing one? ·

Get location autocomplete suggestions for a search query. Returns locations (cities, provinces, regions, zones, metro lines) with their hkey identifiers for use in search_listings and search_mountain_homes. Each location carries an hkey string that uniquely identifies it in downstream search endpoints, plus lat/lon coordinates and an approximate listings_count.

Input
ParamTypeDescription
queryrequiredstringSearch query for location (e.g., 'Roma', 'Milano')
Response
{
  "type": "object",
  "fields": {
    "items": "array of location objects with id, name, hkey, type, lat, lon, slug, level, listings_count"
  },
  "sample": {
    "data": {
      "items": [
        {
          "id": "IT-LAZ-RM",
          "lat": 41.85,
          "lon": 12.63,
          "hkey": "ed427fcb",
          "name": "Roma",
          "slug": "roma",
          "type": "province",
          "level": 6,
          "listings_count": "44.914"
        }
      ]
    },
    "status": "success"
  }
}

About the Casa API

Endpoints and Data Coverage

The API exposes five endpoints for working with Italian real estate data from Casa.it. get_location_suggestions accepts a text query and returns matching places — cities, provinces, regions, zones, and metro lines — each with an hkey identifier, geographic coordinates, and a listings_count. That hkey is the key input for scoping searches to a specific area in both search_listings and search_mountain_homes.

Search and Filtering

search_listings accepts POST requests with filters including price_max, mq_min, mq_max, rooms, bathrooms, and sort (relevance, price ascending, or price descending). Results are paginated via page and size parameters. The response includes a list array of listing objects, a total count, paginator metadata, and resolvedLocations confirming how the location input was interpreted. search_mountain_homes targets a specific subset of rural property types — baite, bungalow, chalet, trulli — and accepts location_hkey, price bounds, and size bounds. For most use cases, search_listings with the appropriate property type filter covers equivalent ground.

Listing Detail and Reference Data

get_listing_detail takes a numeric listing_id and returns the full property record: propertyType, address, price, size, rooms, description, media (photos), publisher, features, and more. If the listing no longer exists, the response includes a stale_input field with kind input_not_found. get_property_types returns a static reference list of residential property type labels and their corresponding filter values for use in search requests.

Reliability & maintenanceVerified

The Casa API is a managed, monitored endpoint for casa.it — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when casa.it changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official casa.it API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
5d ago
Latest check
5/5 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Build a cross-border property search tool filtering Italian listings by price, region, and size
  • Aggregate listing data to track price trends across Italian cities using search_listings with price_max and location filters
  • Populate a location autocomplete widget using get_location_suggestions with its name, type, and lat/lon fields
  • Monitor individual listings for price or status changes by polling get_listing_detail with a stored listing_id
  • Create a rural property finder surfacing trulli, chalet, and baita listings via search_mountain_homes
  • Index Casa.it publisher contact data and listing photos from the publisher and media fields in listing detail responses
  • Enumerate available property type filter values via get_property_types to dynamically populate a search UI
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 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.

Frequently asked questions
Does Casa.it have an official developer API?+
Casa.it does not publish a public developer API or documented data access program as of mid-2025.
What does `get_location_suggestions` return beyond a place name?+
Each result includes an id, name, hkey, type (city, province, region, zone, or metro line), lat, lon, slug, level, and listings_count. The hkey value is what you pass as location_hkey in search endpoints.
Does `get_listing_detail` return rental listings, or only properties for sale?+
The endpoint returns the full detail record for any listing ID you provide regardless of transaction type, and the propertyType and related fields in the response distinguish the listing's category. Filtering searches by transaction type (sale vs. rent) is not currently an explicit parameter in search_listings. You can fork this API on Parse and revise it to add a transaction-type filter to the search endpoint.
Is there a way to search by neighborhood or draw a map polygon instead of using an hkey?+
The current search endpoints use location_hkey values returned by get_location_suggestions for geographic scoping. Free-form polygon or bounding-box search is not currently exposed. You can fork this API on Parse and revise it to add coordinate-based or bounding-box search if the underlying data supports it.
How does pagination work in `search_listings`?+
Pass page (integer) and size (results per page) as POST body parameters. The response includes a paginator object with pagination metadata and a total integer for the full result count matching your filters.
Page content last updated . Spec covers 5 endpoints from casa.it.
Related APIs in Real EstateSee all →
casavo.it API
Search and browse property listings across Italy on Casavo.it, access detailed information including photos, locations, and property valuations. Find your next home or investment property by searching specific cities or exploring all available listings with comprehensive details.
immobiliare.it API
Search Italian property listings for sale or rent, browse real estate agencies, and explore price trends across Italian cities — all via immobiliare.it.
tecnocasa.it API
Search and browse properties listed on Tecnocasa.it — Italy's largest real estate franchising network. Retrieve detailed property information including specifications, photos, pricing, and energy data. Look up agency contact details and use location autocomplete to refine searches by province, region, or city across Italy.
idealista.it API
Search and retrieve property listings from Idealista.it, Italy's leading real estate platform. Access listings for sale, rent, and new construction across Italian cities, with full property details and photos.
casasapo.pt API
Search and browse Portuguese real estate listings from Casa Sapo for both sale and rent, view detailed property information, access bank-owned properties, and analyze market statistics to make informed decisions. Track new listings and price reductions to stay updated on the latest opportunities in the Portuguese property market.
propiedades.com API
Search and browse real estate listings from Mexico's Propiedades.com, view detailed property information including images and descriptions, and use location autocomplete to find homes in your desired area. Access comprehensive listing data to compare properties and make informed real estate decisions.
subito.it API
Search and browse listings on Subito.it, Italy's leading classifieds marketplace. Filter by keyword, category, location, and price. Retrieve listing details, real estate listings, dealer inventories, and seller contact information.
casasyterrenos.com API
Search and browse real estate listings across Mexico with detailed property information, pricing, and seller contacts from Casas y Terrenos. Find your perfect home or land by accessing comprehensive property details and comparing available options in one place.