Sava provides a read-only API and MCP endpoint for products, chatbots and research tools that need structured access to residential new-build projects in Portugal.

The dataset includes project names, locations, coordinates, typologies, amenities such as gym, pool, parking, spa or sauna, price and area ranges, completion year, developer when known, image, floors, total units, estimated travel times to the beach, airport and international schools, 15-minute walking infrastructure, plus current unit availability, photos, official images and floorplan links where source data is available.

REST API

Use simple HTTP endpoints to search projects, open details by slug, list municipalities, fetch availability tables and open the OpenAPI specification.

Endpoint
https://sava.pt/api/v1/projects?municipality=Lisboa&typology=T2&amenity=gym,pool&has_parking=true&walk_15_category=supermarket,park&max_price=700000&limit=3&locale=en
Example JSON response
{
  "items": [
    {
      "name": "1965 Cidade Jardim",
      "municipality": "Loures",
      "typologies": ["T1", "T2", "T3"],
      "price_min": 350000,
      "image_count": 3,
      "floorplan_count": 2,
      "amenities": ["gym", "pool", "parking"],
      "amenities_flags": {
        "gym": true,
        "pool": true,
        "parking": true,
        "spa_sauna": false
      },
      "walking_access_15_summary": {
        "has_data": true,
        "categories_count": 5,
        "total_places": 32,
        "category_counts": {
          "supermarket": 4,
          "park": 2,
          "metro": 1
        }
      },
      "available_units_summary": {
        "has_available_units": true,
        "available_units_count": 12,
        "available_typologies": ["T2", "T3"],
        "available_price_min": 369000,
        "floorplan_count": 4
      }
    }
  ]
}
Endpoint
https://sava.pt/api/v1/projects/1965-cidade-jardim?locale=en
Availability endpoint
https://sava.pt/api/v1/projects/1965-cidade-jardim/available-units?locale=en

MCP

Use JSON-RPC at /api/mcp/ to expose the same operations to assistants and tool-compatible agents.

curl MCP
curl -X POST https://sava.pt/api/mcp/ \
  -H "Content-Type: application/json" \
  --data '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}'
Media endpoint
https://sava.pt/api/v1/projects/1965-cidade-jardim/media?locale=en
OpenAPI
https://sava.pt/api/v1/openapi.json
Endpoints
MethodPathPurposeParameters
GET/api/v1/projectsSearch projects by filters, including region_group, amenities, 15-minute walking infrastructure and availability. The response includes coordinates, image, floors, total units, travel times, amenities, walking_access_15_summary and availability summary when current units are known.region_group, municipality, locality, typology, property_type, amenity, has_gym, has_pool, has_parking, has_spa_sauna, walk_15_category, min_walk_15_categories, min_walk_15_places, has_walk_15_supermarket, has_walk_15_park, has_walk_15_metro, min_price, max_price, min_area, max_area, completion_year, max_beach_drive_minutes, max_airport_drive_minutes, max_school_drive_minutes, max_school_walk_minutes, min_total_units, has_available_units, available_typology, max_available_price, min_bedrooms, max_bedrooms, locale, limit
GET/api/v1/projects/{slug}Get complete project details, including available_units when known.slug, locale
GET/api/v1/projects/{slug}/mediaGet project photos/images and floorplan links when source data is available.slug, locale
GET/api/v1/projects/{slug}/available-unitsGet current unit availability, prices, floor/bedroom data and floorplan links when source data is available.slug, locale
GET/api/v1/locationsList available regions and municipalities, with slugs and /cities/ URLs.limit
GET/api/v1/facetsList available filters, amenities, typologies, completion years and numeric ranges.-
GET/api/v1/openapi.jsonFetch the OpenAPI specification.-
POST/api/mcp/Call MCP tools via JSON-RPC.search_new_build_projects, get_new_build_project, get_new_build_project_available_units, get_new_build_project_media, list_new_build_locations, get_new_build_facets