Data API reference
The Alpine Market public Data API (v1) exposes property facts, comparables, and the recorded transaction registry, read-only, over HTTPS. Every response is wrapped in the same envelope so you always know how fresh, confident, and licensed a value is, not just what it is.
The envelope
Every endpoint below returns this shape. data holds the payload (an object, an array, or null when nothing was found or the API is unavailable). The metadata fields sit alongside it.
{
"data": /* endpoint-specific payload, or null */,
"as_of": "2026-07-09T08:00:00.000Z", // ISO timestamp the data was current as of
"source_summary": "Plain-English data source",
"confidence": 0.82, // 0-1, or null if not applicable
"licence": "Terms governing reuse of this response",
"visibility": "public", // the tier this response was filtered to
"data_quality_notes": null // caveats, or null
}Licence and confidence model
Every material fact in Alpine Market carries a source, a confidence score, and a licence, all the way down to the individual field (see property_facts in our data model). The public API surfaces a response-level roll-up of that provenance today; per-field provenance is on the roadmap for professional-tier API access. A missing or null confidence means the value is a directly-observed fact rather than a modeled estimate, not that it is untrustworthy.
What is not in this API
Owner and transaction-party identity (buyer, seller, notary, broker names) is excluded from every public endpoint, by construction: the routes below never query the parties or transaction_parties tables. That data is available to verified professional accounts only, through the Alpine Professional terminal, not this API.
Access and rate limits
All endpoints are read-only GET requests and require no authentication during this preview. Rate limiting is planned before general availability; heavy or automated use should wait for an API key. Bulk export and commercial licensing are handled through Alpine Professional.
Endpoints
/api/v1/search/addressSearch properties by free-text address. Ranked by match exactness then data completeness.
Query params: q (required): search text matched against street, postal code, city.
Example request
GET /api/v1/search/address?q=Bahnhofstrasse%20ZurichExample response
{
"data": [
{
"property_id": "6a1c...e2f0",
"address": "Bahnhofstrasse 1, 8001 Zurich",
"canton": "ZH",
"property_type": "office"
}
],
"as_of": "2026-07-09T08:00:00.000Z",
"source_summary": "Alpine Market property index: aggregated Swiss listing portals plus enrichment from official registries.",
"confidence": null,
"licence": "Alpine Market Public Data API v1: evaluation and non-commercial use...",
"visibility": "public",
"data_quality_notes": null
}/api/v1/properties/{id}Core physical and cadastral facts for one property: address, geo, rooms, areas, year built, energy label, EGID/EDID/EWID. Public fields only.
Example request
GET /api/v1/properties/6a1c1e2f-0000-0000-0000-000000000000Example response
{
"data": {
"property_id": "6a1c...e2f0",
"category": "residential",
"property_type": "apartment",
"city": "Zurich",
"canton": "ZH",
"postal_code": "8001",
"rooms": 3.5,
"living_area_sqm": 82,
"year_built": 1998,
"data_completeness_score": 74,
"...": "..."
},
"as_of": "2026-07-09T08:00:00.000Z",
"source_summary": "Alpine Market property index (Swiss listing portals, enriched from official registries).",
"confidence": 0.74,
"licence": "Alpine Market Public Data API v1: evaluation and non-commercial use...",
"visibility": "public",
"data_quality_notes": null
}/api/v1/properties/{id}/transactionsRecorded sale/transfer history for the property: registered prices and dates. Never includes buyer, seller, notary, or broker names.
Example request
GET /api/v1/properties/6a1c1e2f-0000-0000-0000-000000000000/transactionsExample response
{
"data": [
{
"transaction_id": "9f2b...",
"transaction_type": "open_market",
"registration_date": "2021-03-15",
"gross_consideration": 1250000,
"currency": "CHF",
"normalized_chf": 1250000,
"arm_length": "arm_length",
"status": "active",
"confidence": 0.9,
"object_role": "primary",
"allocated_price": 1250000,
"allocation_method": "source_provided",
"source_document_url": null
}
],
"as_of": "2026-07-09T08:00:00.000Z",
"source_summary": "Alpine Market transaction registry (recorded transfers, where available).",
"confidence": 0.9,
"licence": "Alpine Market Public Data API v1: evaluation and non-commercial use...",
"visibility": "public",
"data_quality_notes": null
}/api/v1/properties/{id}/valuationLatest Alpine Estimate for the property: the AVM output, method, and confidence band.
Example request
GET /api/v1/properties/6a1c1e2f-0000-0000-0000-000000000000/valuationExample response
{
"data": {
"channel": "sale",
"estimate": 1180000,
"low": 1080000,
"high": 1280000,
"confidence": 0.72,
"method": "comps_v0",
"comp_count": 6,
"model_version": null,
"as_of": "2026-07-01T00:00:00.000Z"
},
"as_of": "2026-07-01T00:00:00.000Z",
"source_summary": "Alpine Estimate (comparable-sales AVM).",
"confidence": 0.72,
"licence": "Alpine Market Public Data API v1: evaluation and non-commercial use...",
"visibility": "public",
"data_quality_notes": null
}/api/v1/properties/{id}/comparablesUp to 10 comparable active listings: same canton, same property type, rooms within +/-1.
Example request
GET /api/v1/properties/6a1c1e2f-0000-0000-0000-000000000000/comparablesExample response
{
"data": [
{
"property_id": "b0e4...",
"listing_id": "22f1...",
"slug": "apartment-8001-zurich-b0e4",
"channel": "sale",
"city": "Zurich",
"canton": "ZH",
"property_type": "apartment",
"rooms": 3.5,
"living_area_sqm": 78,
"price": 1150000,
"currency": "CHF",
"price_unit": "total"
}
],
"as_of": "2026-07-09T08:00:00.000Z",
"source_summary": "Alpine Market active listing index, matched by canton, property type, and rooms band (+/-1).",
"confidence": null,
"licence": "Alpine Market Public Data API v1: evaluation and non-commercial use...",
"visibility": "public",
"data_quality_notes": null
}Need more than the public API?
Owner lookups, transaction-party data, bulk export, and higher rate limits are available to verified professionals.
Explore Alpine Professional