# Spitogatos Search API Documentation

<p><strong>Spitogatos Search API</strong> 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.</p>

- **Documentation:** [https://scrappa.co/docs/spitogatos-api/spitogatos_search](https://scrappa.co/docs/spitogatos-api/spitogatos_search)
- **API group:** Spitogatos API
- **Endpoint:** `GET https://scrappa.co/api/spitogatos/search`

## Authentication

Send your Scrappa API key in the `X-API-KEY` request header. Paid endpoints also support accountless x402 payments when called without an API key.

## Parameters

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `listing_type` | string | Yes | rent or sale. |
| `category` | string | No | residential (default), commercial or land. |
| `area_ids` | array | Yes | One to 10 area ids from the autocomplete route, as area_ids[]=100 or area_ids=100,101. Example: 100 is Athens Center. |
| `property_types` | array | No | Property type names. Residential: apartment, studio, maisonette, detached, building, farm, houseboat, villa, loft, bungalow. Commercial: office, store, warehouse, hotel, showroom. Land: plot, parcel. |
| `price_min` | integer | No | Minimum price in EUR (rent: per month). |
| `price_max` | integer | No | Maximum price in EUR. |
| `area_min` | integer | No | Minimum living area in square meters. |
| `area_max` | integer | No | Maximum living area in square meters. |
| `rooms_min` | integer | No | Minimum bedrooms. Not for land. |
| `rooms_max` | integer | No | Maximum bedrooms. Not for land. |
| `construction_year_min` | integer | No | Built in or after this year. Not for land. |
| `construction_year_max` | integer | No | Built in or before this year. Not for land. |
| `new_development` | boolean | No | true to return new developments only. |
| `reductions` | boolean | No | true to return listings with a reduced price only. |
| `furnished` | boolean | No | true to return furnished listings only. Not for land. |
| `elevator` | boolean | No | true to return listings with an elevator only. Not for land. |
| `balcony` | boolean | No | true to return listings with a balcony only. Not for land. |
| `garden` | boolean | No | true to return listings with a garden only. Not for land. |
| `air_conditioning` | boolean | No | true to return listings with air conditioning only. Not for land. |
| `storage` | boolean | No | true to return listings with a storage room only. Not for land. |
| `sort` | string | No | relevance (default) or price. |
| `order` | string | No | asc or desc. Default: asc for price, desc for relevance. |
| `page` | integer | No | One-based page number, 1 to 1000 (default 1). 30 listings per page. |
| `locale` | string | No | Language of area names: el (default) or en. |

## Example response

```json
{
    "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

| Status | Error | Description |
| --- | --- | --- |
| 422 | Validation Error | A required parameter or a range is invalid. This response is not billable. |
| 404 | Not Found | The area was not found. Use the autocomplete route. This response is not billable. |
| 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. |

## More Scrappa resources

- [API documentation](https://scrappa.co/docs)
- [Full LLM-readable API reference](https://scrappa.co/llms-full.txt)
- [OpenAPI specification](https://scrappa.co/docs/api.json)
- [Pricing](https://scrappa.co/pricing)
