# Properati Search API Documentation

<p><strong>Properati Search API</strong> lists Colombian properties for sale or for rent. Find a <code>location</code> id with the autocomplete route, then add price, bedrooms, bathrooms, area, type, stratum and publish age filters. Every item has the price in COP, the street address with coordinates, rooms, area, the top amenity, the agency, the publish date and photos.</p><p>Good to know:</p><ul><li>Colombia only. Rent prices are per month (<code>price.period</code> is <code>monthly</code>).</li><li>Each page has up to 30 items. Properati stops serving results after page 167 (about 5,000 listings). A page past the end returns an empty list and <code>capped</code> is <code>true</code>. Narrow your filters to reach other listings.</li><li>New developments (project cards with a starting price) are skipped. <code>projects_skipped</code> counts them.</li><li>Properati lets a few items through at the edge of a range. Every item is checked against your price, area, bedrooms and bathrooms filters, so none outside a requested filter is returned. <code>post_filtered</code> counts the removed items, so a page can hold fewer than 30 items.</li><li>With few matches Properati pads a page with nearby listings. Those are removed and counted in <code>post_filtered</code>, so <code>returned</code> never exceeds <code>total</code>.</li><li>Properati shows one area per listing. Both area filter pairs are checked against it. An item without an area is removed when an area filter is set.</li><li><code>bedrooms</code> is exact. <code>bathrooms=2</code> also covers 2.5 bathrooms.</li><li>Sort <code>price_asc</code> needs <code>min_price</code>, because Properati lists placeholder prices first.</li><li>A location id costs one extra lookup the first time it is used. Later searches for it need none.</li><li>Failures are never billed. An empty result is a normal answer and is billed.</li></ul>

