Portugal Housing Data · For developers & analysts

Get the data: API, schema and bulk exports

Everything on this site is rendered from a public warehouse of official Portuguese statistics, and the warehouse is readable directly. This page is the developer and analyst door: the read-only endpoints, the OpenAPI description that documents them, the per-series CSV, and the licence and attribution terms that come with them.

Start here

Fetch the OpenAPI description first — it is generated from the running URL configuration, so it describes exactly what is served rather than what a hand-written document once claimed. Everything else below is discoverable from it.

1 · Read the contract

curl -H 'Accept: application/json' \
  https://api.estatesportugal.com/api/schema.json

2 · List what exists

curl https://api.estatesportugal.com/api/v1/catalog/series/

No key, no account, no rate-limit token: every endpoint on this page is public and read-only.

The doors, in the order you need them

URLs are shown as text to copy rather than as links — a browser is the wrong client for a JSON endpoint, and a reader who clicks one lands on a raw dump instead of a page. The human view of the same data is always one click away in the list below.

OpenAPI description (YAML)
The generated, always-current contract for every endpoint below — point a client generator or an agent at this first.https://api.estatesportugal.com/api/schema/Returns application/vnd.oai.openapi
OpenAPI description (JSON)
The same document in the representation most tooling expects.https://api.estatesportugal.com/api/schema.jsonReturns application/vnd.oai.openapi+json
Series registry
Every catalogued series with its title, units, value kind, granularity, periodicity and coverage window.https://api.estatesportugal.com/api/v1/catalog/series/Returns application/json
Observations for one series
The periods and values themselves, filterable by geography, each carrying its source and retrieval date.https://api.estatesportugal.com/api/v1/catalog/series/{varcd}/observations/Returns application/json
Research portal hub
The composed index this site’s data hub renders from — series, freshness and latest releases in one read.https://api.estatesportugal.com/api/v1/research/portal/hubReturns application/json
Gauge reconciliation
Portugal’s structurally different house-price measures side by side, each as its own lens with its own caveats.https://api.estatesportugal.com/api/v1/research/portal/gaugeReturns application/json

Spreadsheets, not code

If you want the numbers in a spreadsheet rather than in a client library, every series page carries a CSV export of exactly the table shown on it, with the attribution line already written into the file. Open the series you need and take the download — no endpoint required.

  • Browse the series index

    Every catalogued series as a searchable table — open one for its chart, its data table, its provenance block and its CSV.

  • Compare the gauges first

    Sold medians, asking levels and price indices are not interchangeable. Pick the right measure before you pull it, or your chart will say something you did not mean.

  • Ask in plain language

    Describe the cut you want and get back a rendered table with its sources, a citation and a CSV — useful for scoping a pull before you write any code.

  • Reading this as an agent?

    /agents.md indexes every citable surface in one document, and llms.txt plus the sitemap enumerate the pages.

What comes with the data

Licence
The compiled catalog is published under Creative Commons Attribution 4.0. The underlying releases carry their own upstream licences — INE data is CC BY 4.0 — and each observation names its own source, so you can honour the right one.
Attribution
Credit the ORIGINAL statistical release, not this site: cite the source, its reference period and its retrieval date, all three of which every response carries. Where our compilation is the thing you are quoting, name Estates Portugal alongside it.
Authentication
None. Every endpoint listed here is public, read-only and anonymous — there is no key to request and no account to create.
Fair use
Responses are cached and safe to poll, but the underlying statistics move on quarterly and monthly cadences, not on seconds. Pull on the cadence of the release, cache what you take, and identify your client in the User-Agent so we can tell a research pull from an incident.
Suppressed values are gaps, never zeros
Where a statistical office suppresses a cell for confidentiality, the response omits it. It is never substituted with a zero, an average or an estimate, and nothing on this site fills it in. Treat a missing period as missing.