
Global Sources Supplier Scraper
scrape.ly/store/cornerledger/globalsources-scraperLead generationE-commerce
2 monthly users

Scrape public Idealista listings in Spain and Italy by place, results URL, or property code. Get price, size, rooms, bathrooms, coordinates, photos, description, condition, and agency, with real search filters.
Turn Idealista search results into clean, structured property data. Search any Spanish or Italian city, district, or postal code, paste a results URL you already filtered on the site, or list property codes, and get price, size, rooms, bathrooms, coordinates, photos, full description, condition, and advertiser for every listing. No Idealista account needed, and it costs $0.50 per 1,000 listings plus platform usage.
Segovia, Marbella, or 28001), or paste Idealista results or listing URLs, or add property codes.| Field | What it does |
|---|---|
location / locations | Places or postal codes to search. Idealista's own place search picks the best match. |
startUrls | Idealista results pages (filters and sort kept) or single listing pages. |
propertyCodes | Listing codes such as 112801269. |
maxItems | Total listings to save. Default 10. 0 means no limit. |
operation, propertyType, country, sortBy | Sale or rent, homes, offices, garages, rooms, and more; Spain or Italy. |
fetchDetails | On by default: opens each listing for description, coordinates, bathrooms, photos, and advertiser. |
| Filters | minPrice, maxPrice, minSize, maxSize, publicationDate, bedrooms, bathrooms, homeType, condition, propertyStatus, floor, rentalTypes, and feature switches such as lift, terrace, swimmingPool. |
{
"location": "Madrid",
"operation": "sale",
"propertyType": "homes",
"maxItems": 200,
"maxPrice": 300000,
"bedrooms": ["2", "3"],
"lift": true,
"sortBy": "mostRecent"
}
One row per listing.
| Field | Example |
|---|---|
propertyCode, url | 112808705, listing link |
price, priceByArea | 175000, 6731 |
propertyType, operation, status | studio, sale, good |
size, rooms, bathrooms, floor, hasLift, exterior | 26, 0, 1, bj, true |
address, district, municipality, province, latitude, longitude | Calle del Almendro, 22, Palacio, Madrid |
description, suggestedTexts.title | full ad text and title |
thumbnail, multimedia.images, numPhotos | photo links |
contactInfo | advertiser type, agency name, Idealista page, logo |
features, parkingSpace, labels, externalReference | pool, terrace, garage, occupancy labels, agency reference |
{
"propertyCode": "112808705",
"url": "https://www.idealista.com/inmueble/112808705/",
"price": 175000,
"priceByArea": 6731,
"propertyType": "studio",
"operation": "sale",
"size": 26,
"rooms": 0,
"bathrooms": 1,
"floor": "bj",
"hasLift": true,
"status": "good",
"address": "Calle del Almendro, 22",
"district": "Palacio",
"municipality": "Madrid",
"province": "Madrid",
"latitude": 40.4122391,
"longitude": -3.71052,
"suggestedTexts": { "title": "Estudio en Calle del Almendro, 22, Palacio, Madrid" },
"description": "MAGNIFICA OPORTUNIDAD! Coqueto y acogedor estudio en el barrio de la Latina...",
"thumbnail": "https://img4.idealista.com/blur/480_360_mq/0/id.pro.es.image.master/8a/f7/f5/1482807357.jpg",
"numPhotos": 20,
"contactInfo": {
"userType": "professional",
"commercialName": "MT Gestión de Activos",
"micrositeShortName": "media-tempel"
},
"features": { "hasSwimmingPool": false, "hasTerrace": false, "hasAirConditioning": false, "hasBoxRoom": false, "hasGarden": false },
"parkingSpace": { "hasParkingSpace": false, "isParkingSpaceIncludedInPrice": false },
"country": "es"
}
You pay $0.50 per 1,000 listings ($0.0005 each), plus platform usage for the run. Idealista only answers residential addresses, so usage is mostly residential proxy traffic: about 35 MB per 1,000 listings with full details, plus a small one-off site check at the start of a run.
Examples from test runs:
Turning off Full listing details cuts proxy traffic and run time by more than half.
Is it legal to scrape Idealista? The actor reads only public pages that anyone can open without an account. You are responsible for how you use the data, including personal data rules such as GDPR, and Idealista's terms.
Do I need an Idealista account or my own proxy? No. The residential proxy is built in, and the site's bot check is handled for you.
How many results can I get? As many as the search has. Idealista shows at most 1,800 results per search. For a Location search the actor continues in price order and removes duplicates; a pasted results URL stops at 1,800, with a message saying how many exist.
Why is a field empty? Not every advertiser fills every field. For example, listings that hide their address have no coordinates, and private sellers have no agency logo.
Are phone numbers included? No. Idealista shows phone numbers only to logged-in users, and this actor never logs in.
Can I schedule it or use the API? Yes. Save the input as a task, schedule it daily, and read results through the API or integrations.
locationId is the province-level ID shown on the listing page.Every field below can be set in the run form, passed through the API, or saved as a task. Unset fields fall back to the defaults shown.
locationstringOptionalLocation
City, area, district, or postal code to search, such as Segovia, Marbella, or 28001. Used only when Locations, Idealista URLs, and Property codes are empty.
locationsarrayOptionaldefault []Locations
Several places to search one after another. The listing limit applies to the whole run.
startUrlsarrayOptionaldefault []Idealista URLs
Results pages or listing pages, such as https://www.idealista.com/venta-viviendas/segovia-segovia/ or https://www.idealista.com/inmueble/112801269/. Filters and sort order in a results URL are kept, so you can set any filter on the site and paste the link.
propertyCodesarrayOptionaldefault []Property codes
Idealista property codes to open directly, such as 112801269.
maxItemsintegerOptionaldefault 10Max listings
How many listings to save in total. 0 means every listing the searches return.
What to search for in Location and Locations.
operationenumOptionaldefault "sale"Operation
Buy or rent.
propertyTypeenumOptionaldefault "homes"Property type
Rooms and holiday rentals are rent only. Buildings and transfers are sale only. Countries other than Spain support homes.
countryenumOptionaldefault "es"Country
Idealista site for Location searches. Results URLs pick their own site.
sortByenumOptionaldefault "mostRecent"Sort by
Order of the results.
fetchDetailsbooleanOptionaldefault trueFull listing details
Open every listing page to add the full description, coordinates, bathrooms, all photos, floor, condition, features, and advertiser. Turn off for a faster, cheaper run with search-card data only.
Applied to Location searches on the Spanish site. For other countries, set filters on the site and paste the results URL.
minPriceintegerOptionaldefault 0Minimum price (€)
0 means any.
maxPriceintegerOptionaldefault 0Maximum price (€)
0 means any.
minSizeintegerOptionaldefault 0Minimum size (m²)
0 means any.
maxSizeintegerOptionaldefault 0Maximum size (m²)
0 means any.
publicationDateenumOptionaldefault ""Published
Only listings published recently.
bedroomsarrayOptionaldefault []Bedrooms
Any of these bedroom counts. 4 means 4 or more.
bathroomsarrayOptionaldefault []Bathrooms
Any of these bathroom counts. 3 means 3 or more.
homeTypearrayOptionaldefault []Home type
Kinds of home to include.
conditionarrayOptionaldefault []Condition
Building condition.
propertyStatusarrayOptionaldefault []Occupancy
Sale listings by occupancy.
floorarrayOptionaldefault []Floor
Floor of the home.
rentalTypesarrayOptionaldefault []Rental type
Rent searches only.
Required features. Spanish site Location searches only.
airConditioningbooleanOptionaldefault falseAir conditioning
Only listings with air conditioning.
fittedWardrobesbooleanOptionaldefault falseFitted wardrobes
Only listings with fitted wardrobes.
liftbooleanOptionaldefault falseLift
Only listings with lift.
balconybooleanOptionaldefault falseBalcony
Only listings with balcony.
terracebooleanOptionaldefault falseTerrace
Only listings with terrace.
exteriorbooleanOptionaldefault falseExterior
Only exterior homes.
garagebooleanOptionaldefault falseParking
Only listings with parking.
gardenbooleanOptionaldefault falseGarden
Only listings with garden.
swimmingPoolbooleanOptionaldefault falseSwimming pool
Only listings with swimming pool.
storageRoombooleanOptionaldefault falseStorage room
Only listings with storage room.
accessiblebooleanOptionaldefault falseAccessible
Only homes adapted for reduced mobility.
seaViewsbooleanOptionaldefault falseSea views
Only listings with sea views.
luxurybooleanOptionaldefault falseLuxury
Only luxury homes.
planbooleanOptionaldefault falseHas floor plan
Only listings with has floor plan.
virtualTourbooleanOptionaldefault falseHas virtual tour
Only listings with has virtual tour.
bankOfferbooleanOptionaldefault falseBank-owned
Only homes sold by banks.
proxyConfigurationobjectOptionaldefault {"useScrapelyProxy":true,"scrapelyProxyGroups":["RESIDENTIA…Proxy configuration
Idealista refuses datacenter addresses, so the residential proxy is the default. The exit country follows the selected site.
Every run writes its results to a dataset. Preview it in the dashboard, then export it or read it through the API.
| Field | Type | Description |
|---|---|---|
| thumbnail | string | null | |
| price | number | null | |
| propertyType | string | null | |
| operation | string | null | |
| size | number | null | |
| rooms | number | null | |
| bathrooms | number | null | |
| floor | string | null | |
| address | string | null | |
| district | string | null | |
| municipality | string | null | |
| province | string | null | |
| priceByArea | number | null | |
| status | string | null | |
| latitude | number | null | |
| longitude | number | null | |
| propertyCode | string | null | |
| url | string | null |
You pay for the events the actor reports, such as each result or page it produces. Platform usage is included in the event prices.
| Event | Charged when | Price |
|---|---|---|
| Listing | One Idealista listing saved to the dataset | $0.0005 |
Run this actor from your own code. Swap in your API token and the examples work as-is.
import { ScrapelyClient } from 'scrapely-client'
const client = new ScrapelyClient({ token: process.env.SCRAPELY_TOKEN })
// Start the actor and wait for the run to finish.
const run = await client.actor('roamandroof/idealista-scraper').call({
"location": "Segovia",
"locations": [],
"startUrls": [],
"propertyCodes": [],
"maxItems": 10,
"operation": "sale",
"propertyType": "homes",
"country": "es",
"sortBy": "mostRecent",
"minPrice": 0,
"maxPrice": 0,
"proxyConfiguration": {
"useScrapelyProxy": true,
"scrapelyProxyGroups": [
"RESIDENTIAL"
]
}
})
// Read the dataset the run produced.
const { items } = await client.dataset(run.defaultDatasetId).listItems()
console.log(items)Tokens live in your account settings. Keep them server-side: a token carries the full permissions of your account.
Connect the Scrape.ly MCP server once and your agent can run this actor as a tool. Pick your tool:
Fetch scrape.ly/agents.md and run roamandroof/idealista-scraperPaste into Claude Code, Codex, Cursor or any AI agent. It signs you in once in the browser.
{
"mcpServers": {
"scrapely": {
"url": "https://api.scrape.ly/mcp?tools=actors,runs,storage,docs&actors=roamandroof/idealista-scraper"
}
}
}No key in the file: your client opens the browser to sign you in the first time it connects.
Inputs the developer prepared for common jobs. Open one to see its input, then copy it to your account to run it as-is or adjust it.
Idealista rentals with details.
Cheapest homes for sale with a terrace.
Listings from Idealista Italy.
Listings from Idealista Portugal.
Scrape.ly gives you the infrastructure, the tooling, and the team to extract, process, and operationalize web data at any scale. Setup takes minutes. The advantage lasts forever.