Idealista
Idealista: Map Search
Map Search from Idealista. Costs 1 credit per successful call.
GET
https://api.perceptlayer.com
/
v1
/
idealista
/
map-search
Map Search
curl --request GET \
--url https://api.perceptlayer.com/v1/idealista/map-search \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.perceptlayer.com/v1/idealista/map-search"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch('https://api.perceptlayer.com/v1/idealista/map-search', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));const url = 'https://api.perceptlayer.com/v1/idealista/map-search';
const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch(url, options)
.then(res => res.json())
.then(json => console.log(json))
.catch(err => console.error(err));package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.perceptlayer.com/v1/idealista/map-search"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.perceptlayer.com/v1/idealista/map-search",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}require 'uri'
require 'net/http'
url = URI("https://api.perceptlayer.com/v1/idealista/map-search")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-Key"] = '<api-key>'
response = http.request(request)
puts response.read_bodyHttpResponse<String> response = Unirest.get("https://api.perceptlayer.com/v1/idealista/map-search")
.header("X-API-Key", "<api-key>")
.asString();{
"endpoint": "idealista.map-search",
"params": {
"country": "es",
"mode": "listings",
"property_type": "homes",
"operation": "sale",
"location_id": "0-EU-ES-28"
},
"response": {
"success": true,
"data": {
"elementList": [
{
"propertyCode": "110108160",
"thumbnail": "https://img4.idealista.com/s/v1/yLv6QcFaPGY-ndqtd3fIzjn3dwgl4inLwTKbMiVSd6Ml4khBqGDIaJvI4s5m5JvBdx6Ad9p6dwwLdwYIegv3PiUlPvfI9Zuoyw?Expires=1792875206&Signature=MEUCIG8Yn~IVnZmjCsOzAy5VCqhSdb7eLPAmA7Y7WiovVgbSAiEA9zpj4WyAOCxPzS178olkf0Dl~IVZ…",
"externalReference": "CA217051",
"numPhotos": 33,
"price": 2200000,
"priceInfo": {
"price": {
"amount": 2200000,
"currencySuffix": "€",
"priceDropInfo": "…"
}
},
"propertyType": "chalet",
"operation": "sale",
"size": 480,
"rooms": 5,
"bathrooms": 5,
"address": "Chalet pareado en Paseo Club Deportivo, La Finca, Pozuelo de Alarcón",
"province": "Madrid",
"municipality": "Pozuelo de Alarcón",
"district": "Zona Prado de Somosaguas - La Finca",
"country": "es",
"neighborhood": "La Finca",
"locationId": "0-EU-ES-28-02-003-115-07-001",
"latitude": 40.4173893,
"longitude": -3.8060585,
"showAddress": false,
"url": "https://www.idealista.com/inmueble/110108160/",
"description": "Descubre la exclusividad de este majestuoso chalet pareado en una de las zonas más prestigiosas de España: La Finca, en Pozuelo de Alarcón. Con 480 m² de construcción sobre una parcela de 500 m², esta joya arquitectónica se reparte en cuatr…",
"hasVideo": true,
"status": "good",
"newDevelopment": false,
"priceDropValue": 200000,
"dropDate": 1792683875000,
"favourite": false,
"newProperty": false,
"multimedia": {
"images": [
"…",
"…",
"…"
],
"videos": [
"…"
],
"virtual3DTours": [
"…"
],
"homestagings": [
"…"
]
},
"contactInfo": {
"commercialName": "Gilmar Pozuelo - Aravaca",
"phone1": {
"phoneNumber": "919385238",
"formattedPhone": "919 38 52 38",
"prefix": "34",
"phoneNumberForMobileDialing": "+34919385238",
"nationalNumber": true
},
"contactName": "CA Gilmar",
"userType": "professional",
"agencyLogo": "https://st3.idealista.com/fb/d8/2a/gilmarpozuelo.gif",
"contactMethod": "all",
"micrositeShortName": "gilmarpozuelo",
"totalAds": 0,
"needLoginForContact": false,
"needLoginForPhone": false
},
"parkingSpace": {
"hasParkingSpace": true,
"isParkingSpaceIncludedInPrice": true
},
"priceDropPercentage": 8,
"priceByArea": 4583,
"features": {
"hasSwimmingPool": true,
"hasTerrace": true,
"hasAirConditioning": true,
"hasBoxRoom": true,
"hasGarden": true
},
"detailedType": {
"typology": "chalet",
"subTypology": "semidetachedHouse"
},
"suggestedTexts": {
"title": "Chalet pareado en Paseo Club Deportivo, La Finca, Pozuelo de Alarcón"
},
"hasPlan": true,
"has3DTour": true,
"has360": false,
"hasStaging": true,
"labels": [
{
"name": "luxuryType",
"text": "Lujo"
}
],
"highlight": {
"groupDescription": "Top+"
},
"newDevelopmentHighlight": false,
"topPlus": true,
"topNewDevelopment": false,
"preferenceHighlight": false,
"topHighlight": false,
"urgentVisualHighlight": false,
"visualHighlight": false
},
{
"propertyCode": "111379612",
"thumbnail": "https://img4.idealista.com/s/v1/yLv6QcFaPGY-ndqtd3fIzjn3dwgl4inLwTKbMiVSd6Ml4khBqGDIaJvI4s5m5JvBd7UMd_ejdz4GdwYI9wijeggMDAbI9Zuoyw?Expires=1792875206&Signature=MEYCIQCpO0oeX3IZ1sRYhrxpmZBUa5dSroICWzWkfKGuLLSM5QIhAKAKrBJCwVB38NhyUWmbxvyXdGWM…",
"externalReference": "W-049Q33",
"numPhotos": 29,
"floor": "1",
"price": 990000,
"priceInfo": {
"price": {
"amount": 990000,
"currencySuffix": "€",
"priceDropInfo": "…"
}
},
"propertyType": "flat",
"operation": "sale",
"size": 133,
"exterior": true,
"rooms": 3,
"bathrooms": 2,
"address": "Piso en Calle de Santa BrÃgida, Chueca-Justicia, Madrid",
"province": "Madrid",
"municipality": "Madrid",
"district": "Centro",
"country": "es",
"neighborhood": "Chueca-Justicia",
"locationId": "0-EU-ES-28-07-001-079-01-004",
"latitude": 40.4252684,
"longitude": -3.7008748,
"showAddress": false,
"url": "https://www.idealista.com/inmueble/111379612/",
"description": "Oportunidad de inversión con 3 balcones en Justicia Engel & Völkers, inmobiliaria de lujo, tiene el placer de comercializar esta exclusiva propiedad exterior de 132 m2 aprox según Registro, en el vibrante corazón del barrio de Justicia, la …",
"hasVideo": true,
"status": "good",
"newDevelopment": false,
"priceDropValue": 110000,
"dropDate": 1792490310000,
"favourite": false,
"newProperty": false,
"multimedia": {
"images": [
"…",
"…",
"…"
],
"videos": [
"…"
],
"virtual3DTours": [
"…"
],
"homestagings": [
"…",
"…"
]
},
"contactInfo": {
"commercialName": "Engel & Völkers Madrid",
"phone1": {
"phoneNumber": "919386811",
"formattedPhone": "919 38 68 11",
"prefix": "34",
"phoneNumberForMobileDialing": "+34919386811",
"nationalNumber": true
},
"contactName": "Engel & Völkers Madrid MMC",
"userType": "professional",
"agencyLogo": "https://st3.idealista.com/56/f1/09/engel-volkers-madrid.gif",
"contactMethod": "all",
"micrositeShortName": "engel-volkers-madrid",
"totalAds": 0,
"needLoginForContact": false,
"needLoginForPhone": false
},
"hasLift": false,
"priceDropPercentage": 10,
"priceByArea": 7444,
"features": {
"hasSwimmingPool": false,
"hasTerrace": false,
"hasAirConditioning": true,
"hasBoxRoom": false,
"hasGarden": false
},
"detailedType": {
"typology": "flat"
},
"suggestedTexts": {
"title": "Piso en Calle de Santa BrÃgida, Chueca-Justicia, Madrid"
},
"hasPlan": true,
"has3DTour": true,
"has360": false,
"hasStaging": true,
"highlight": {
"groupDescription": "Top+"
},
"newDevelopmentHighlight": false,
"topPlus": true,
"topNewDevelopment": false,
"preferenceHighlight": false,
"topHighlight": false,
"urgentVisualHighlight": false,
"visualHighlight": false
}
],
"total": 33943,
"totalPages": 16972,
"actualPage": 1,
"itemsPerPage": 2,
"numPaginations": 0,
"summary": [
"Comprar casas y pisos en Madrid provincia",
"Todos los precios",
"Todos los tamaños"
],
"filter": {
"locationName": "Madrid"
},
"alertName": "Viviendas en Madrid",
"totalAppliedFilters": 0,
"searchTitle": "Madrid provincia",
"paginable": true,
"lowerRangePosition": 0,
"upperRangePosition": 2
},
"meta": {
"duration_ms": 764,
"endpoint_family": "map_search"
}
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"request_id": "<string>"
}
}1 credit per successful call; failed calls are free. See the Idealista API overview for every Idealista endpoint.
Authorizations
Query Parameters
Available options:
es, it, pt, fr Available options:
sale, rent Available options:
homes, newDevelopments, bedrooms, offices, premises, transfers, buildings, storageRooms, garages, vacationRentals, luxury, lands Maximum string length:
80Maximum string length:
40Maximum string length:
40Available options:
asc, desc Available options:
high, low Maximum string length:
8Maximum string length:
80Available options:
free, bareOwnership, tenanted, illegallyOccupied, viager Available options:
onlyAuctions, excludeAuctions Maximum string length:
40Maximum string length:
40Maximum string length:
40Available options:
listings, pins Was this page helpful?
⌘I
Map Search
curl --request GET \
--url https://api.perceptlayer.com/v1/idealista/map-search \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.perceptlayer.com/v1/idealista/map-search"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch('https://api.perceptlayer.com/v1/idealista/map-search', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));const url = 'https://api.perceptlayer.com/v1/idealista/map-search';
const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch(url, options)
.then(res => res.json())
.then(json => console.log(json))
.catch(err => console.error(err));package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.perceptlayer.com/v1/idealista/map-search"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.perceptlayer.com/v1/idealista/map-search",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}require 'uri'
require 'net/http'
url = URI("https://api.perceptlayer.com/v1/idealista/map-search")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-Key"] = '<api-key>'
response = http.request(request)
puts response.read_bodyHttpResponse<String> response = Unirest.get("https://api.perceptlayer.com/v1/idealista/map-search")
.header("X-API-Key", "<api-key>")
.asString();{
"endpoint": "idealista.map-search",
"params": {
"country": "es",
"mode": "listings",
"property_type": "homes",
"operation": "sale",
"location_id": "0-EU-ES-28"
},
"response": {
"success": true,
"data": {
"elementList": [
{
"propertyCode": "110108160",
"thumbnail": "https://img4.idealista.com/s/v1/yLv6QcFaPGY-ndqtd3fIzjn3dwgl4inLwTKbMiVSd6Ml4khBqGDIaJvI4s5m5JvBdx6Ad9p6dwwLdwYIegv3PiUlPvfI9Zuoyw?Expires=1792875206&Signature=MEUCIG8Yn~IVnZmjCsOzAy5VCqhSdb7eLPAmA7Y7WiovVgbSAiEA9zpj4WyAOCxPzS178olkf0Dl~IVZ…",
"externalReference": "CA217051",
"numPhotos": 33,
"price": 2200000,
"priceInfo": {
"price": {
"amount": 2200000,
"currencySuffix": "€",
"priceDropInfo": "…"
}
},
"propertyType": "chalet",
"operation": "sale",
"size": 480,
"rooms": 5,
"bathrooms": 5,
"address": "Chalet pareado en Paseo Club Deportivo, La Finca, Pozuelo de Alarcón",
"province": "Madrid",
"municipality": "Pozuelo de Alarcón",
"district": "Zona Prado de Somosaguas - La Finca",
"country": "es",
"neighborhood": "La Finca",
"locationId": "0-EU-ES-28-02-003-115-07-001",
"latitude": 40.4173893,
"longitude": -3.8060585,
"showAddress": false,
"url": "https://www.idealista.com/inmueble/110108160/",
"description": "Descubre la exclusividad de este majestuoso chalet pareado en una de las zonas más prestigiosas de España: La Finca, en Pozuelo de Alarcón. Con 480 m² de construcción sobre una parcela de 500 m², esta joya arquitectónica se reparte en cuatr…",
"hasVideo": true,
"status": "good",
"newDevelopment": false,
"priceDropValue": 200000,
"dropDate": 1792683875000,
"favourite": false,
"newProperty": false,
"multimedia": {
"images": [
"…",
"…",
"…"
],
"videos": [
"…"
],
"virtual3DTours": [
"…"
],
"homestagings": [
"…"
]
},
"contactInfo": {
"commercialName": "Gilmar Pozuelo - Aravaca",
"phone1": {
"phoneNumber": "919385238",
"formattedPhone": "919 38 52 38",
"prefix": "34",
"phoneNumberForMobileDialing": "+34919385238",
"nationalNumber": true
},
"contactName": "CA Gilmar",
"userType": "professional",
"agencyLogo": "https://st3.idealista.com/fb/d8/2a/gilmarpozuelo.gif",
"contactMethod": "all",
"micrositeShortName": "gilmarpozuelo",
"totalAds": 0,
"needLoginForContact": false,
"needLoginForPhone": false
},
"parkingSpace": {
"hasParkingSpace": true,
"isParkingSpaceIncludedInPrice": true
},
"priceDropPercentage": 8,
"priceByArea": 4583,
"features": {
"hasSwimmingPool": true,
"hasTerrace": true,
"hasAirConditioning": true,
"hasBoxRoom": true,
"hasGarden": true
},
"detailedType": {
"typology": "chalet",
"subTypology": "semidetachedHouse"
},
"suggestedTexts": {
"title": "Chalet pareado en Paseo Club Deportivo, La Finca, Pozuelo de Alarcón"
},
"hasPlan": true,
"has3DTour": true,
"has360": false,
"hasStaging": true,
"labels": [
{
"name": "luxuryType",
"text": "Lujo"
}
],
"highlight": {
"groupDescription": "Top+"
},
"newDevelopmentHighlight": false,
"topPlus": true,
"topNewDevelopment": false,
"preferenceHighlight": false,
"topHighlight": false,
"urgentVisualHighlight": false,
"visualHighlight": false
},
{
"propertyCode": "111379612",
"thumbnail": "https://img4.idealista.com/s/v1/yLv6QcFaPGY-ndqtd3fIzjn3dwgl4inLwTKbMiVSd6Ml4khBqGDIaJvI4s5m5JvBd7UMd_ejdz4GdwYI9wijeggMDAbI9Zuoyw?Expires=1792875206&Signature=MEYCIQCpO0oeX3IZ1sRYhrxpmZBUa5dSroICWzWkfKGuLLSM5QIhAKAKrBJCwVB38NhyUWmbxvyXdGWM…",
"externalReference": "W-049Q33",
"numPhotos": 29,
"floor": "1",
"price": 990000,
"priceInfo": {
"price": {
"amount": 990000,
"currencySuffix": "€",
"priceDropInfo": "…"
}
},
"propertyType": "flat",
"operation": "sale",
"size": 133,
"exterior": true,
"rooms": 3,
"bathrooms": 2,
"address": "Piso en Calle de Santa BrÃgida, Chueca-Justicia, Madrid",
"province": "Madrid",
"municipality": "Madrid",
"district": "Centro",
"country": "es",
"neighborhood": "Chueca-Justicia",
"locationId": "0-EU-ES-28-07-001-079-01-004",
"latitude": 40.4252684,
"longitude": -3.7008748,
"showAddress": false,
"url": "https://www.idealista.com/inmueble/111379612/",
"description": "Oportunidad de inversión con 3 balcones en Justicia Engel & Völkers, inmobiliaria de lujo, tiene el placer de comercializar esta exclusiva propiedad exterior de 132 m2 aprox según Registro, en el vibrante corazón del barrio de Justicia, la …",
"hasVideo": true,
"status": "good",
"newDevelopment": false,
"priceDropValue": 110000,
"dropDate": 1792490310000,
"favourite": false,
"newProperty": false,
"multimedia": {
"images": [
"…",
"…",
"…"
],
"videos": [
"…"
],
"virtual3DTours": [
"…"
],
"homestagings": [
"…",
"…"
]
},
"contactInfo": {
"commercialName": "Engel & Völkers Madrid",
"phone1": {
"phoneNumber": "919386811",
"formattedPhone": "919 38 68 11",
"prefix": "34",
"phoneNumberForMobileDialing": "+34919386811",
"nationalNumber": true
},
"contactName": "Engel & Völkers Madrid MMC",
"userType": "professional",
"agencyLogo": "https://st3.idealista.com/56/f1/09/engel-volkers-madrid.gif",
"contactMethod": "all",
"micrositeShortName": "engel-volkers-madrid",
"totalAds": 0,
"needLoginForContact": false,
"needLoginForPhone": false
},
"hasLift": false,
"priceDropPercentage": 10,
"priceByArea": 7444,
"features": {
"hasSwimmingPool": false,
"hasTerrace": false,
"hasAirConditioning": true,
"hasBoxRoom": false,
"hasGarden": false
},
"detailedType": {
"typology": "flat"
},
"suggestedTexts": {
"title": "Piso en Calle de Santa BrÃgida, Chueca-Justicia, Madrid"
},
"hasPlan": true,
"has3DTour": true,
"has360": false,
"hasStaging": true,
"highlight": {
"groupDescription": "Top+"
},
"newDevelopmentHighlight": false,
"topPlus": true,
"topNewDevelopment": false,
"preferenceHighlight": false,
"topHighlight": false,
"urgentVisualHighlight": false,
"visualHighlight": false
}
],
"total": 33943,
"totalPages": 16972,
"actualPage": 1,
"itemsPerPage": 2,
"numPaginations": 0,
"summary": [
"Comprar casas y pisos en Madrid provincia",
"Todos los precios",
"Todos los tamaños"
],
"filter": {
"locationName": "Madrid"
},
"alertName": "Viviendas en Madrid",
"totalAppliedFilters": 0,
"searchTitle": "Madrid provincia",
"paginable": true,
"lowerRangePosition": 0,
"upperRangePosition": 2
},
"meta": {
"duration_ms": 764,
"endpoint_family": "map_search"
}
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"request_id": "<string>"
}
}