# Imovelweb Search API Documentation

<p><strong>Imovelweb Search API</strong> lists Brazilian properties for sale, for rent, at auction or for seasonal rent. Find a <code>location</code> id with the autocomplete route, then add price, room, area, type, seller, age, keyword and amenity filters. Every item has the price of the requested listing type (a listing can carry a sale and a rent price, and <code>prices</code> holds both), the address with coordinates and postal code, bedrooms, bathrooms, suites, parking, condominium fee, total and covered area, amenities, photos, the publisher with licence number, publication dates and tags.</p><p>Good to know:</p><ul><li>Brazil only. Prices are in BRL. Developments (<code>posting_type</code> is <code>development</code>) show a starting price and ranges in <code>unit_ranges</code> instead of single room counts. Numeric filters apply to their units, so a development can differ from one filter value.</li><li>Every filter is checked against what Imovelweb honours. A filter that cannot be honoured is rejected, never silently ignored.</li><li>Results are reachable up to position 10,000. A larger page returns 422 without charge: narrow your filters. <code>total_reported</code> comes from Imovelweb and can be higher than the real count.</li><li>Imovelweb ranks paid listing tiers together. With <code>price_asc</code> or <code>price_desc</code> each page is sorted by the price of the requested listing type, but the order across pages follows the tiers.</li><li>The last page of a result can repeat cards of the page before. Scrappa removes them and reports <code>duplicates_removed</code>.</li><li>There is no agency endpoint. Agency data is the <code>publisher</code> block of each item and of the listing detail.</li><li>There is no coordinate radius or street text search. Use location ids and the polygon route.</li><li>Failed requests are not billed. An empty result is a valid answer and is billed.</li></ul>

