> ## Documentation Index
> Fetch the complete documentation index at: https://docs.scrapeunblocker.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Scrape one idealista listing (Spain, Italy, Portugal)

> Given an idealista `listing` id (with `country`) or URL, returns the listing as JSON: `title`, `locationLine`, `operation`, `propertyType`, `price` + `currency` (+ `pricePeriod`), `originalPrice`/`priceDropPercent`, `pricePerM2`, `priceDetails` (the price breakdown idealista shows, e.g. community fees or deposit), `area`, `usableArea`, `rooms`, `bathrooms`, `floor`, `lift`, `builtYear`, `energyRating`, `features` (every feature group idealista lists), `description`, `address`, `coordinates` (`locationApproximate` when the advertiser hid the exact spot), `images`, `floorPlans`, `multimediaCounts`, `advertiser` (name, type, reference, agency page) and `updated`. A listing its advertiser removed answers 404. Billed one unit.



## OpenAPI

````yaml /api-reference/openapi.json post /realestate/idealista-detail
openapi: 3.1.0
info:
  title: ScrapeUnblocker API
  description: >-
    Public API for the ScrapeUnblocker proxy/anti-bot service. Authenticate
    every request with the `x-scrapeunblocker-key` header. Documented here:
    page-source extraction, Google SERP scraping, image fetch, and the dedicated
    plugin endpoints (search engines, marketplaces, reviews, travel, social and
    more). All other paths exist for internal operations and are intentionally
    hidden from this spec.
  version: 3.0.0
servers:
  - url: https://api.scrapeunblocker.com
    description: Production
security: []
paths:
  /realestate/idealista-detail:
    post:
      tags:
        - Plugins
      summary: Scrape one idealista listing (Spain, Italy, Portugal)
      description: >-
        Given an idealista `listing` id (with `country`) or URL, returns the
        listing as JSON: `title`, `locationLine`, `operation`, `propertyType`,
        `price` + `currency` (+ `pricePeriod`),
        `originalPrice`/`priceDropPercent`, `pricePerM2`, `priceDetails` (the
        price breakdown idealista shows, e.g. community fees or deposit),
        `area`, `usableArea`, `rooms`, `bathrooms`, `floor`, `lift`,
        `builtYear`, `energyRating`, `features` (every feature group idealista
        lists), `description`, `address`, `coordinates` (`locationApproximate`
        when the advertiser hid the exact spot), `images`, `floorPlans`,
        `multimediaCounts`, `advertiser` (name, type, reference, agency page)
        and `updated`. A listing its advertiser removed answers 404. Billed one
        unit.
      operationId: idealista_detail_realestate_idealista_detail_post
      parameters:
        - name: listing
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: >-
              idealista listing id ('111278716') or URL, e.g.
              https://www.idealista.com/inmueble/111278716/,
              https://www.idealista.it/immobile/37068709/ or
              https://www.idealista.pt/imovel/34868387/.
            title: Listing
          description: >-
            idealista listing id ('111278716') or URL, e.g.
            https://www.idealista.com/inmueble/111278716/,
            https://www.idealista.it/immobile/37068709/ or
            https://www.idealista.pt/imovel/34868387/.
        - name: country
          in: query
          required: false
          schema:
            type: string
            description: 'Country of a bare listing id: es, it, pt. Ignored for a URL.'
            default: es
            title: Country
          description: 'Country of a bare listing id: es, it, pt. Ignored for a URL.'
        - name: proxy_country
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: >-
              Proxy country the request is sent from (ISO-2). Leave blank for
              the exit chosen for the site.
            title: Proxy Country
          description: >-
            Proxy country the request is sent from (ISO-2). Leave blank for the
            exit chosen for the site.
      responses:
        '200':
          description: JSON with a `listing` object.
          content:
            application/json:
              schema: {}
        '400':
          description: Invalid parameters.
        '404':
          description: idealista says the listing does not exist or was removed.
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        '502':
          description: >-
            Blocked by idealista on every attempt, no listing page returned, or
            idealista did not answer in time.
      security:
        - ScrapeUnblockerKey: []
components:
  schemas:
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError
  securitySchemes:
    ScrapeUnblockerKey:
      type: apiKey
      in: header
      name: x-scrapeunblocker-key
      description: Your ScrapeUnblocker API key. Apply on every request.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.