# InfoCasas Agency Listings API Documentation

Scrappa's `GET /api/infocasas/agency-properties` returns the listings of one agency. It takes `owner_id` plus every filter of the search endpoint, and returns the same response shape. All search rules apply: filters are honoured, unknown filters are rejected, and only the first 10000 results are reachable.

- **Documentation:** [https://scrappa.co/docs/infocasas-api/infocasas_agency_properties](https://scrappa.co/docs/infocasas-api/infocasas_agency_properties)
- **API group:** InfoCasas API
- **Endpoint:** `GET https://scrappa.co/api/infocasas/agency-properties`

## 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 |
| --- | --- | --- | --- |
| `owner_id` | integer | Yes | Numeric agency id (required). |
| `country` | string | No | uy (default), py or bo. |
| `operation_type_id` | integer | No | 1 sale (default), 2 rent or 4 temporary rent. |
| `property_type_id` | integer | No | Property type ids, as on the search endpoint. |
| `order` | integer | No | 0 price high to low, 1 price low to high, 3 newest (default), 4 area small to large. |
| `rows` | integer | No | Listings per page, 1-100 (default 21). |
| `page` | integer | No | Result page, 1-based. |

## Example request

```bash
#!/bin/bash

curl -X GET \
    -H "x-api-key: YOUR_API_KEY_HERE" \
    "https://scrappa.co/api/infocasas/agency-properties?owner_id=210&country=uy&rows=10"
```

## Example response

```json
{
    "success": true,
    "country": "uy",
    "page": 1,
    "rows": 10,
    "total": 960,
    "total_pages": 96,
    "returned": 10,
    "applied_filters": {
        "operation_type_id": 1,
        "order": 3,
        "owner_id": 210,
        "bedroomsExactMode": false,
        "bathroomsExactMode": false
    },
    "listings": [
        {
            "id": 194453624,
            "code": "O7DD3A",
            "title": "Alquiler apartamento de 2 dormitorios en el centro",
            "description": "Apartamento de 39 m2 en un segundo piso.",
            "url": "https://www.infocasas.com.uy/alquiler-apartamento-de-2-dormitorios-en-el-centro/194453624",
            "operation_type": {
                "id": 2,
                "name": "Alquiler"
            },
            "property_type": {
                "id": 2,
                "name": "Apartamento"
            },
            "price": {
                "amount": 25000,
                "currency": "$",
                "currency_id": 2,
                "hidden": false,
                "admin_included": 25000,
                "amount_usd": 624,
                "admin_included_usd": 624
            },
            "common_expenses": {
                "amount": null,
                "currency": null
            },
            "address": "Ejido 1500",
            "address_hidden": false,
            "latitude": -34.9014898,
            "longitude": -56.1873848,
            "location": {
                "state": {
                    "id": "a475c197-e6d7-4833-aa87-0ffd96a879ec",
                    "name": "Montevideo"
                },
                "neighbourhood": {
                    "id": "3c2b142f-c4f2-4f02-8ed8-cb0fe7f08696",
                    "name": "Centro"
                }
            },
            "bedrooms": 2,
            "bathrooms": 1,
            "rooms": 3,
            "garage": 0,
            "areas": {
                "m2": 39,
                "built": null,
                "terrain": null,
                "terrace": null,
                "apto": 39,
                "hectares": null
            },
            "construction_year": 1975,
            "images": [
                {
                    "url": "https://cdn1.infocasas.com.uy/repo/img/example.jpg",
                    "tag": null
                }
            ],
            "image_count": 24,
            "video": null,
            "tour_3d": null,
            "facilities": [
                {
                    "id": 13,
                    "name": "Parrillero / Barbacoa",
                    "group": "Confort del apartamento"
                }
            ],
            "technical_sheet": [
                {
                    "field": "bedrooms",
                    "label": "Dormitorios",
                    "value": "2"
                }
            ],
            "owner": {
                "id": 210,
                "name": "Example Inmobiliaria",
                "type": "inmobiliaria",
                "logo": "https://cdn1.infocasas.com.uy/repo/img/logo.jpg",
                "masked_phone": "+5989",
                "has_whatsapp": true,
                "subsidiaries": []
            },
            "created_at": "2026-10-25",
            "updated_at": "2026-10-25",
            "is_project": false,
            "sold": false,
            "active": true,
            "sea_view": null,
            "barter": false
        }
    ],
    "meta": {
        "billable": true,
        "attempts": 1,
        "last_status": 200,
        "endpoint_family": "agency-properties",
        "filter_drift_dropped": 0
    }
}
```

## Errors

| Status | Error | Description |
| --- | --- | --- |
| 422 | Unsupported Filter or Page | A filter name this API does not support, an unusable value, an order code that is not offered, or a page past the first 10000 results (`unknown_filter`, `blocked_filter`, `page_out_of_range`). Non-billable. |
| 422 | Validation Error | A query parameter failed validation. Non-billable. |
| 503 | Upstream Unavailable | InfoCasas could not be reached after retries, or answered with a body this API cannot read (`upstream_unavailable`, `upstream_blocked`, `parser_drift`). Retryable and never billed. Clients are never rate limited. |

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