- **Documentation:** [https://scrappa.co/docs/imovelweb-api/imovelweb_search](https://scrappa.co/docs/imovelweb-api/imovelweb_search)
- **API group:** Imovelweb API
- **Endpoint:** `GET https://scrappa.co/api/imovelweb/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 | One or more location ids from the autocomplete route, comma separated, up to 10. Example: V1-Z-52. Leave empty to search all of Brazil. |
| `listing_type` | string | No | sale (default), rent, auction or seasonal. |
| `property_type` | string | No | casa, apartamento, comercial, terreno or rural. |
| `property_subtype` | string | No | Subtype of the property type, such as apartamento-cobertura, apartamento-kitchenette-studio, casa-sobrado or comercial-loja-salao. |
| `bedrooms_min` | integer | No | Minimum number of bedrooms. |
| `bedrooms_max` | integer | No | Maximum number of bedrooms. |
| `bathrooms_min` | integer | No | Minimum number of bathrooms. |
| `bathrooms_max` | integer | No | Maximum number of bathrooms. |
| `garages_min` | integer | No | Minimum number of parking spaces. |
| `garages_max` | integer | No | Maximum number of parking spaces. |
| `price_min` | integer | No | Minimum price in BRL. For rent this is the monthly rent. |
| `price_max` | integer | No | Maximum price in BRL. |
| `area_min` | integer | No | Minimum total area in square meters. |
| `area_max` | integer | No | Maximum total area in square meters. |
| `covered_area_min` | integer | No | Minimum covered area in square meters. |
| `covered_area_max` | integer | No | Maximum covered area in square meters. |
| `seller_type` | string | No | owner for private sellers or company for agencies and developers. |
| `keyword` | string | No | Free text searched in the listing, 2 to 100 characters, without ; or :. Example: piscina. |
| `feature` | string | No | Comma separated amenities. A listing must have all of them. Example: piscina,churrasqueira,ar-condicionado. |
| `age_min` | string | No | under_construction, launching_soon, up_to_5_years, 5_to_10_years, 10_to_20_years, 20_to_50_years or over_50_years. |
| `age_max` | string | No | Same values as age_min. Must not come before age_min in that list. |
| `published_within` | string | No | today, since_yesterday, 7_days, 15_days, 30_days or 45_days. |
| `development_only` | boolean | No | true to list new developments only. |
| `sort` | string | No | relevance (default), price_asc, price_desc, newest or price_drop. |
| `page` | integer | No | One-based page number, default 1. Results are reachable up to position 10,000. |
| `per_page` | integer | No | Results per page, 20 to 100, default 20. |

## Example response

```json
{
    "data": {
        "items": [
            {
                "id": "3040487028",
                "geo": {
                    "latitude": -23.5476959,
                    "longitude": -46.6907959
                },
                "url": "https://www.imovelweb.com.br/propriedades/imoveis-no-sumarezinho-3040487028.html",
                "tags": [],
                "price": {
                    "amount": 12328,
                    "currency": "BRL",
                    "formatted": "R$ 12.328",
                    "starting_from": false
                },
                "title": "Imoveis - no Sumarezinho",
                "prices": {
                    "sale": {
                        "amount": 12328,
                        "currency": "BRL",
                        "formatted": "R$ 12.328",
                        "starting_from": false
                    }
                },
                "address": {
                    "text": "R PAULIST\u00c2NIA, Sumarezinho, S\u00e3o Paulo, S\u00e3o Paulo",
                    "visibility": "EXACT",
                    "postal_code": "05440000"
                },
                "currency": "BRL",
                "features": {
                    "suites": 1,
                    "garages": 1,
                    "bedrooms": 2,
                    "age_years": 1,
                    "bathrooms": 2,
                    "total_area": {
                        "unit": "m2",
                        "value": 500
                    },
                    "covered_area": {
                        "unit": "m2",
                        "value": 74
                    },
                    "condominium_fee": 1000
                },
                "pictures": [
                    "https://imgbr.imovelwebcdn.com/avisos/2/30/40/48/70/28/720x532/6953864615.jpg",
                    "https://imgbr.imovelwebcdn.com/avisos/2/30/40/48/70/28/720x532/6953864165.jpg"
                ],
                "amenities": [
                    {
                        "name": "Churrasqueira",
                        "category": "\u00c1reas Comuns"
                    },
                    {
                        "name": "Fitness/Sala de Gin\u00e1stica",
                        "category": "\u00c1reas Comuns"
                    },
                    {
                        "name": "Ar condicionado",
                        "category": "\u00c1reas Privativas"
                    }
                ],
                "publisher": {
                    "id": "47852853",
                    "logo": "https://imgbr.imovelwebcdn.com/empresas/2/00/47/85/28/53/720x532/logo_pool-imoveis-guru_1769804567172.jpg",
                    "license": ".",
                    "is_premier": false
                },
                "description": "Apartamento \u00e0 venda na regi\u00e3o Sumarezinho - S\u00e3o Paulo - SP. 2 dormit\u00f3rios, 1 su\u00edtes, 1 vagas de garagem, \u00e1rea \u00fatil de 74 m\u00b2, \u00e1rea total de 500 m\u00b2. Car\u2026",
                "unit_ranges": {
                    "units": null,
                    "garages": "1 vaga",
                    "bedrooms": "2 dorm.",
                    "bathrooms": "2 ban.",
                    "total_area": "500 m2"
                },
                "has_whatsapp": true,
                "listing_type": "sale",
                "posting_type": "property",
                "published_at": "2026-08-21T03:58:42Z",
                "internal_code": "809331",
                "property_type": "Apartamento",
                "first_online_at": "2026-07-17T04:00:00Z",
                "property_subtype": "Padr\u00e3o"
            },
            {
                "id": "3040487142",
                "geo": {
                    "latitude": -23.5476959,
                    "longitude": -46.6907959
                },
                "url": "https://www.imovelweb.com.br/propriedades/imoveis-no-sumarezinho-3040487142.html",
                "tags": [],
                "price": {
                    "amount": 12328,
                    "currency": "BRL",
                    "formatted": "R$ 12.328",
                    "starting_from": false
                },
                "title": "Imoveis - no Sumarezinho",
                "prices": {
                    "sale": {
                        "amount": 12328,
                        "currency": "BRL",
                        "formatted": "R$ 12.328",
                        "starting_from": false
                    }
                },
                "address": {
                    "text": "R PAULIST\u00c2NIA, Sumarezinho, S\u00e3o Paulo, S\u00e3o Paulo",
                    "visibility": "EXACT",
                    "postal_code": "05440000"
                },
                "currency": "BRL",
                "features": {
                    "suites": 1,
                    "garages": 1,
                    "bedrooms": 2,
                    "age_years": 1,
                    "bathrooms": 2,
                    "total_area": {
                        "unit": "m2",
                        "value": 500
                    },
                    "covered_area": {
                        "unit": "m2",
                        "value": 74
                    },
                    "condominium_fee": 1000
                },
                "pictures": [
                    "https://imgbr.imovelwebcdn.com/avisos/2/30/40/48/71/42/720x532/6953867089.jpg",
                    "https://imgbr.imovelwebcdn.com/avisos/2/30/40/48/71/42/720x532/6953866724.jpg"
                ],
                "amenities": [
                    {
                        "name": "Churrasqueira",
                        "category": "\u00c1reas Comuns"
                    },
                    {
                        "name": "Fitness/Sala de Gin\u00e1stica",
                        "category": "\u00c1reas Comuns"
                    },
                    {
                        "name": "Ar condicionado",
                        "category": "\u00c1reas Privativas"
                    }
                ],
                "publisher": {
                    "id": "47392357",
                    "logo": "https://imgbr.imovelwebcdn.com/empresas/2/00/47/39/23/57/720x532/logo_leardi-pompeia-268_1617801681630.jpg",
                    "license": "111",
                    "is_premier": false
                },
                "description": "Localizado no ponto mais alto da Vila Madalena, nas ruas mais charmosas e arborizadas da regi\u00e3o: Paulist\u00e2nia e Senador C\u00e9sar Lacerda Vergueiro. Um pro\u2026",
                "unit_ranges": {
                    "units": null,
                    "garages": "1 vaga",
                    "bedrooms": "2 dorm.",
                    "bathrooms": "2 ban.",
                    "total_area": "500 m2"
                },
                "has_whatsapp": false,
                "listing_type": "sale",
                "posting_type": "property",
                "published_at": "2026-08-21T03:59:14Z",
                "internal_code": "809331",
                "property_type": "Apartamento",
                "first_online_at": "2026-07-17T04:00:00Z",
                "property_subtype": "Padr\u00e3o"
            }
        ],
        "pagination": {
            "page": 1,
            "offset": 0,
            "per_page": 20,
            "returned": 20,
            "max_offset": 10000,
            "has_next_page": true,
            "total_reported": 32221,
            "duplicates_removed": 0
        },
        "applied_filters": {
            "sort": "relevance",
            "location": "V1-Z-52",
            "bedrooms_min": 2,
            "listing_type": "sale"
        }
    },
    "meta": {
        "billable": true,
        "endpoint_family": "search"
    },
    "success": true
}
```

## Errors

| Status | Error | Description |
| --- | --- | --- |
| 422 | Validation Error | A value is outside its allowed list, a range is reversed, or the page is beyond result 10,000 (narrow your filters). This response is not billable. |
| 503 | Upstream Unavailable | Imovelweb could not be reached, or returned data that does not match the expected shape. Retry shortly. This response is not billable. |

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