Discover/Casa Sapo API
live

Casa Sapo APIcasasapo.pt

Access property listings from Casa Sapo (casa.sapo.pt) via API. Search sales and rentals, get listing details, track new listings and price reductions in Portugal.

Endpoint health
verified 4d ago
search_listings_for_sale
search_listings_for_rent
search_price_reduced_listings
get_listing_detail
search_new_listings
5/5 passing latest checkself-healing
Endpoints
5
Updated
26d ago

What is the Casa Sapo API?

The Casa Sapo API provides 5 endpoints for querying Portugal's casa.sapo.pt property portal, covering listings for sale and rent, full listing detail pages, newly published apartments, and price-reduced properties. The get_listing_detail endpoint returns structured fields including price, description, features, and location text from any listing URL retrieved through search.

Try it
Page number.
Location slug identifying the area to search in (e.g. 'lisboa', 'porto', 'faro', 'braga').
Maximum area in square meters.
Minimum area in square meters.
Typology (number of bedrooms) filter.
Maximum price in Euros.
Minimum price in Euros.
Property type filter.
api.parse.bot/scraper/52af7c6d-5eb4-49cd-9ec6-bbdb442268b0/<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/52af7c6d-5eb4-49cd-9ec6-bbdb442268b0/search_listings_for_sale?pn=1&location=lisboa&max_area=200&min_area=50&typology=T0&max_price=500000&min_price=100000&property_type=apartamentos' \
  -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 casasapo-pt-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.

"""Walkthrough: Casa Sapo real estate API — bounded, re-runnable; every call capped."""
from parse_apis.casa_sapo_api import CasaSapo, PropertyType, Typology, ListingNotFound

client = CasaSapo()

# Search for sale listings in Lisboa with price/area filters
for listing in client.listingsummaries.search_for_sale(
    location="lisboa", property_type=PropertyType.APARTAMENTOS, typology=Typology.T2, limit=5
):
    print(listing.title, listing.price, listing.area)

# Drill-down: take one listing and get full details
summary = client.listingsummaries.search_for_rent(location="porto", limit=1).first()
if summary:
    detail = summary.details()
    print(detail.title, detail.price, detail.description[:100])

# Fetch a listing directly by URL
try:
    full = client.listings.get(url="https://casa.sapo.pt/comprar-apartamento-t2-lisboa-example.html")
    print(full.title, full.price)
except ListingNotFound as exc:
    print(f"Listing gone: {exc}")

# Browse new listings (last 8 days)
for item in client.listingsummaries.search_new(location="lisboa", limit=3):
    print(item.title, item.price, item.area)

# Find price-reduced deals
for deal in client.listingsummaries.search_price_reduced(location="lisboa", limit=3):
    print(deal.title, deal.price, deal.previous_price, deal.price_reduction)

print("exercised: search_for_sale / search_for_rent / details / listings.get / search_new / search_price_reduced")
All endpoints · 5 totalmissing one? ·

Search for properties for sale on Casa Sapo. Filters include location, property type, price range, area range, and typology. Returns one page of listing summaries per call; advance with the pn parameter. Each page contains up to ~30 results.

Input
ParamTypeDescription
pnintegerPage number.
locationrequiredstringLocation slug identifying the area to search in (e.g. 'lisboa', 'porto', 'faro', 'braga').
max_areaintegerMaximum area in square meters.
min_areaintegerMinimum area in square meters.
typologystringTypology (number of bedrooms) filter.
max_priceintegerMaximum price in Euros.
min_priceintegerMinimum price in Euros.
property_typestringProperty type filter.
Response
{
  "type": "object",
  "fields": {
    "url": "string, the constructed search URL",
    "page": "integer, current page number",
    "listings": "array of listing summary objects with url, title, price, area (optional), previous_price (optional), price_reduction (optional)"
  },
  "sample": {
    "data": {
      "url": "https://casa.sapo.pt/comprar-apartamentos/lisboa/",
      "page": 1,
      "listings": [
        {
          "url": "https://casa.sapo.pt/comprar-apartamento-t3-lisboa-sao-vicente-centro-(santa-engracia)-f5fdc199-3e30-11f1-9a8d-060000000057.html?g3pid=1079121",
          "area": "Renovado  ·  73m²",
          "price": "560.000 €",
          "title": "Apartamento T3",
          "previous_price": "575.000 €",
          "price_reduction": "-2,61%"
        },
        {
          "url": "https://casa.sapo.pt/comprar-apartamento-t1-lisboa-avenidas-novas-c0f52385-63ea-11f1-ba38-060000000058.html?g3pid=1079006",
          "area": "Novo  ·  73m²",
          "price": "700.000 €",
          "title": "Apartamento T1"
        }
      ]
    },
    "status": "success"
  }
}

About the Casa Sapo API

Search and Filter Portuguese Properties

The search_listings_for_sale and search_listings_for_rent endpoints accept a required location slug (e.g. lisboa, porto, faro) alongside optional filters: property_type (apartamentos, moradias, terrenos, lojas, escritorios, predios, armazens, quintas-herdades), typology (T0 through T6-ou-superior), min_price/max_price in Euros, and min_area/max_area in m². Both return paginated results via the pn parameter, with each listing object containing url, title, price, area, and — when applicable — previous_price and price_reduction fields.

