# QuintoAndar Property Photos API Documentation

Scrappa's `GET /api/quintoandar/media` returns the photos of one QuintoAndar listing with room category, caption and cover flag.

## What you get

Each photo has a public image `url`, a `category` (for example `SALA`, `COZINHA`), an optional `caption` and `is_cover`. Some listings have no categorized photos: QuintoAndar cannot sort them into rooms. Those ids answer `404` with `not_found`, which is not billed and not worth a retry. Their captioned photos are in the property endpoint (`listing.images`). Partner listings are not covered by this route either.

- **Documentation:** [https://scrappa.co/docs/quintoandar-api/quintoandar_media](https://scrappa.co/docs/quintoandar-api/quintoandar_media)
- **API group:** QuintoAndar API
- **Endpoint:** `GET https://scrappa.co/api/quintoandar/media`

## 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 | Numeric listing id from search. |

## Example request

```bash
#!/bin/bash

curl -X GET \
    -H "x-api-key: YOUR_API_KEY_HERE" \
    "https://scrappa.co/api/quintoandar/media?id=893892728"
```

## Example response

```json
{
    "success": true,
    "id": 893892728,
    "returned": 1,
    "photos": [
        {
            "id": 34092547,
            "url": "https://www.quintoandar.com.br/img/893892728-178.37680009993983IMG9023.jpg",
            "category": "COZINHA",
            "sub_category": null,
            "caption": "Cozinha",
            "is_cover": true
        }
    ],
    "meta": {
        "billable": true,
        "attempts": 1,
        "last_status": 200,
        "endpoint_family": "media"
    }
}
```

## Errors

| Status | Error | Description |
| --- | --- | --- |
| 404 | No Categorized Photos | The id is unknown, or QuintoAndar has no categorized photos for it (`not_found`). Use `listing.images` from the property endpoint for captioned photos. Non-billable. Do not retry. |
| 422 | Validation Error | A query parameter failed validation or is not supported. Unsupported parameters are rejected instead of ignored. Non-billable. |
| 503 | Upstream Unavailable | QuintoAndar could not be reached after a retry, 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)
