Get Results
curl --request GET \
--url https://api.lobstr.io/v1/results \
--header 'Authorization: <authorization>'import requests
url = "https://api.lobstr.io/v1/results"
headers = {"Authorization": "<authorization>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: '<authorization>'}};
fetch('https://api.lobstr.io/v1/results', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.lobstr.io/v1/results",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: <authorization>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.lobstr.io/v1/results"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "<authorization>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.lobstr.io/v1/results")
.header("Authorization", "<authorization>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.lobstr.io/v1/results")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = '<authorization>'
response = http.request(request)
puts response.read_body{
"url": "<string>",
"title": "<string>",
"price": 123,
"currency": "<string>",
"bedrooms": 123,
"area": 123,
"floor": "<string>",
"description": "<string>",
"phone": "<string>",
"main_image": "<string>",
"has_parking_space": true,
"parking_space_included_in_price": true,
"parking_space_price": {},
"year_built": {},
"orientation": {},
"heating": {},
"condition": {},
"energy_certificate": {},
"energy_consumption": {},
"energy_emissions_rating": {},
"energy_emissions": {},
"community_costs": {},
"constructed_area": {},
"usable_area": {},
"plot_of_land": {},
"furnished": {},
"has_fitted_wardrobes": {},
"chalet_type": {},
"is_duplex": {},
"is_top_floor": {},
"is_auction": {},
"agency_is_a_bank": {},
"floors_number": {},
"property_characteristics": {},
"detail_modification_date": {}
}Idealista Listings Search Export
Get Results
Retrieve scraped data from Idealista Listings Search Export
GET
/
v1
/
results
Get Results
curl --request GET \
--url https://api.lobstr.io/v1/results \
--header 'Authorization: <authorization>'import requests
url = "https://api.lobstr.io/v1/results"
headers = {"Authorization": "<authorization>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: '<authorization>'}};
fetch('https://api.lobstr.io/v1/results', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.lobstr.io/v1/results",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: <authorization>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.lobstr.io/v1/results"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "<authorization>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.lobstr.io/v1/results")
.header("Authorization", "<authorization>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.lobstr.io/v1/results")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = '<authorization>'
response = http.request(request)
puts response.read_body{
"url": "<string>",
"title": "<string>",
"price": 123,
"currency": "<string>",
"bedrooms": 123,
"area": 123,
"floor": "<string>",
"description": "<string>",
"phone": "<string>",
"main_image": "<string>",
"has_parking_space": true,
"parking_space_included_in_price": true,
"parking_space_price": {},
"year_built": {},
"orientation": {},
"heating": {},
"condition": {},
"energy_certificate": {},
"energy_consumption": {},
"energy_emissions_rating": {},
"energy_emissions": {},
"community_costs": {},
"constructed_area": {},
"usable_area": {},
"plot_of_land": {},
"furnished": {},
"has_fitted_wardrobes": {},
"chalet_type": {},
"is_duplex": {},
"is_top_floor": {},
"is_auction": {},
"agency_is_a_bank": {},
"floors_number": {},
"property_characteristics": {},
"detail_modification_date": {}
}Retrieve scraped data from your Idealista Listings Search Export runs.
Headers
string
required
Your API authentication token. Value:
Token YOUR_API_KEYQuery Parameters
string
required
Hash of the squid to get results from
string
Hash of a specific run (optional)
integer
Page number (default: 1). Example:
1Result Fields
Each result object contains the following fields:string
Direct URL to the listing on Idealista. Example:
https://www.idealista.com/en/inmueble/106993032/string
Title of the property listing on Idealista. Example:
Flat / apartment for sale in Galleteras Nn, La Ribera-Ibarrekolanda, Bilbaoint
Listed price of the property. Example:
526000string
ISO 3-letter currency code of the listed price. Example:
EURint
Number of bedrooms in the property. Example:
2int
Living surface area of the property in square metres. Example:
99string
Floor level where the property is located. Example:
1st floor exterior with liftstring
Full description text provided by the seller or agency on Idealista. Example:
A little piece of nature in the heart of Bilbao. Ubide Barri is the new development by Loiola, located in the most sought-after enclave of Zorrotzaurre Island: on the first line of the Deusto estuary, surrounded by parks and with the best connections to the city.string
Contact phone number for the listing. Example:
+34843750610string
URL of the property’s main listing image on Idealista. Example:
https://img4.idealista.com/blur/WEB_DETAIL/0/id.pro.es.image.master/00/63/2d/1326662095.jpgboolean
Whether the listing includes a garage or parking space. Example:
trueboolean
Whether the garage or parking space is included in the listed price. Example:
truefloat | null
Extra price of the parking space when not included in the listed price.
null if included or not applicable. Example: 15000Detail Fields
The following fields are populated only whenget_property_details: true is set. They require an additional page visit per listing.
int | null
Year of construction of the property. Example:
1985string | null
Orientation of the property (e.g. north, south, east, west or combinations). Example:
south, eaststring | null
Heating type and energy source as displayed on the listing. Example:
individual gasstring | null
Interior condition of the property (e.g. second hand/good condition, to renovate). Example:
second hand/good conditionstring | null
Energy certificate consumption rating letter (A–G). Example:
Cfloat | null
Energy consumption in kWh/m² per year from the energy performance certificate. Example:
142.5string | null
Energy certificate emissions rating letter (A–G). Example:
Dfloat | null
CO₂ emissions in kg CO₂/m² per year from the energy performance certificate. Example:
28.3float | null
Monthly community / homeowner association costs in the listing currency. Example:
85.0int | null
Constructed area in square metres. Example:
115float | null
Usable interior area in square metres. Example:
99.0int | null
Plot or land size in square metres (houses). Example:
300string | null
Furnishing status of the property (rental listings). Example:
furnishedboolean | null
Whether the property has fitted wardrobes. Example:
truestring | null
House sub-type for chalets (e.g. independantHouse, semidetachedHouse, terracedHouse). Example:
independantHouseboolean | null
Whether the property is a duplex. Example:
falseboolean | null
Whether the property is on the top floor. Example:
falseboolean | null
Whether the property is sold at auction. Example:
falseboolean | null
Whether the advertiser is a bank (bank-owned property). Example:
falseint | null
Number of floors of the building or house. Example:
6json | null
Full raw characteristics of the listing grouped by section, as returned by Idealista’s detail page. Example:
{"Basics": {"Bedrooms": "2", "Floor": "3rd"}, ...}string | null
Last modification date of the listing as returned by the detail page (UTC). Example:
2026-08-20T12:00:00ZResponse
200
{
"total_results": 1,
"limit": 50,
"page": 1,
"total_pages": 1,
"result_from": 1,
"result_to": 1,
"data": [
{
"id": 38127,
"object": "result",
"squid": "YOUR_SQUID_HASH",
"run": "RUN_HASH",
"url": "https://www.idealista.com/en/inmueble/106993032/",
"title": "Flat / apartment for sale in Galleteras Nn, La Ribera-Ibarrekolanda, Bilbao",
"price": 526000,
"currency": "EUR",
"bedrooms": 2,
"area": 99,
"floor": "1st floor exterior with lift",
"description": "A little piece of nature in the heart of Bilbao. Ubide Barri is the new development by Loiola, located in the most sought-after enclave of Zorrotzaurre Island: on the first line of the Deusto estuary, surrounded by parks and with the best connections to the city.",
"phone": "+34843750610",
"main_image": "https://img4.idealista.com/blur/WEB_DETAIL/0/id.pro.es.image.master/00/63/2d/1326662095.jpg",
"scraping_time": "2026-03-20T09:15:00.000Z",
"functions": null,
"native_id": 38127
}
],
"next": null,
"previous": null
}