Search Casa Sapo properties for sale (`buy`) or rent (`rent`) across Portugal, by distrito, concelho or freguesia. Filter by property type, typology (T0 to T6), price, area and seller type, and sort by price or date. Each listing has its id, clean url, title, price as a number in euros, price drop with the previous price and percentage, area, typology, bedrooms, condition, location with coordinates, the full description, photos and the advertiser (agency name, id, profile url, website and address, or only the type `private`). Private seller names and telephone numbers are never returned. `data.total` is the total Casa Sapo reports for the filters. Pages hold 20 to 28 listings. A page that Casa Sapo does not serve is an empty list. `seller_type` is applied to each page after loading, so a page can hold fewer listings than `per_page`; `filtered_out` says how many were removed. Unknown locations answer 404 and are not billed. Casa Sapo publishes the content signal ai-train=no: do not use this data to train AI models.
Run this endpoint
Endpoint
Parameters
Start with the required fields, then add optional filters only when your use case needs them.
Runnable path
1 required parameter needed before sending a request.
10 optional filters available.
string
Required
buy (or sale) or rent.
example
string
Optional
apartamentos, moradias, terrenos, lojas, escritorios, predios, armazens, quintas-e-herdades, imoveis-de-luxo, garagens or quartos. Defaults to apartamentos.
example
string
Optional
Location slug from the locations endpoint: a concelho (lisboa), a freguesia (lisboa/santo-antonio) or a distrito (distrito.lisboa). Omit it to search all of Portugal.
Austin, Texas
integer
Optional
Typology T0 to T6 as 0 to 6, where 6 means T6 or larger. Only for apartamentos and moradias.
10
string
Optional
price_asc, price_desc, newest, oldest or most_photos. The default is Casa Sapo relevance.
relevance
integer
Optional
Minimum price in euros (monthly rent for rent).
10
integer
Optional
Maximum price in euros. Must not be below price_min.
10
integer
Optional
Minimum area in square meters.
10
integer
Optional
Maximum area in square meters. Must not be below area_min.
10
string
Optional
private or agency. Applied to each page after loading, so a page can hold fewer listings.
example
integer
Optional
Page number, 1-based.
1
Response Schema
Example response fields are illustrative; inspect the JSON before integrating.
Example response fields
Scan these fields before integrating.
data
meta
success
{
"data": {
"total": 411,
"filters": {
"bedrooms": 3,
"location": "lisboa",
"operation": "buy",
"price_max": 600000,
"property_type": "apartamentos"
},
"listings": [
{
"id": "94d94722-10d3-11f1-9e61-060000000056",
"url": "https://casa.sapo.pt/comprar-apartamento-t3-lisboa-santo-antonio-94d94722-10d3-11f1-9e61-060000000056.html",
"tags": [
"Com Garagem"
],
"g3pid": "1095490",
"price": 1880000,
"title": "Apartamento T3 Santo Ant\u00f3nio, Lisboa",
"images": [
"https://media.casasapo.pt/Z1440x1080/OAYES/S5/C5773/P29462664/Tphoto/ID8890c101-0000-0500-0000-00001885c712.JPG"
],
"area_m2": 124,
"bedrooms": 3,
"category": "Apartamentos",
"currency": "EUR",
"location": {
"text": "Santo Ant\u00f3nio, Lisboa, Distrito de Lisboa",
"country": "PT",
"concelho": "Lisboa",
"distrito": "Distrito de Lisboa",
"latitude": 38.7235,
"freguesia": "Santo Ant\u00f3nio",
"longitude": -9.15905
},
"typology": "T3",
"condition": "Recuperado",
"has_video": true,
"advertiser": {
"id": "14457",
"name": "IMOJOY Real Estate",
"slug": "imojoy-real-estate",
"type": "agency",
"address": "Rua dos Sobreiros, 25 C, Costa da Guia, Cascais",
"website": "http://imojoy.pt",
"profile_url": "https://casa.sapo.pt/agencia/imojoy-real-estate/?cl=14457&sys=5"
},
"price_drop": {
"percentage": -14.55,
"previous_price": 2200000,
"previous_price_text": "2.200.000 \u20ac"
},
"price_text": "1.880.000 \u20ac",
"description": "Apresentamos este exclusivo apartamento T3, totalmente reabilitado, situado na prestigiada Rua das Amoreiras, uma das localiza\u00e7\u00f5es mais valorizadas de Lisboa.",
"seller_type": "agency",
"transaction": "sale",
"property_type": "Apartamento T3",
"has_virtual_tour": true
}
],
"pagination": {
"page": 1,
"per_page": 25,
"has_next_page": true
}
},
"meta": {
"billable": true,
"endpoint_family": "search"
},
"success": true
}
Errors
Handle these documented responses before retrying or showing customer-facing failures.
HTTP 404
The listing, agency or location does not exist. This response is not billable.
HTTP 422
A parameter or filter is missing or invalid. This response is not billable.
HTTP 502
Casa Sapo answered a page that no longer matches the documented contract. This response is not billable.
HTTP 503
Casa Sapo is temporarily unavailable. Retry the request. This response is not billable.
Generate Code with AI
Copy a ready-made prompt with all the endpoint details, parameters, and example responses. Paste it into ChatGPT, Claude, or any AI assistant to instantly generate working code.
Try It Live
Test this endpoint in our interactive playground with real data.