# Argenprop Search

Returns matching listings with the filter vocabulary that produced them. Every entry in that vocabulary is a parameter this endpoint accepts, and every value it lists is one that parameter will take. A filter value is validated against the upstream catalog before the request is sent, so an unsupported filter is rejected instead of returning a silently unfiltered or empty result — and an unrecognised parameter is rejected rather than ignored.

- **Documentation:** [https://scrappa.co/docs/argenprop-api/argenprop_search](https://scrappa.co/docs/argenprop-api/argenprop_search)
- **API group:** Argenprop API
- **Endpoint:** `GET https://scrappa.co/api/argenprop/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 |
| --- | --- | --- | --- |
| `operation` | string | No | venta (sale), alquiler (rent) or alquiler_temporal (short-term rental). Default venta. |
| `country` | string | No | Restrict to a country, for example argentina or uruguay. |
| `page` | integer | No | 1-based page number, 1 to 30000. `start` is (page - 1) x rows, so the deepest offset this reaches is (30000 - 1) x rows — beyond the entire measured inventory (556,435 listings, 244,746 agencies) at the default rows of 20. That inventory is not reachable at every rows value: past the ceiling with rows still on the table, matches remain behind the client, and the response then says so under next.page_ceiling_reached. A page beyond the ceiling is refused with a 422 rather than sent upstream. |
| `rows` | integer | No | Listings per page, 1 to 50. Default 20. |
| `price_min` | integer | No | Lower price bound. Requires price_max as well: the upstream interval has no open-ended form, so a lower bound alone is rejected rather than returning an empty page. Sent without a currency id, so the bound is interpreted in the upstream default currency — see the currency block in the response. |
| `sort` | string | No | One of destaque, masnuevos, menorprecio, or mayorprecio. Default destaque. These four are the orderings the upstream actually applies — menorprecio returns ascending prices, mayorprecio descending. Any other value is rejected rather than sent upstream. |
| `price_max` | integer | No | Upper price bound. Interpreted in the upstream default currency, which the Argenprop API does not publish; the response states this rather than assuming one. Amounts are never converted. |
| `price_availability` | string | No | con-precio for listings that show a price, sin-precio for those that do not. Any other value is rejected. |
| `seller_type` | string | No | Restrict by seller, for example dueno-directo or inmobiliaria. |
| `region` | string | No | Published search region code, for example zona-norte. Listed in the filter catalog returned with every search. |
| `partido` | string | No | Published partido code, for example partido-de-pilar or capital-federal. Every code the server publishes is accepted; a code it does not publish is rejected rather than returning an empty page. When a region is given as well, the partido must belong to it — a cross-region pair is rejected for the same reason. |
| `property_type` | string | No | Property type code from the returned filter catalog. |

## Example request

```bash
#!/bin/bash

curl -X GET \
    -H "x-api-key: YOUR_API_KEY_HERE" \
    "https://scrappa.co/api/argenprop/search?operation=alquiler&country=argentina&rows=5"
```

## Example response

```json
{
    "success": true,
    "data": {
        "results": [],
        "total_results": 0,
        "page": 1,
        "page_size": 5,
        "filters": [],
        "currency": {
            "band_currency": {
                "id": null,
                "published": false
            },
            "currencies_in_results": [
                "USD"
            ],
            "converted": false,
            "catalog": [
                {
                    "Id": 1,
                    "Descripcion": "Pesos"
                }
            ]
        }
    }
}
```

## Errors

| Status | Error | Description |
| --- | --- | --- |
| 404 | Not Found | The requested listing or agency was not found. This response is not billable. |
| 422 | Validation Error | A public parameter, or a filter value outside the published catalog, is invalid. No upstream request is made and this response is not billable. |
| 503 | Service Unavailable | The service could not obtain a complete result from the upstream. 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)
