Skip to content
Scrappa Get API key
Spitogatos API 1 credit/request

Spitogatos Search API Documentation

GET https://scrappa.co/api/spitogatos/search

Spitogatos Search API searches homes, offices, shops and land for sale or for rent in one or more areas. Filter by price, living area, rooms, construction year, property type, new development, price reductions and features. Sort by relevance or price and page through 30 listings at a time. Each listing has its price, size, rooms, bathrooms, floor, coordinates, photo ids, dates and agency. Every filter is checked: the response never holds a listing that breaks a requested filter, and page N is never page 1 labelled as page N. Failed requests are not billed.

Spitogatos Search API Documentation 1 credit/request

Endpoint

Request preview
GET
https://scrappa.co/api/spitogatos/search
Auth header
x-api-key
Cost
1 credit/request
listing_type = example area_ids = ["example"]
Response preview
200 OK
{
    "data": {
        "items": [
            {
                "id": 20717671,
                "url": "https://www.spitogatos.gr/aggelia/2120717671",
                "floor": {
                    "code": 6,
                    "label": "Floor 1"
                },
                "image": "https://m2.spitogatos.gr/366917227_300x220.jpg?v=20130730",
                "price": 30,
                "rooms": 2,
                "agency": {
...

Parameters

Start with the required fields, then add optional filters only when your use case needs them.

Runnable path

2 required parameters needed before sending a request.

22 optional filters available.

listing_type string Required

rent or sale.

Example value example
area_ids array Required

One to 10 area ids from the autocomplete route, as area_ids[]=100 or area_ids=100,101. Example: 100 is Athens Center.

Example value ["example"]
category string Optional

residential (default), commercial or land.

Example value example
property_types array Optional

Property type names. Residential: apartment, studio, maisonette, detached, building, farm, houseboat, villa, loft, bungalow. Commercial: office, store, warehouse, hotel, showroom. Land: plot, parcel.

Example value ["example"]
price_min integer Optional

Minimum price in EUR (rent: per month).

Example value 10
price_max integer Optional

Maximum price in EUR.

Example value 10
area_min integer Optional

Minimum living area in square meters.

Example value 10
area_max integer Optional

Maximum living area in square meters.

Example value 10
rooms_min integer Optional

Minimum bedrooms. Not for land.

Example value 10
rooms_max integer Optional

Maximum bedrooms. Not for land.

Example value 10
construction_year_min integer Optional

Built in or after this year. Not for land.

Example value 10
construction_year_max integer Optional

Built in or before this year. Not for land.

Example value 10
new_development boolean Optional

true to return new developments only.

Example value true
reductions boolean Optional

true to return listings with a reduced price only.

Example value true
furnished boolean Optional

true to return furnished listings only. Not for land.

Example value true
elevator boolean Optional

true to return listings with an elevator only. Not for land.

Example value true
balcony boolean Optional

true to return listings with a balcony only. Not for land.

Example value true
garden boolean Optional

true to return listings with a garden only. Not for land.

Example value true
air_conditioning boolean Optional

true to return listings with air conditioning only. Not for land.

Example value true
storage boolean Optional

true to return listings with a storage room only. Not for land.

Example value true
sort string Optional

relevance (default) or price.

Example value relevance
order string Optional

asc or desc. Default: asc for price, desc for relevance.

Example value example
page integer Optional

One-based page number, 1 to 1000 (default 1). 30 listings per page.

Example value 1
locale string Optional

Language of area names: el (default) or en.

Example value en-US

Response Schema

Example response fields are illustrative; inspect the JSON before integrating.

Example response fields

Scan these fields before integrating.

data meta success
JSON Response
200 OK
{
    "data": {
        "items": [
            {
                "id": 20717671,
                "url": "https://www.spitogatos.gr/aggelia/2120717671",
                "floor": {
                    "code": 6,
                    "label": "Floor 1"
                },
                "image": "https://m2.spitogatos.gr/366917227_300x220.jpg?v=20130730",
                "price": 30,
                "rooms": 2,
                "agency": {
                    "id": 0,
                    "logo": null,
                    "name": null,
                    "slug": null,
                    "membership": null,
                    "profile_url": null
                },
                "web_id": "2120717671",
                "ad_type": "simple",
                "area_m2": 70,
                "ad_types": [],
                "category": "residential",
                "kitchens": 1,
                "modified": "2026-09-01 21:16:22",
                "uploaded": "2026-08-28 20:10:18",
                "bathrooms": 1,
                "geography": "\u03a3\u03c4\u03b1\u03b8\u03bc\u03cc\u03c2 \u039b\u03b1\u03c1\u03af\u03c3\u03b7\u03c2 (\u039a\u03bf\u03bb\u03c9\u03bd\u03cc\u03c2 - \u039a\u03bf\u03bb\u03bf\u03ba\u03c5\u03bd\u03b8\u03bf\u03cd\u03c2)",
                "has_video": false,
                "image_ids": [
                    366917227,
                    366917248,
                    366917250
                ],
                "coordinates": {
                    "latitude": 37.987652,
                    "longitude": 23.718189,
                    "geocode_type": "exact"
                },
                "description": "\u039d\u039f\u0399\u039a\u0399\u0386\u0396\u0395\u03a4\u0391\u0399 \u03a0\u039b\u0397\u03a1\u03a9\u03a3 \u0391\u039d\u0391\u039a\u0391\u0399\u039d\u0399\u03a3\u039c\u0395\u039d\u039f \u039a\u0391\u0399 \u0395\u039e\u039f\u03a0\u039b\u0399\u03a3\u039c\u0388\u039d\u039f \u0394\u0399\u0391\u039c\u0395\u03a1\u0399\u03a3\u039c\u0391 \u03a3\u03a4\u0397\u039d \u039f\u0395\u03a1\u0399\u039f\u03a7\u0397 \u0393\u039a\u0391\u0396\u0399 \u039c\u0395\u03a4\u0391\u039e\u039f\u03a5\u03a1\u0393\u0395\u0399\u039f \u03a0\u03a1\u03a9\u03a4\u039f\u03a3 \u039f\u03a1\u039f\u03a6\u039f\u03a3 \u039c\u0395 \u039c\u03a0\u0391\u039b\u039a\u038c\u039d\u0399\u0391 \u0392\u039b\u0395\u03a0\u0395\u0399 \u03a3\u0395 \u03a0\u0386\u03a1\u039a\u039f. \u0394\u03a5\u039f \u039a\u03a1\u0395\u0392\u0392\u0391\u03a4\u039f\u039a\u0391\u039c\u0391\u03a1\u0395\u03a3. \u0397 \u0395\u039d\u039f\u0399\u039a\u038a\u0391\u03a3\u0397 \u0395\u0399\u039d\u0391\u0399 \u03a3\u03a4\u0391 30\u20ac \u03a4\u0397\u039d \u0397\u039c\u0388\u03a1\u0391 \u039c\u0395 \u0395\u039b\u0386\u03a7\u0399\u03a3\u03a4\u039f \u03a4\u039f\u039d \u0395\u039d\u0391 \u039c\u0397\u039d\u0391.",
                "listing_type": "rent",
                "living_rooms": 1,
                "price_per_m2": 0.43,
                "price_reduced": false,
                "property_type": "apartment",
                "new_development": false,
                "has_virtual_tour": false,
                "first_publish_date": "2026-08-28 20:21:10",
                "price_pre_reduction": null,
                "price_change_percentage": null
            }
        ],
        "pagination": {
            "page": 1,
            "total": 2035,
            "per_page": 30,
            "last_page": 68,
            "has_next_page": true
        },
        "applied_filters": {
            "sort": "price",
            "order": "asc",
            "area_ids": [
                100
            ],
            "category": "residential",
            "price_max": 900,
            "rooms_min": 2,
            "listing_type": "rent"
        },
        "search_metadata": {
            "areas": [
                {
                    "id": 100,
                    "name": "\u0391\u03b8\u03ae\u03bd\u03b1 - \u039a\u03ad\u03bd\u03c4\u03c1\u03bf",
                    "slug": null,
                    "level": 2,
                    "full_name": "\u0391\u03b8\u03ae\u03bd\u03b1 - \u039a\u03ad\u03bd\u03c4\u03c1\u03bf (\u0391\u03c4\u03c4\u03b9\u03ba\u03ae)",
                    "parent_id": 105103,
                    "coordinates": {
                        "latitude": 37.9894707207,
                        "longitude": 23.7344219707,
                        "geocode_type": null
                    },
                    "parent_name": "\u0391\u03c4\u03c4\u03b9\u03ba\u03ae"
                }
            ],
            "search_urls": {
                "el": "https://www.spitogatos.gr/enoikiaseis-katoikies/athina-kentro/timi_eos-900/dwmatia_apo-2/order_price_asc",
                "en": "https://www.spitogatos.gr/en/to_rent-homes/athens-center/maxprice-900/minrooms-2/order_price_asc"
            }
        }
    },
    "meta": {
        "billable": true,
        "endpoint_family": "search"
    },
    "success": true
}

Errors

Handle these documented responses before retrying or showing customer-facing failures.

422

Validation Error

A required parameter or a range is invalid. This response is not billable.

{
    "errors": {
        "listing_type": [
            "The listing type field is required."
        ]
    },
    "message": "The request validation failed"
}
404

Not Found

The area was not found. Use the autocomplete route. This response is not billable.

{
    "meta": {
        "billable": false,
        "retryable": false,
        "endpoint_family": "search"
    },
    "error": {
        "code": "NOT_FOUND",
        "message": "The requested resource was not found."
    },
    "success": false
}
503

Upstream Unavailable

Spitogatos could not be reached or returned data that does not match the request. This response is not billable and is retryable.

{
    "meta": {
        "billable": false,
        "retryable": true,
        "endpoint_family": "search"
    },
    "error": {
        "code": "UPSTREAM_UNAVAILABLE",
        "message": "Spitogatos could not be reached. Please retry shortly."
    },
    "success": false
}

Generate Code with AI

Copy a ready-made prompt with all the endpoint details, parameters, and example responses. Paste it into ChatGPT, Claude, or any AI assistant to instantly generate working code.

Try It Live

Test this endpoint in our interactive playground with real data.