Search real estate listings across Southern Europe.
Retrieve structured property data from Spain, Italy, and Portugal. Filter by price, location, and specific amenities without managing browser automation.
How it works
One request, one response.
- 1
Define search parameters
Submit the location, operation type, and desired filters like price or bedrooms in a single JSON body.
- 2
Process the query
The system authenticates the request and retrieves matching listings from the platform index.
- 3
Receive structured listings
A JSON array of property data including prices, features, and location details is returned to your application.
Capabilities
What you get.
Everything this endpoint does, without running the infrastructure yourself.
Multi-country coverage
Support for property searches in Spain, Italy, and Portugal using the location parameter.
Granular amenity filtering
Filter results by specific property features such as swimmingPool, elevator, or terrace.
Flexible property types
Query across various categories including homes, offices, commercial spaces, and land.
Advanced sorting options
Order results by relevance, price, size, or date using the order parameter to prioritize specific listings.
Listing recency control
Filter for the newest properties using the sinceDate parameter to avoid redundant data processing.
Cost of ownership
Build it yourself, or call this.
Both are real options. Here is what each one actually costs you.
Run it yourself
- Build custom scrapers for three different countries
- Manage constant site layout changes and IP blocking
- Store and deduplicate large volumes of raw HTML
- Handle CAPTCHAs and session persistence.
Call the API
- One request for all regions and property types
- Structured JSON output ready for database ingestion
- Automatic handling of site-specific search logic
- Usage-based billing per successful search call.
Integrate
Built for the language you use.
One HTTP endpoint. Copy the call in your language and go.
curl -X POST https://automatio.ai/api/v1/query \
-H "Authorization: Bearer $AUTOMATIO_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "tool": "idealista_search", "params": { "locationId": "example", "locationName": "example", "location": "example", "operation": "example" } }'In production
What people build with it.
Market price monitoring
Input a locationId and propertyType to track price trends for specific neighborhoods over time. This data feeds into appraisal tools or investment dashboards for real estate analysts.
Real estate lead aggregators
Set specific filters like bankOffer or newDevelopment to find unique investment opportunities. Developers use this to populate niche property portals with highly specific subsets of the market.
Relocation platform tools
Filter for furnished rentals with airConditioning in specific cities to provide curated housing options for expats. The API returns ready-to-display data for map views and comparison tables.
Choosing parameters
Which options matter.
The table below lists what exists. These are the calls worth making deliberately.
- locationId
- operation
- sinceDate
- bedrooms
Alternatives
When to use something else.
A page that pretends it has no alternatives reads as an advert. These are the other real options.
Official API
Best for high-volume enterprise partners who have a direct commercial agreement with the platform.
Manual Browser Scraping
Useful if you only need a handful of listings occasionally and can manually solve CAPTCHAs and navigate layout changes.
Before you integrate
What it does not do.
The boundaries are as useful as the features. These are the ones worth knowing up front.
Result caps
The number of results returned in a single call is limited by the platform's pagination logic. Callers must use the startPage parameter to iterate through large result sets.
Geographical identifiers
You cannot search by latitude and longitude coordinates directly. You must first resolve the location into a locationId using the suggestion tool.
Contact information
This endpoint provides listing data but does not directly facilitate communication with agents. Automated messaging or lead submission is outside the scope of this search tool.
Reference
135 credits per call- Endpoint
- POST https://automatio.ai/api/v1/query
- Tool ID
- idealista_search
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| locationId | string | Location ID from idealistaGetSuggestions (e.g. "0-EU-ES-28-07-001-079") | |
| locationName | string | Human-readable location name, e.g. Madrid. Never include parentheses () — they silently break the search. Use a clean name from idealistaGetSuggestions with no "(City)" / "(Province)" clarifiers. | |
| location | "es" | "pt" | "it" | Country code: Spain (es), Portugal (pt), Italy (it) | |
| operation | "sale" | "rent" | Property operation type | |
| propertyType | "homes" | "newhomes" | "rooms" | "garages" | "storagerooms" | "buildings" | "lands" | "offices" | "commercial" | — | Type of listing to search (default: homes) |
| maxResults | integer | — | Maximum number of listings to return (default: 40, max: 480). The tool fetches multiple pages automatically to reach this count. Use this when the user asks for more than 40 results. |
| startPage | integer | — | API page to start from (default: 1). Useful for continuing a previous search. |
| order | "relevance" | "lowestprice" | "highestprice" | "mostrecent" | "leastrecent" | "highestpricereduction" | "lowestpricem2" | "highestpricem2" | "biggest" | "smallest" | — | Sort order (default: relevance) |
| locale | "es" | "it" | "pt" | "en" | "ca" | "de" | "fr" | "nl" | "nb" | — | Response language (default: en) |
| minPrice | number | — | Minimum price in local currency |
| maxPrice | number | — | Maximum price in local currency |
| minSize | number | — | Minimum size in m² |
| maxSize | number | — | Maximum size in m² |
| bedrooms | integer[] | — | Number of bedrooms to filter by (0, 1, 2, 3, or 4+). Array for multiple: [1, 2] |
| elevator | boolean | — | |
| garage | boolean | — | |
| swimmingPool | boolean | — | |
| terrace | boolean | — | |
| airConditioning | boolean | — | |
| exterior | boolean | — | |
| garden | boolean | — | |
| furnished | "furnished" | "furnishedKitchen" | — | Furniture requirement for rentals |
| newDevelopment | boolean | — | New development properties only |
| sinceDate | "T" | "Y" | "W" | "M" | — | Date filter: T=last 24h (rent only), Y=last 48h (buy only), W=last week, M=last month |
| bankOffer | boolean | — | Bank-owned properties only |
The same endpoints are available over MCP, and the full machine-readable catalogue lives in the API documentation.
Frequently Asked Questions
Find answers to common questions about Idealista Property Search API
Same data source
Every Real estate endpoint.
One key, one endpoint shape. These all bill per successful call the same way.
Property Locations API
Retrieve structured geographic metadata for Idealista location IDs across Spain, Italy, and Portugal. Get accurate regional data for real estate integrations.
135 creditsAgency Listings API
Extract property listings for real estate agencies on Idealista. Get structured data for sales or rentals in Spain, Italy, and Portugal via JSON.
135 creditsReal Estate Agency API
Extract structured real estate agency data from Idealista using the microsite ID. Access contact details, portfolio size, and metadata for Spain, Italy, and...
135 creditsProperty Details API
Get structured Idealista property data for Spain, Italy, and Portugal. Access prices, features, and localized descriptions via a single POST request.
135 creditsLocation Autocomplete API
Access real-time location suggestions from Idealista for Spain, Italy, and Portugal. Convert partial text strings into valid geographic identifiers for search.
135 creditsOther endpoints
Browse all APIs →Supercharge your workflow with AI Automation
Automatio combines the power of AI agents, web automation, and smart integrations to help you accomplish more in less time.