# Pisos.com Listing Details API Documentation

Scrappa's `GET /api/pisos/listing` returns the full record of one Pisos.com listing for sale or rent.

## What you get

`price`, `price_per_m2`, `bedrooms`, `bathrooms`, `built_area_m2`, `usable_area_m2`, `plot_area_m2`, `floor`, `age`, `condition`, `orientation`, `reference`, `community_fees`, `latitude`, `longitude`, the full `features` list (group, label and value), `energy_certificate`, `description`, every photo in `images`, `last_updated`, `breadcrumbs` and the advertiser in `agency` (name, slug, address). Fields a listing does not show are null.

## How to find a listing

Pass the `url` of a search item, or its `listing_id` as `id`. Only pisos.com addresses are accepted.

## Not available

Contact reveal and phone numbers behind a button are not part of this API. Rent deposit and minimum stay appear only inside the description text.

- **Documentation:** [https://scrappa.co/docs/pisos-api/pisos_listing](https://scrappa.co/docs/pisos-api/pisos_listing)
- **API group:** Pisos.com API
- **Endpoint:** `GET https://scrappa.co/api/pisos/listing`

## 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 |
| --- | --- | --- | --- |
| `url` | string | No | Listing address from search, for example https://www.pisos.com/comprar/piso-gaztambide-65098413759_100500/. Required unless id is given. |
| `id` | string | No | listing_id from search, for example 65098413759.100500. Required unless url is given. |

## Example request

```bash
#!/bin/bash

curl -X GET \
    -H "x-api-key: YOUR_API_KEY_HERE" \
    "https://scrappa.co/api/pisos/listing?id=65098413759.100500"
```

## Example response

```json
{
    "success": true,
    "data": {
        "id": "65098413759",
        "listing_id": "65098413759.100500",
        "url": "https://www.pisos.com/comprar/piso-gaztambide-65098413759_100500/",
        "title": "Piso en venta en Calle de la Princesa, 76",
        "location": "Gaztambide (Distrito Chamber\u00ed. Madrid Capital)",
        "operation": "sale",
        "property_type": "piso",
        "price": 1600000,
        "currency": "EUR",
        "price_per_m2": 10322,
        "bedrooms": 3,
        "bathrooms": 3,
        "built_area_m2": 155,
        "usable_area_m2": null,
        "floor": "4\u00aa",
        "age": "M\u00e1s de 50 a\u00f1os",
        "condition": "Reformado",
        "reference": "PH-0010116/14101",
        "latitude": 40.4325,
        "longitude": -3.71735,
        "features": [
            {
                "group": "Datos b\u00e1sicos",
                "label": "Habitaciones",
                "value": "3"
            },
            {
                "group": "Exteriores",
                "label": "Balc\u00f3n",
                "value": null
            }
        ],
        "energy_certificate": {
            "status": "Disponible",
            "consumption_class": "D",
            "consumption": "116 kWh/m\u00b2 a\u00f1o",
            "emissions_class": "C",
            "emissions": "20 Kg CO\u2082/m\u00b2 a\u00f1o"
        },
        "description": "Espectacular propiedad de alta gama...",
        "images": [
            {
                "url": "https://fotos.imghs.net/xl-wp/1005/101/photo.jpg"
            }
        ],
        "photo_count": 34,
        "last_updated": "2026-07-07",
        "agency": {
            "name": "Princess Homes",
            "slug": "princess_homes",
            "url": "https://www.pisos.com/inmobiliaria-princess_homes/",
            "address": "C/ Tutor, 54 Madrid Capital (Madrid)"
        }
    },
    "meta": {
        "endpoint_family": "listing",
        "billable": true,
        "attempts": 1
    }
}
```

## Errors

| Status | Error | Description |
| --- | --- | --- |
| 404 | Not Found | The listing no longer exists on Pisos.com, or the address is not a Pisos.com listing (`NOT_FOUND`). Non-billable. |
| 422 | Validation Error | A query parameter is missing, unknown or unusable. Unknown parameters and unknown values are rejected, never ignored. Non-billable. |
| 503 | Upstream Unavailable | Pisos.com could not be reached, refused the request or answered with a page this API could not read (`UPSTREAM_UNAVAILABLE`). 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)
