# Properati Agency API Documentation

<p><strong>Properati Agency API</strong> returns an agency profile by the agency id from the listing route: name, logo, premium status, total listings, the year it started publishing and a page of its listings for sale or for rent. Each listing has the price, location text, bedrooms, bathrooms, area, publish date and photos. Use the listing id from <code>units[].id</code> with the listing route for full detail.</p><p>Good to know:</p><ul><li>Each page has up to 6 listings. <code>pagination.total</code> is the number of listings in the chosen operation.</li><li>The first page for sale needs one lookup on Properati. Other pages and rent listings need two.</li><li>Phone numbers and email addresses are not returned.</li><li>An unknown agency id returns 404 and is not billed. A page past the end returns an empty list.</li><li>Failures are never billed.</li></ul>

- **Documentation:** [https://scrappa.co/docs/properati-api/properati_agency](https://scrappa.co/docs/properati-api/properati_agency)
- **API group:** Properati API
- **Endpoint:** `GET https://scrappa.co/api/properati/agency`

## 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 |
| --- | --- | --- | --- |
| `id` | string | Yes | Agency id from the listing route (<code>agency.id</code>). |
| `operation` | string | No | venta (for sale, default) or arriendo (for rent). |
| `page` | integer | No | One-based page of the agency listings (default 1, 6 per page). |

## Example response

```json
{
    "data": {
        "units": [
            {
                "id": "14032-32-c21e-e0c588700195-fa411e9c-a696-4ab8",
                "url": "https://www.properati.com.co/detalle/14032-32-c21e-e0c588700195-fa411e9c-a696-4ab8",
                "area": {
                    "unit": "m2",
                    "value": 67
                },
                "price": {
                    "amount": 520000000,
                    "currency": "COP",
                    "formatted": "$ 520.000.000"
                },
                "title": "Apartamento en venta en Sabaneta",
                "images": [
                    "https://img.properati.com/eyJidWNrZXQiOiJwcmQtbGlmdWxsY29ubmVjdC1iYWNrZW5kLWIyYi1pbWFnZXMiLCJrZXkiOiJpbmdlc3Rlci9mYTQxMWU3Yy1jMWZlLTRhOTgtYTY3Ni1lMGM1ODg3MDAxNzUvNTcwMjA0MjgyMGQyMWJhZDg5ZjM0NThlMTQyZjc1NzJhOGJkNTg3ZjVjM2ViYzRlN2U1YTA5NjNiM2QzZTM2NS5qcGVnIiwiYnJhbmQiOiJwcm9wZXJhdGkiLCJlZGl0cyI6eyJyb3RhdGUiOm51bGwsInJlc2l6ZSI6eyJ3aWR0aCI6MzgwLCJoZWlnaHQiOjIzMCwiZml0IjoiY292ZXIifX19"
                ],
                "bedrooms": 3,
                "bathrooms": 2,
                "agency_name": "Mar\u00eda Cristina Ochoa U.",
                "listing_type": "sale",
                "published_at": "2026-09-29",
                "location_text": "Sabaneta, Antioquia",
                "published_text": "29 sept 2026"
            },
            {
                "id": "14032-32-104c-b09889137b06-a99d0f41-bbca-4ba5",
                "url": "https://www.properati.com.co/detalle/14032-32-104c-b09889137b06-a99d0f41-bbca-4ba5",
                "area": {
                    "unit": "m2",
                    "value": 96
                },
                "price": {
                    "amount": 790000000,
                    "currency": "COP",
                    "formatted": "$ 790.000.000"
                },
                "title": "Apartamento en venta en Laureles",
                "images": [
                    "https://img.properati.com/eyJidWNrZXQiOiJwcmQtbGlmdWxsY29ubmVjdC1iYWNrZW5kLWIyYi1pbWFnZXMiLCJrZXkiOiJpbmdlc3Rlci9hOTlkMGYyMS0xMDJjLTRiODUtYmJhYS1iMDk4ODkxMzdhZTYvMzQ1OWQzNjRhYWY3NWQxNmVlYmU1MzM5Y2M3OGU3YmUzMjg5Njg2ZjgyNzRhYmVhZTM2ZGU3MGI3MjdlYTRhMi5qcGVnIiwiYnJhbmQiOiJwcm9wZXJhdGkiLCJlZGl0cyI6eyJyb3RhdGUiOm51bGwsInJlc2l6ZSI6eyJ3aWR0aCI6MzgwLCJoZWlnaHQiOjIzMCwiZml0IjoiY292ZXIifX19"
                ],
                "bedrooms": 3,
                "bathrooms": 3,
                "agency_name": "Mar\u00eda Cristina Ochoa U.",
                "listing_type": "sale",
                "published_at": "2026-10-24T00:06:35Z",
                "location_text": "Medell\u00edn, Antioquia",
                "published_text": "Hace 1 d\u00eda, 18 horas"
            }
        ],
        "agency": {
            "id": "14032-32-6171-4798f77a51d9-1a05ddd-9597-702c",
            "url": "https://www.properati.com.co/inmobiliaria/14032-32-6171-4798f77a51d9-1a05ddd-9597-702c",
            "name": "Mar\u00eda Cristina Ochoa U.",
            "logo_url": "https://images.proppit.com/publisher/01a05dbd-6151-700c-9577-4798f77a51b9/logo.jpeg",
            "is_premium": true,
            "units_total": 26,
            "background_url": "https://images.proppit.com/publisher/01a05dbd-6151-700c-9577-4798f77a51b9/backgroundImage.jpeg",
            "publishing_since": 2026
        },
        "operation": "venta",
        "pagination": {
            "page": 1,
            "total": 26,
            "returned": 2,
            "page_size": 6,
            "has_next_page": true
        }
    },
    "meta": {
        "billable": true,
        "endpoint_family": "agency"
    },
    "success": true
}
```

## Errors

| Status | Error | Description |
| --- | --- | --- |
| 422 | Validation Error | The id is missing or has an invalid format, or the operation is not venta or arriendo. This response is not billable. |
| 404 | Not Found | No agency exists for this id. 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)
