# imot.bg Search API Documentation

<p><strong>imot.bg Search API</strong> returns Bulgarian properties for sale or for rent as JSON, up to 40 per page. Send a <code>location</code> text such as <code>София</code> or a <code>location_id</code> from the autocomplete route. Filter by deal, property type or rooms, price in EUR and area in m&sup2;, sort and page through the results.</p><p>Every returned item honours your price, area, deal and type filters. Promoted ads that ignore a filter on imot.bg are removed, so a page can hold fewer than 40 items; <code>filtered_out</code> shows how many. imot.bg shows at most 1,000 results per search (25 pages). <code>total_results</code> is the count imot.bg prints and can be a lower bound. A page past the last page returns an empty list with the true page number. Promoted ads stay on top of a sorted list.</p><p>imot.bg has no numeric bedroom filter. <code>bedrooms</code> selects the apartment type by room count: 1 is a 1-room apartment, 5 is five rooms or more. Send either <code>bedrooms</code> or <code>property_type</code>.</p><p><strong>Not covered:</strong> bathrooms and coordinates are not published by imot.bg and are never returned; bathroom, floor and year filters are rejected with a 422. Price history, districts and new-building project units are not part of this API.</p>

- **Documentation:** [https://scrappa.co/docs/imot-bg-api/imot_bg_search](https://scrappa.co/docs/imot-bg-api/imot_bg_search)
- **API group:** imot.bg API
- **Endpoint:** `GET https://scrappa.co/api/imot-bg/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 |
| --- | --- | --- | --- |
| `location` | string | No | City, region or neighbourhood text, for example София or Varna. Send this or location_id. |
| `location_id` | string | No | A location_id value from the autocomplete route. Send this or location. |
| `deal` | string | No | sale (default) or rent. |
| `property_type` | string | No | One of: ednostaen (1-room), dvustaen (2-room), tristaen (3-room), chetiristaen (4-room), mnogostaen (5+ rooms), mezonet, atelie-tavan, ofis, magazin, zavedenie, sklad, hotel, promishleno-pomeshtenie, biznes-imot, etazh-ot-kashta, kashta, vila, garazh-parkomyasto, zemedelska-zemya; sale also partsel; rent also staya and myasto. The list differs between sale and rent. |
| `bedrooms` | integer | No | Rooms class 1 to 5 (5 means 5 or more). Selects the 1-room to multi-room apartment type. Not with property_type. |
| `min_price` | integer | No | Minimum price in EUR (rent: per month). |
| `max_price` | integer | No | Maximum price in EUR. |
| `min_area` | integer | No | Minimum area in m2. |
| `max_area` | integer | No | Maximum area in m2. |
| `sort` | string | No | newest, price_asc, price_per_sqm_asc or newest_3_days. Default is the imot.bg order. |
| `page` | integer | No | One-based page number, 1 to 26 (default 1). imot.bg lists at most 1,000 results. |

## Example response

```json
{
    "data": {
        "items": [
            {
                "id": "1b177299482767651",
                "url": "https://www.imot.bg/obiava-1b177299482767651-prodava-dvustaen-apartament-grad-sofiya-benkovski",
                "floor": {
                    "label": "2-\u0440\u0438 \u0435\u0442. \u043e\u0442 3",
                    "total": 3,
                    "number": 2
                },
                "phone": "0899752570",
                "price": {
                    "amount": 105000,
                    "currency": "EUR"
                },
                "title": "\u041f\u0440\u043e\u0434\u0430\u0432\u0430 2-\u0421\u0422\u0410\u0415\u041d",
                "agency": null,
                "photos": [
                    "https://cdn3.focus.bg/imot/photosimotbg/1/651/1b177299482767651_XC.jpg",
                    "https://cdn3.focus.bg/imot/photosimotbg/1/651/1b177299482767651_Tp.jpg"
                ],
                "summary": "62 \u043a\u0432.\u043c, 2-\u0440\u0438 \u0435\u0442. \u043e\u0442 3, \u0429\u0435 \u0431\u044a\u0434\u0435 \u0432\u044a\u0432\u0435\u0434\u0435\u043d \u0432 \u0435\u043a\u0441\u043f\u043b\u043e\u0430\u0442\u0430\u0446\u0438\u044f 2027 \u0433., \u0414\u0418\u0420\u0415\u041a\u0422\u041d\u041e \u041e\u0422 \u0418\u041d\u0412\u0415\u0421\u0422\u0418\u0422\u041e\u0420\u0410! \u041f\u0440\u043e\u0434\u0430\u0432\u0430 \u0441\u0435 \u0434\u0432\u0443\u0441\u0442\u0430\u0435\u043d \u0430\u043f\u0430\u0440\u0442\u0430\u043c\u0435\u043d\u0442 \u0432 \u043d\u043e\u0432\u043e\u0441\u0442\u0440\u043e\u044f\u0449\u0430 \u0441\u0435 \u0441\u0433\u0440\u0430\u0434\u0430 \u043e\u0442 \u0432\u0438\u0441\u043e\u043a \u043a\u043b\u0430\u0441 \u0432 \u043a\u0432. ...",
                "area_sqm": 62,
                "location": "\u0433\u0440\u0430\u0434 \u0421\u043e\u0444\u0438\u044f, \u0411\u0435\u043d\u043a\u043e\u0432\u0441\u043a\u0438",
                "deal_type": "sale",
                "promotion": [
                    "TOP"
                ],
                "price_text": "105 000 \u20ac",
                "year_built": 2027,
                "photo_count": 9,
                "property_type": "2-\u0421\u0422\u0410\u0415\u041d",
                "is_private_seller": true
            },
            {
                "id": "1b179265846101800",
                "url": "https://www.imot.bg/obiava-1b179265846101800-prodava-dvustaen-apartament-grad-sofiya-serdika",
                "floor": {
                    "label": "2-\u0440\u0438 \u0435\u0442. \u043e\u0442 23",
                    "total": 23,
                    "number": 2
                },
                "phone": "0877 000 900",
                "price": {
                    "amount": 108221,
                    "currency": "EUR"
                },
                "title": "\u041f\u0440\u043e\u0434\u0430\u0432\u0430 2-\u0421\u0422\u0410\u0415\u041d",
                "agency": {
                    "id": "kmv",
                    "url": "https://kmv.imot.bg",
                    "logo": "https://www.imot.bg/images/logos/med/kmv.pic",
                    "name": "\u041a\u041c\u0412 \u041f\u0420\u041e\u041f\u042a\u0420\u0422\u0418 \u041c\u0415\u041d\u0418\u0414\u0416\u041c\u042a\u041d\u0422 \u0415\u041e\u041e\u0414",
                    "address": "\u0436.\u043a.\u0414\u0438\u0430\u043d\u0430\u0431\u0430\u0434, \u0443\u043b.\u0412\u0430\u0441\u0438\u043b \u041a\u0430\u043b\u0447\u0435\u0432 2, \u0435\u0442.2, \u043e\u0444\u0438\u0441 4"
                },
                "photos": [
                    "https://imotstatic1.focus.bg/imot/photosimotbg/1/800/1b179265846101800_Jw.jpg",
                    "https://imotstatic1.focus.bg/imot/photosimotbg/1/800/1b179265846101800_1w.jpg"
                ],
                "summary": "70 \u043a\u0432.\u043c, 2-\u0440\u0438 \u0435\u0442. \u043e\u0442 23, \u0429\u0435 \u0431\u044a\u0434\u0435 \u0432\u044a\u0432\u0435\u0434\u0435\u043d \u0432 \u0435\u043a\u0441\u043f\u043b\u043e\u0430\u0442\u0430\u0446\u0438\u044f 2029 \u0433., \u041a\u041c\u0412 \u041f\u0440\u043e\u043f\u044a\u0440\u0442\u0438 \u041c\u0435\u043d\u0438\u0434\u0436\u043c\u044a\u043d\u0442 \u0412\u0438 \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430 \u0437\u0430 \u043f\u0440\u043e\u0434\u0430\u0436\u0431\u0430 \u0443\u0434\u043e\u0431\u0435\u043d \u0434\u0432\u0443\u0441\u0442\u0430\u0435\u043d \u0430\u043f\u0430\u0440\u0442\u0430\u043c\u0435\u043d\u0442 \u0432 \u043d\u043e\u0432 \u0436\u0438\u043b\u0438\u0449\u0435\u043d \u043a\u043e\u043c\u043f\u043b\u0435\u043a\u0441 \u043e\u0442 ...",
                "area_sqm": 70,
                "location": "\u0433\u0440\u0430\u0434 \u0421\u043e\u0444\u0438\u044f, \u0421\u0435\u0440\u0434\u0438\u043a\u0430",
                "deal_type": "sale",
                "promotion": [
                    "TOP"
                ],
                "price_text": "108 221 \u20ac",
                "year_built": 2029,
                "photo_count": 7,
                "property_type": "2-\u0421\u0422\u0410\u0415\u041d",
                "is_private_seller": false
            }
        ],
        "location": {
            "name": "\u0421\u043e\u0444\u0438\u044f",
            "location_id": "\u0433\u0440\u0430\u0434 \u0421\u043e\u0444\u0438\u044f~"
        },
        "pagination": {
            "page": 1,
            "has_next": true,
            "per_page": 40,
            "result_cap": 1000,
            "total_pages": 25,
            "filtered_out": 0,
            "total_results": 1000,
            "total_results_is_lower_bound": true
        },
        "applied_filters": {
            "deal": "sale",
            "page": 1,
            "sort": "price_asc",
            "bedrooms": 2,
            "currency": "EUR",
            "max_area": 90,
            "min_area": 60,
            "max_price": 200000,
            "min_price": 100000,
            "property_type": "dvustaen"
        }
    },
    "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 location was not found. Use the autocomplete route. This response is not billable. |
| 503 | Upstream Unavailable | imot.bg 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)