Listing Detail and Market Signals

Pass any listing URL from search results to get_listing_detail to retrieve the full record: price, title, description, location_text, and a features object containing key-value property attributes. The search_new_listings endpoint surfaces apartments published in the last 8 days and accepts an optional location filter. The search_price_reduced_listings endpoint targets listings with recent price cuts, returning previous_price and price_reduction alongside current price and area — useful for tracking market softening by location.

Pagination and Coverage Notes

All search endpoints expose a page field in the response and accept a pn input for walking through result sets. The search_price_reduced_listings endpoint notes limited inventory — typically fewer than 10 results — reflecting the actual volume of price-drop listings on the portal at any time. The search_listings_for_rent response may include mixed listing types, as the portal's own feed can surface varied property categories within a rental query.

Reliability & maintenanceVerified

The Casa Sapo API is a managed, monitored endpoint for casasapo.pt — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when casasapo.pt 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 casasapo.pt 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
4d 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
  • Monitor price reductions on Porto apartments using search_price_reduced_listings with a location filter.
  • Build a new-listing alert system for Lisbon properties with search_new_listings polled on a schedule.
  • Aggregate sale listing counts by typology (T1, T2, T3) across multiple location slugs for market analysis.
  • Enrich a CRM with full property descriptions and feature sets by passing listing URLs to get_listing_detail.
  • Compare asking prices across property types (moradias vs. apartamentos) in the same location using search_listings_for_sale.
  • Track area-to-price ratios by filtering min_area/max_area alongside min_price/max_price in search queries.
  • Identify recently listed commercial properties (lojas, escritorios, armazens) in Faro using property_type filters.
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 Sapo have an official developer API?+
Casa Sapo does not publish a public developer API or documented data feed for third-party use.
What does `get_listing_detail` return beyond price and title?+
It returns a description string (the full property description text), a features object of key-value attribute pairs (room count, floor, energy rating, etc. when present on the listing page), and a location_text field. The features object may be empty if the listing page does not expose structured attributes.
Do the search endpoints cover all property types for rent, including commercial?+
The search_listings_for_rent endpoint accepts the same property_type values as the sale endpoint — including lojas, escritorios, and armazens — so commercial rentals are in scope. However, the endpoint notes that results may include mixed listing types from the portal's feed, so result composition can vary. You can fork the API on Parse and revise it to add a dedicated commercial-rental endpoint with stricter type filtering if that matters for your use case.
Is there an endpoint for property valuations or historical price data?+
Not currently. The API covers current asking prices, price reductions (via search_price_reduced_listings), and listing-level previous_price fields where the portal exposes them — but no valuation estimates or historical price series. You can fork the API on Parse and revise it to add an endpoint targeting any valuation or statistics pages the portal may offer.
How does pagination work across the search endpoints?+
Pass an integer to the pn parameter to request a specific page. The response includes a page field confirming the current page and a url field showing the constructed search URL. There is no explicit total-page count returned, so you iterate until the listings array is empty or contains fewer results than a full page.
Page content last updated . Spec covers 5 endpoints from casasapo.pt.
Related APIs in Real EstateSee all →
idealista.pt API
Search and filter property listings across Portugal by location, price, and size, then access detailed information about each property including its characteristics and pricing history. Monitor how property prices change over time to help you make informed decisions about buying or selling real estate.
casa.it API
Search and browse property listings from Casa.it, Italy's real estate marketplace. Retrieve listings by location, price, size, property type, and transaction type (sale or rent), and fetch full details for individual properties including descriptions, photos, features, and publisher information.
imovirtual.com API
Search and browse real estate listings across Portugal, view detailed property information including prices and specifications, and discover new housing developments. Find your ideal home by accessing comprehensive market data all in one place.
zapimoveis.com.br API
Search and filter real estate listings across Brazil on ZAP Imóveis — the country's largest property portal. Retrieve listings for sale or rent with detailed attributes including price, location, size, bedrooms, bathrooms, parking, and amenities. Supports location autocomplete, property type discovery, and full listing detail retrieval.
olx.pt API
Search and monitor real estate listings and business advertisements from OLX Portugal with advanced filtering and pagination options. Get detailed information about specific listings including prices, descriptions, and seller details to find exactly what you're looking for.
portalinmobiliario.com API
Search and analyze property listings from Chile's top real estate platform, accessing detailed information like prices in UF or CLP, room and bathroom counts, square footage, and locations for apartments, houses, and other properties. Quickly compare available properties and gather market data to find your ideal home or investment opportunity.
vivareal.com.br API
Search for properties across Brazil's real estate marketplace and access detailed listings with photos, amenities, contact information, and agency portfolios. Discover homes by location, browse available property types, and connect directly with real estate advertisers.
airbnb.pt API
Search for rental listings in any location, view detailed information about properties including availability and guest reviews. Browse hundreds of accommodations to find the perfect place that fits your travel needs and budget.