- **Documentation:** [https://scrappa.co/docs/properati-api/properati_search](https://scrappa.co/docs/properati-api/properati_search)
- **API group:** Properati API
- **Endpoint:** `GET https://scrappa.co/api/properati/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 | Yes | Location id from the autocomplete route, or a known location slug such as medellin-antioquia. |
| `operation` | string | No | venta (for sale, default) or arriendo (for rent). |
| `property_type` | string | No | apartamento, casa, apartaestudio, oficina, local or parqueadero. Leave empty for all types. |
| `min_price` | integer | No | Minimum price in COP (rent: per month). |
| `max_price` | integer | No | Maximum price in COP. |
| `bedrooms` | integer | No | Exact number of bedrooms. |
| `bathrooms` | integer | No | Number of bathrooms. 2 also covers 2.5. |
| `min_usable_area` | integer | No | Minimum area in square meters. |
| `max_usable_area` | integer | No | Maximum area in square meters. |
| `min_built_area` | integer | No | Minimum built area in square meters. |
| `max_built_area` | integer | No | Maximum built area in square meters. |
| `stratum` | string | No | Stratum 1 to 6, or a comma separated list such as 5,6. |
| `days_since_publication` | integer | No | Only listings published in the last 1, 7 or 30 days. |
| `sort` | string | No | relevance (default), published_on_desc, price_asc (needs min_price), price_desc, surface_total_desc or surface_total_asc. |
| `page` | integer | No | One-based page number (default 1). 30 items per page, results stop after page 167. |

## Example response

```json
{
    "data": {
        "items": [
            {
                "id": "01a093a9-d7c1-78bb-b5d1-486b76e9cd17",
                "url": "https://www.properati.com.co/detalle/14032-32-d7e1-486b76e9cd37-1a093c9-b5f1-78db",
                "area": {
                    "unit": "m2",
                    "value": 143
                },
                "price": {
                    "amount": 1200000000,
                    "period": null,
                    "currency": "COP",
                    "formatted": "$ 1.200.000.000"
                },
                "title": "Apartamento en Venta en El Poblado",
                "agency": {
                    "name": "Mar\u00eda Cristina Ochoa U.",
                    "logo_url": "https://images.proppit.com/publisher/01a05dbd-6151-700c-9577-4798f77a51b9/logo.jpeg",
                    "is_premium": true
                },
                "images": [
                    "https://img.properati.com/eyJidWNrZXQiOiJwcmQtbGlmdWxsY29ubmVjdC1iYWNrZW5kLWIyYi1pbWFnZXMiLCJrZXkiOiJpbmdlc3Rlci8wMWEwOTNhOS1kN2MxLTc4YmItYjVkMS00ODZiNzZlOWNkMTcvN2M2OGU5MWZkZThmMDliM2FjMTE4MDZkYmQyOTAwMTNhOTQxMWQ0YmViZDU5YjBhMjNhNGVkMzRjMGVlN2M0ZS5qcGVnIiwiYnJhbmQiOiJwcm9wZXJhdGkiLCJlZGl0cyI6eyJyb3RhdGUiOm51bGwsInJlc2l6ZSI6eyJ3aWR0aCI6MzIwLCJoZWlnaHQiOjI0MCwiZml0IjoiY292ZXIifX19",
                    "https://img.properati.com/eyJidWNrZXQiOiJwcmQtbGlmdWxsY29ubmVjdC1iYWNrZW5kLWIyYi1pbWFnZXMiLCJrZXkiOiJpbmdlc3Rlci8wMWEwOTNhOS1kN2MxLTc4YmItYjVkMS00ODZiNzZlOWNkMTcvYmEwMTQxZjI5NTVkZTkyZDE2YmU3ZWVhMjdlNGE0YmYwMTNjZTY3Y2NmYmU0ZDNmY2ZmNTE5MjIyNzRjY2RjNC5qcGVnIiwiYnJhbmQiOiJwcm9wZXJhdGkiLCJlZGl0cyI6eyJyb3RhdGUiOm51bGwsInJlc2l6ZSI6eyJ3aWR0aCI6MzIwLCJoZWlnaHQiOjI0MCwiZml0IjoiY292ZXIifX19"
                ],
                "bedrooms": 3,
                "location": {
                    "text": "El Poblado, Medell\u00edn, Antioquia",
                    "region": "Antioquia",
                    "address": "Calle 5 Sur, Alejandr\u00eda, Comuna 14 - El Poblado, Per\u00edmetro Urbano Medell\u00edn, Medell\u00edn, Valle de Aburr\u00e1, Antioquia, RAP del Agua y la Monta\u00f1a, 050022, Colombia",
                    "latitude": 6.196686,
                    "locality": "Medell\u00edn",
                    "longitude": -75.566718
                },
                "bathrooms": 3.5,
                "is_project": false,
                "top_amenity": "Piscina",
                "listing_type": "sale",
                "published_at": "2026-09-12",
                "property_type": "apartamento",
                "published_text": "Publicado 12 sept 2026"
            },
            {
                "id": "01a0adf2-3493-7b07-a021-b735f1d5302f",
                "url": "https://www.properati.com.co/detalle/14032-32-34b3-b735f1d5304f-1a0ae12-a041-7b27",
                "area": {
                    "unit": "m2",
                    "value": 62
                },
                "price": {
                    "amount": 1050000000,
                    "period": null,
                    "currency": "COP",
                    "formatted": "$ 1.050.000.000"
                },
                "title": "Apartamento en Venta en El Poblado",
                "agency": {
                    "name": "Mar\u00eda Cristina Ochoa U.",
                    "logo_url": "https://images.proppit.com/publisher/01a05dbd-6151-700c-9577-4798f77a51b9/logo.jpeg",
                    "is_premium": true
                },
                "images": [
                    "https://img.properati.com/eyJidWNrZXQiOiJwcmQtbGlmdWxsY29ubmVjdC1iYWNrZW5kLWIyYi1pbWFnZXMiLCJrZXkiOiJpbmdlc3Rlci8wMWEwYWRmMi0zNDkzLTdiMDctYTAyMS1iNzM1ZjFkNTMwMmYvNDM5NjYwZTUxZTlhMWE0MTQyYzMwODYxNTZiODU2NzA1OGVmYjgyNTU4N2IzOTEzNzU2N2U3ZTdkNzFjODcxZS5qcGVnIiwiYnJhbmQiOiJwcm9wZXJhdGkiLCJlZGl0cyI6eyJyb3RhdGUiOm51bGwsInJlc2l6ZSI6eyJ3aWR0aCI6MzIwLCJoZWlnaHQiOjI0MCwiZml0IjoiY292ZXIifX19",
                    "https://img.properati.com/eyJidWNrZXQiOiJwcmQtbGlmdWxsY29ubmVjdC1iYWNrZW5kLWIyYi1pbWFnZXMiLCJrZXkiOiJpbmdlc3Rlci8wMWEwYWRmMi0zNDkzLTdiMDctYTAyMS1iNzM1ZjFkNTMwMmYvZTg2OGJlNDgwMmVlZjIyMTY2ZjA3ODBkOGU2ZTc4OGY1YzNmYzk5Y2MwMDQ4OGQzZjdhNjk0NGI2Y2FkZTc1Ni5qcGVnIiwiYnJhbmQiOiJwcm9wZXJhdGkiLCJlZGl0cyI6eyJyb3RhdGUiOm51bGwsInJlc2l6ZSI6eyJ3aWR0aCI6MzIwLCJoZWlnaHQiOjI0MCwiZml0IjoiY292ZXIifX19"
                ],
                "bedrooms": 2,
                "location": {
                    "text": "El Poblado, Medell\u00edn, Antioquia",
                    "region": "Antioquia",
                    "address": "Transversal Superior, Los Naranjos, Comuna 14 - El Poblado, Per\u00edmetro Urbano Medell\u00edn, Medell\u00edn, Valle de Aburr\u00e1, Antioquia, RAP del Agua y la Monta\u00f1a, 050022, Colombia",
                    "latitude": 6.194274,
                    "locality": "Medell\u00edn",
                    "longitude": -75.559891
                },
                "bathrooms": 2,
                "is_project": false,
                "top_amenity": "Parqueadero",
                "listing_type": "sale",
                "published_at": "2026-09-17",
                "property_type": "apartamento",
                "published_text": "Publicado 17 sept 2026"
            }
        ],
        "pagination": {
            "page": 1,
            "total": 15554,
            "capped": false,
            "max_page": 167,
            "returned": 2,
            "page_size": 30,
            "has_next_page": true,
            "post_filtered": 0,
            "projects_skipped": 0
        },
        "applied_filters": {
            "sort": "relevance",
            "bedrooms": 3,
            "location": "3674954",
            "operation": "venta",
            "property_type": "apartamento"
        }
    },
    "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 sort is price_asc without min_price. This response is not billable. |
| 404 | Not Found | The location slug does not exist on Properati. This response is not billable. |
| 503 | Upstream Unavailable | Properati could not be reached, or returned a page 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)
