Sava предоставляет read-only API и MCP endpoint для продуктов, чатботов и исследовательских инструментов, которым нужны структурированные данные о жилых новостройках Португалии.

В данных есть названия проектов, локации, координаты, типологии, диапазоны цен и площадей, год завершения, застройщик при наличии, изображение, этажность, число юнитов, примерное время до пляжа, аэропорта и международных школ, а также актуальное наличие квартир и ссылки на планировки там, где есть данные источников.

REST API

Используйте простые HTTP endpoints для поиска проектов, деталей по slug, списка муниципалитетов, таблиц наличия и OpenAPI-спецификации.

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=ru
Пример JSON-ответа
{
  "projects": [
    {
      "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
        }
      }
  ]
}
Endpoint
https://sava.pt/api/v1/projects/1965-cidade-jardim?locale=ru

MCP

Используйте JSON-RPC на /api/mcp/, чтобы дать ассистентам и агентам те же операции в формате инструментов.

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=ru
OpenAPI
https://sava.pt/api/v1/openapi.json
Endpoints
МетодPathНазначениеПараметры
GET/api/v1/projectsПоиск проектов по фильтрам, включая инфраструктуру в 15 минутах пешком. Ответ включает координаты, изображение, этажность, число юнитов, время в пути, walking_access_15_summary и summary по наличию, если известны актуальные квартиры.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}Полные детали проекта, включая available_units при наличии данных.slug, locale
GET/api/v1/projects/{slug}/media????/??????????? ??????? ? ?????? ?? ?????????? ??? ??????? ?????? ??????????.slug, locale
GET/api/v1/projects/{slug}/available-unitsАктуальное наличие квартир: цены, этаж, спальни/санузлы, площади, паркинг и ссылки на планировки при наличии данных источников.slug, locale
GET/api/v1/locationsСписок доступных муниципалитетов.limit
GET/api/v1/facetsСписок доступных фильтров, типологий, годов завершения и числовых диапазонов.-
GET/api/v1/openapi.jsonOpenAPI-спецификация.-
POST/api/mcp/Вызов MCP-инструментов через 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