Web-page view of https://agent.index.cy/openapi.json for tools that read pages and follow links. The text below is the complete answer; every address in it is a link you can open. Command-line tools get the raw form.
{
"openapi": "3.1.0",
"info": {
"title": "index.cy agent API",
"version": "1.0.0",
"description": "Search property for sale and rent in Cyprus. Human-readable instructions: https://agent.index.cy/agent.md"
},
"servers": [
{
"url": "https://agent.index.cy"
}
],
"paths": {
"/v1/listings": {
"get": {
"operationId": "searchListings",
"summary": "Search listings for sale or rent",
"parameters": [
{
"name": "deal",
"in": "query",
"schema": {
"type": "string",
"enum": [
"sale",
"rent"
],
"default": "sale"
}
},
{
"name": "district",
"in": "query",
"description": "District. Comma separated for several. One of: famagusta, larnaca, limassol, nicosia, paphos.",
"schema": {
"type": "string"
}
},
{
"name": "location",
"in": "query",
"description": "Town, village or area. Comma separated for several. Slugs come from /v1/locations.",
"schema": {
"type": "string"
}
},
{
"name": "property_type",
"in": "query",
"description": "Property type. Comma separated for several. One of: apartment, building, house, land-plots, office, commercial.",
"schema": {
"type": "string"
}
},
{
"name": "bedrooms",
"in": "query",
"description": "Bedrooms. Comma separated for several. One of: studio, 1, 2, 3, 4, 5, 6.",
"schema": {
"type": "string"
}
},
{
"name": "bathrooms",
"in": "query",
"description": "Bathrooms. Comma separated for several. One of: 1, 2, 3, 4, 5.",
"schema": {
"type": "string"
}
},
{
"name": "condition",
"in": "query",
"description": "Condition. Comma separated for several. One of: brand-new, pre-owned, under-construction.",
"schema": {
"type": "string"
}
},
{
"name": "year_built",
"in": "query",
"description": "Year built. Comma separated for several. One of: 1990-and-older, 1991-2000, 2001-2010, 2009, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025, 2026, 2027, 2028, 2029, 2030.",
"schema": {
"type": "string"
}
},
{
"name": "energy_class",
"in": "query",
"description": "Energy class. Comma separated for several. One of: a, a-plus, b, b-plus, c, d, e.",
"schema": {
"type": "string"
}
},
{
"name": "furnishing",
"in": "query",
"description": "Furnishing. Comma separated for several. One of: furnished, partially-furnished, unfurnished.",
"schema": {
"type": "string"
}
},
{
"name": "pool",
"in": "query",
"description": "Pool. Comma separated for several. One of: common, no, private, yes.",
"schema": {
"type": "string"
}
},
{
"name": "parking",
"in": "query",
"description": "Parking. Comma separated for several. One of: covered, no, uncovered, yes.",
"schema": {
"type": "string"
}
},
{
"name": "heating",
"in": "query",
"description": "Heating. Comma separated for several. One of: autonomous-heating, central-heating, no, radiators, underfloor-heating, yes.",
"schema": {
"type": "string"
}
},
{
"name": "air_conditioning",
"in": "query",
"description": "Air conditioning. Comma separated for several. One of: all-rooms, no, partial, yes.",
"schema": {
"type": "string"
}
},
{
"name": "amenities",
"in": "query",
"description": "Amenities. Comma separated for several. One of: air-conditioning, alarm, balcony, bbq-zone, bike-parking, elevator, fireplace, garden, guest-wc, gym, heating, parking, pool, roof-garden, spasauna, storage-room.",
"schema": {
"type": "string"
}
},
{
"name": "view",
"in": "query",
"description": "View. Comma separated for several. Sale only. One of: city-view, mountains-view, sea-view.",
"schema": {
"type": "string"
}
},
{
"name": "pets",
"in": "query",
"description": "Pets. Comma separated for several. Rent only. One of: allowed, not-allowed.",
"schema": {
"type": "string"
}
},
{
"name": "seller_type",
"in": "query",
"description": "Seller type. Comma separated for several. One of: agency, developer, property-owner.",
"schema": {
"type": "string"
}
},
{
"name": "price_min",
"in": "query",
"schema": {
"type": "integer",
"minimum": 0
}
},
{
"name": "price_max",
"in": "query",
"schema": {
"type": "integer",
"minimum": 0
}
},
{
"name": "area_min",
"in": "query",
"schema": {
"type": "integer",
"minimum": 0
}
},
{
"name": "area_max",
"in": "query",
"schema": {
"type": "integer",
"minimum": 0
}
},
{
"name": "plot_min",
"in": "query",
"schema": {
"type": "integer",
"minimum": 0
}
},
{
"name": "plot_max",
"in": "query",
"schema": {
"type": "integer",
"minimum": 0
}
},
{
"name": "listed_within_days",
"in": "query",
"schema": {
"type": "integer",
"minimum": 0
}
},
{
"name": "project_id",
"in": "query",
"schema": {
"type": "integer",
"minimum": 0
}
},
{
"name": "company_id",
"in": "query",
"schema": {
"type": "integer",
"minimum": 0
}
},
{
"name": "near",
"in": "query",
"description": "lat,lng",
"schema": {
"type": "string"
}
},
{
"name": "radius_km",
"in": "query",
"schema": {
"type": "number",
"default": 2,
"maximum": 100
}
},
{
"name": "bbox",
"in": "query",
"description": "sw_lat,sw_lng,ne_lat,ne_lng",
"schema": {
"type": "string"
}
},
{
"name": "good_deal",
"in": "query",
"description": "Sale only.",
"schema": {
"type": "string",
"enum": [
"1"
]
}
},
{
"name": "q",
"in": "query",
"schema": {
"type": "string",
"maxLength": 100
}
},
{
"name": "sort",
"in": "query",
"schema": {
"type": "string",
"enum": [
"recommended",
"newest",
"price_asc",
"price_desc",
"area_asc",
"area_desc",
"price_m2_asc",
"price_m2_desc"
]
}
},
{
"name": "limit",
"in": "query",
"schema": {
"type": "integer",
"minimum": 1,
"maximum": 25,
"default": 10
}
},
{
"name": "cursor",
"in": "query",
"schema": {
"type": "string"
}
},
{
"name": "detail",
"in": "query",
"description": "full returns everything about each result, at most 10 per page.",
"schema": {
"type": "string",
"enum": [
"summary",
"full"
],
"default": "summary"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"type": "object"
}
}
}
},
"default": {
"$ref": "#/components/responses/Error"
}
}
}
},
"/v1/listings/{id}": {
"get": {
"operationId": "getListing",
"summary": "Everything about one listing",
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"schema": {
"type": "integer"
}
},
{
"name": "include",
"in": "query",
"schema": {
"type": "string",
"enum": [
"estimate"
]
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"type": "object"
}
}
}
},
"default": {
"$ref": "#/components/responses/Error"
}
}
}
},
"/v1/listings/{id}/similar": {
"get": {
"operationId": "similarListings",
"summary": "Similar live listings",
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"schema": {
"type": "integer"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"type": "object"
}
}
}
},
"default": {
"$ref": "#/components/responses/Error"
}
}
}
},
"/v1/listings/lookup": {
"get": {
"operationId": "lookupListing",
"summary": "Listing id from an index.cy link or a reference number",
"parameters": [
{
"name": "url",
"in": "query",
"schema": {
"type": "string"
}
},
{
"name": "ref",
"in": "query",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"type": "object"
}
}
}
},
"default": {
"$ref": "#/components/responses/Error"
}
}
}
},
"/v1/locations": {
"get": {
"operationId": "resolveLocation",
"summary": "Place name to location slug",
"parameters": [
{
"name": "q",
"in": "query",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"type": "object"
}
}
}
},
"default": {
"$ref": "#/components/responses/Error"
}
}
}
},
"/v1/meta": {
"get": {
"operationId": "getMeta",
"summary": "Every search parameter with its allowed values",
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"type": "object"
}
}
}
},
"default": {
"$ref": "#/components/responses/Error"
}
}
}
}
},
"components": {
"responses": {
"Error": {
"description": "Error with a hint that says what to do next",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"error": {
"type": "object",
"properties": {
"code": {
"type": "string"
},
"message": {
"type": "string"
},
"hint": {
"type": "string"
}
}
}
}
}
}
}
}
}
}
}