# Imobiliare.ro Property Search API Documentation

Search Romanian property for sale or rent on Imobiliare.ro. Filter by location, property type, rooms, bathrooms, price, keyword, amenities, floor, building stage and more. Sort the results and page through them with page. A page holds 30 listings. Each listing returns id, url, price text with amount and currency, address, rooms, usable area, highlights, extra features, photos, agency, seller type, days on market and promotion flags. Prices are in EUR or RON as the site shows them, so each listing carries its own currency. The response also returns the filter definitions of the page as facets. Use the autocomplete endpoint to find location ids. A valid search with no hits returns an empty listings list and is a successful, billable response.

- **Documentation:** [https://scrappa.co/docs/imobiliare-ro-api/imobiliare_ro_search](https://scrappa.co/docs/imobiliare-ro-api/imobiliare_ro_search)
- **API group:** Imobiliare.ro API
- **Endpoint:** `GET https://scrappa.co/api/imobiliare-ro/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 |
| --- | --- | --- | --- |
| `type` | string | Yes | sale or rent. |
| `property_type` | string | No | apartments (default), studios, penthouses (sale), houses, detached_houses, duplex, land (sale), agricultural_land (sale), building_land (sale), commercial or offices (rent). |
| `location` | string | No | One or more location ids from the autocomplete endpoint, separated by commas, e.g. 8608 for Bucuresti. Without a location the search covers Romania. |
| `page` | integer | No | Page number, 1-based. Defaults to 1. A page holds 30 listings. A page past the last page returns an empty listings list. |
| `rooms` | string | No | Number of rooms: 1, 2, 3 or 4 (4 means 4 or more). Several values separated by commas, e.g. 2,3. |
| `bathrooms` | string | No | Number of bathrooms: 1, 2 or 3. Several values separated by commas. |
| `price_min` | integer | No | Minimum price as a whole number in the chosen currency. For rent this is the monthly rent. |
| `price_max` | integer | No | Maximum price as a whole number in the chosen currency. For rent this is the monthly rent. |
| `currency` | string | No | EUR (default) or RON. Used with price_min and price_max: only listings priced in this currency are returned. Listings without a price are left out when a price filter is set. |
| `keyword` | string | No | Free-text keyword, up to 100 characters, e.g. terasa. |
| `amenities` | string | No | Comma separated: on-site-parking, garage, yard, central-heating, furnished, underfloor-heating, air-conditioning, pets-allowed, balcony, elevator, garden, terrace, swimming-pool, sewerage, gas, electricity, water. |
| `building_stage` | string | No | Comma separated: new-build, established, off-plan, established-2011-past-6-years, established-2001-2010, established-1991-2000, established-1978-1990, established-1941-1977, established-before-1941. |
| `floor` | string | No | Comma separated: below-ground, ground-floor, 1 to 10, above-10, attic, top-two-floors, excluded-last-floor. |
| `partitioning` | string | No | Comma separated: detached, semi-detached, non-detached, circular. |
| `comfort` | string | No | Comma separated: 1, 2, 3, luxury. |
| `nearby` | string | No | Comma separated: metro-station, sea, mountains, countryside. |
| `features` | string | No | Comma separated: virtual-tour, zero-commission, foreclosure. |
| `sort` | string | No | latest, lowest-price or highest-price. Defaults to the site order. With lowest-price the site lists listings without a price first. They carry price_disclosed=false. |

## Example request

```bash
#!/bin/bash

curl -X GET \
    -H "x-api-key: YOUR_API_KEY_HERE" \
    "https://scrappa.co/api/imobiliare-ro/search?type=sale&location=8608&rooms=3&sort=latest"
```

## Example response

```json
{
    "success": true,
    "data": {
        "total_count": 8815,
        "pagination": {
            "page": 1,
            "page_size": 30,
            "total_pages": 294,
            "from": 1,
            "to": 30,
            "has_more": true
        },
        "search": {
            "title": "Apartamente de v\u00e2nzare \u00een Bucure\u0219ti",
            "type": "sale",
            "property_type": "apartments",
            "sort": "latest"
        },
        "listings": [
            {
                "id": 985946,
                "url": "https://www.imobiliare.ro/oferta/apartament-de-vanzare-sector-6-militari-3-camere-985946",
                "position": 1,
                "listing_code": "X4PQ0000M",
                "title": "Militari Residence - 3 CAMERE",
                "location": "Militari, Sector 6",
                "address": "Strada Sergent Ilie Petre,nr 84, Militari, Sector 6",
                "county": "Bucuresti",
                "city": "Sector 6",
                "area": "Militari",
                "offer_type": "sale",
                "price": {
                    "text": "97.400 \u20ac",
                    "amount": 97400,
                    "currency": "EUR"
                },
                "price_disclosed": true,
                "rooms": 3,
                "usable_area_sqm": 70,
                "floor_label": "Etaj 3 / 7",
                "year_built_label": "2026 (Finalizat\u0103)",
                "highlights": [
                    {
                        "key": "bedroom_count",
                        "label": "3 camere"
                    },
                    {
                        "key": "usable_surface",
                        "label": "70 mp"
                    }
                ],
                "extra_features": [
                    {
                        "key": "commission_zero",
                        "title": "Comision 0%"
                    }
                ],
                "images": [
                    {
                        "url": "https://i.roamcdn.net/prop/imo/gallery-main-900w-watermark/j6WpjFieBmjYCZKqmUgfRw/-/_1I8pjhgbmRiYGpkZmAA/cac764c7-90f8-4789-ab0c-20933665c643.jpg"
                    }
                ],
                "image_count": 9,
                "has_video": false,
                "has_virtual_tour": false,
                "has_floor_plans": false,
                "favourites_count": 197,
                "days_on_market": 143,
                "seller_type": "developer",
                "agency": {
                    "name": "Militari Residence",
                    "slug": "x4pq",
                    "is_estate_agent": false
                },
                "is_boosted": false,
                "belongs_to_project": false,
                "is_zero_commission": true
            }
        ],
        "facets": {
            "filters": [
                {
                    "key": "bedrooms",
                    "label": "Nr. camere",
                    "type": "checkbox-segmented",
                    "options": [
                        {
                            "value": "1",
                            "label": "1"
                        },
                        {
                            "value": "2",
                            "label": "2"
                        }
                    ]
                }
            ],
            "categories_sale": [
                {
                    "id": 1,
                    "label": "Apartamente",
                    "slug": "apartamente"
                }
            ],
            "categories_rent": [
                {
                    "id": 1,
                    "label": "Apartamente",
                    "slug": "apartamente"
                }
            ],
            "sort_options": [
                {
                    "value": "latest",
                    "label": "Cele mai recente"
                }
            ]
        }
    },
    "meta": {
        "endpoint_family": "search",
        "billable": true
    }
}
```

## Errors

| Status | Error | Description |
| --- | --- | --- |
|  | Error | The listing or profile does not exist. Not billed. |
|  | Error | Imobiliare.ro could not be reached right now. Not billed. |
|  | Error | Imobiliare.ro refused the request. Not billed. |
|  | Error | Imobiliare.ro returned an unexpected payload or a filter was not applied. Not billed. |

## 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)
