# Bezrealitky Search API Documentation

<p><strong>Bezrealitky Search API</strong> lists properties for sale or for rent in the Czech Republic. Get region ids from the autocomplete route and pass them as <code>region_ids</code>. Prices are in CZK, rent is per month. A missing value is <code>null</code>, never 0.</p><p>Every filter you send is applied and every item is checked against it. An item that breaks a filter is dropped and counted in <code>meta.dropped_by_filter</code>. A page past the last page returns an empty list with the real <code>total</code> and <code>has_next</code> false, never the first page under another number. The site has no bathrooms filter, so <code>bathrooms</code> (and any other unknown parameter) returns a 422 instead of being ignored. A valid empty result is billed.</p>

- **Documentation:** [https://scrappa.co/docs/bezrealitky-api/bezrealitky_search](https://scrappa.co/docs/bezrealitky-api/bezrealitky_search)
- **API group:** Bezrealitky API
- **Endpoint:** `GET https://scrappa.co/api/bezrealitky/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 |
| --- | --- | --- | --- |
| `offer_type` | string | No | sale (default) or rent. |
| `estate_type` | array | No | One or more of apartment, house, land, garage, office, commercial, recreation. Send estate_type[]=apartment&estate_type[]=house or a comma list. |
| `land_type` | array | No | For land: building, commercial, field, meadow, forest, pond, garden or other. |
| `region_ids` | array | No | Region ids from the autocomplete route, for example R438171 (Brno). Up to 10. |
| `bedrooms` | array | No | Room counts the Czech way: the living room counts. 0 returns studios, 2 returns 2+kk and 2+1. Send bedrooms or disposition, not both. |
| `disposition` | array | No | Exact layouts such as 2+kk, 3+1, 4+izb, studio or other. |
| `price_min` | integer | No | Minimum price in CZK. For rent, per month. |
| `price_max` | integer | No | Maximum price in CZK. For rent, per month. |
| `area_min` | integer | No | Minimum living area in square meters. |
| `area_max` | integer | No | Maximum living area in square meters. |
| `land_area_min` | integer | No | Minimum land area in square meters. |
| `land_area_max` | integer | No | Maximum land area in square meters. |
| `balcony` | boolean | No | Send true to keep only adverts with the feature. The same applies to: balcony, loggia, terrace, cellar, parking, garage, lift, pet_friendly, barrier_free, low_energy, roommate, discounted_only, include_short_term. A value of false is not accepted. |
| `ownership` | array | No | personal, cooperative, municipal or other. |
| `condition` | array | No | very_good, good, bad, construction, project, new, demolition, before_reconstruction, after_reconstruction, after_partial_reconstruction or in_reconstruction. |
| `construction` | array | No | wood, brick, stone, prefab, panel, skeleton or mixed. |
| `equipped` | array | No | unfurnished, partially or furnished. |
| `available_from` | string | No | Earliest move-in date, YYYY-MM-DD. |
| `query` | string | No | Free-text match on the advert, such as a district name. It is not a strict location filter: use region_ids or bbox for that. |
| `bbox` | string | No | Search inside a box: south,west,north,east. Send bbox or polygon, not both. |
| `polygon` | string | No | Search inside an area: lat,lng;lat,lng;lat,lng (3 to 50 points). |
| `sort` | string | No | newest (default), price_asc, price_desc, area_asc, area_desc or discount. |
| `page` | integer | No | One-based page number (default 1, max 1000). |
| `per_page` | integer | No | Items per page, 1 to 60 (default 15). |

## Example response

```json
{
    "data": {
        "items": [
            {
                "id": "1081878",
                "geo": {
                    "latitude": 49.1910869,
                    "longitude": 16.6016095
                },
                "url": "https://www.bezrealitky.cz/nemovitosti-byty-domy/1081878-nabidka-pronajem-bytu-anenska-brno",
                "area": 72,
                "tags": [
                    "Vybaveno"
                ],
                "price": {
                    "amount": 15000,
                    "period": "month",
                    "charges": 1000,
                    "currency": "CZK",
                    "is_discounted": false,
                    "original_amount": null
                },
                "rooms": 2,
                "title": "Pron\u00e1jem bytu 2+1 72 m\u00b2, Anensk\u00e1, Brno",
                "images": [
                    {
                        "id": "28418557",
                        "url": "https://\u2026/record_main/1792828444-ptnwoplgcm-3a.jpg",
                        "main": true,
                        "order": 1
                    },
                    {
                        "id": "28418558",
                        "url": "https://\u2026/record_main/1792828443-nowpkwgccv-10a.jpg",
                        "main": false,
                        "order": 2
                    }
                ],
                "is_new": false,
                "videos": [],
                "address": "Anensk\u00e1, Brno - Star\u00e9 Brno, Jihomoravsk\u00fd kraj",
                "reserved": false,
                "roommate": false,
                "land_area": null,
                "thumbnail": "https://\u2026/record_main/1792828444-ptnwoplgcm-3a.jpg",
                "offer_type": "rent",
                "short_term": false,
                "disposition": "2+1",
                "estate_type": "apartment",
                "highlighted": false,
                "pet_friendly": null
            }
        ],
        "pagination": {
            "page": 1,
            "total": 25,
            "has_next": true,
            "per_page": 15,
            "total_pages": 2
        }
    },
    "meta": {
        "billable": true,
        "endpoint_family": "search",
        "dropped_by_filter": 0
    },
    "success": true
}
```

## Errors

| Status | Error | Description |
| --- | --- | --- |
| 422 | Validation Error | A required parameter or a value is invalid, or the parameter does not exist. This response is not billable. |
| 503 | Upstream Unavailable | Bezrealitky 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)
