Idealista Agency Scraper
Pricing
$3.00 / 1,000 scraped agencies
Idealista Agency Scraper
Find real estate agencies from Idealista listing result pages. Export agency names, profile URLs, logos, source listings, result ranks, and scrape timestamps.
Pricing
$3.00 / 1,000 scraped agencies
Rating
0.0
(0)
Developer
Maxime Dupré
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
2
Monthly active users
8 days ago
Last modified
Categories
Share
🏠 Idealista agency scraper for real estate leads
Idealista Agency Scraper collects real estate agencies from public Idealista listing result pages and saves them as clean dataset rows. Paste one or more Idealista sale or rental result URLs, then export agency names, Idealista profile URLs, short names, logos, source listing links, result ranks, page numbers, and scrape timestamps.
Use this Idealista agency scraper when you want to find agencies active in a city or search area without opening every property listing by hand. It is useful for real estate lead research, brokerage mapping, local market checks, CRM enrichment, partner discovery, and repeatable exports from Idealista search pages.
For a quick first run, keep the prefilled Madrid sale results URL and set Agency limit to 25. Once the row shape fits your workflow, add more Idealista result pages, raise the limits, schedule the Actor, or call it through the Apify API.
✅ What this Actor does
- Scrapes public Idealista listing result pages.
- Accepts Idealista sale and rental result URLs such as
/venta-viviendas/madrid-madrid/. - Finds agency links shown on property listing cards.
- Deduplicates agencies across all submitted pages in the same run.
- Saves one dataset row per accepted agency.
- Includes the listing that first exposed the agency, so you can trace where it came from.
- Works with Apify dataset exports, API access, schedules, webhooks, and integrations.
- Charges only for saved agency rows.
The Actor focuses on agencies visible on listing result pages. It does not submit contact forms, log in, scrape private dashboards, enrich agencies from third-party databases, or guarantee phone numbers. Phone reveal on Idealista can be protected by extra anti-bot checks, so phone numbers are not part of the current output contract.
📦 What data you get
Each dataset item is one unique agency discovered from the submitted Idealista result pages. Fields can be empty when Idealista does not show that value on the listing card.
| Field | Description |
|---|---|
agencyId | Stable agency key from the Idealista profile URL. |
agencyName | Agency name shown on Idealista. |
profileUrl | Idealista agency profile URL. |
shortName | Idealista agency short name from the /pro/ URL. |
logoUrl | Agency logo URL when shown on the listing card. |
phoneNumber | Always null in the current version. |
sourceListingId | Idealista property listing ID that exposed the agency. |
sourceListingUrl | Property listing URL where the agency was found. |
sourceListingTitle | Listing title shown in the result card. |
sourceUrl | Result page URL that produced the agency. |
pageNumber | Result page number where the agency was found. |
searchRank | Listing-card rank within the crawled result pages for that input. |
scrapedAt | UTC timestamp when the row was saved. |
🎯 Common use cases
- Build a list of agencies active in a Spanish city or neighborhood.
- Find agencies attached to luxury, rental, sale, or filtered Idealista searches.
- Map which agencies appear in a local Idealista result set.
- Add Idealista agency profile URLs to a CRM or spreadsheet.
- Track agency visibility in selected searches with scheduled runs.
- Prepare real estate outreach lists with traceable source listings.
- Export agency data as JSON, CSV, Excel, XML, RSS, or HTML.
▶️ How to run it
- Open the Actor in Apify Console.
- Paste one or more Idealista listing result URLs into Result page URLs.
- Set Agency limit to cap the number of unique agencies saved.
- Set Pages per URL if you want to crawl beyond the first result page.
- Start the run and open the dataset.
You can export the finished dataset from Apify, consume it through the API, schedule repeat checks, or send results to another tool with webhooks and integrations.
⚙️ Input
{"startUrls": [{"url": "https://www.idealista.com/venta-viviendas/madrid-madrid/"}],"maxResults": 25,"maxPagesPerStartUrl": 1}
Result page URLs
Paste Idealista listing result pages, one per row. Good examples include city, area, sale, rental, or filtered result pages from Idealista.
Supported:
https://www.idealista.com/venta-viviendas/madrid-madrid/https://www.idealista.com/alquiler-viviendas/barcelona-barcelona/
Not supported:
- Agency profile URLs such as
/pro/... - Property detail URLs such as
/inmueble/... - Idealista homepages or non-result pages
Agency limit
Use Agency limit to control how many unique agencies are saved across the whole run. For a fast first run, use 25. For a broader market scan, raise the limit and add more result pages.
Pages per URL
Use Pages per URL to crawl more paginated result pages from each submitted URL. Some searches show the same large agencies across many pages, so increasing pages may not always increase unique agency count.
📊 Output example
{"agencyId": "walterhauschamberi","agencyName": "Walter Haus Madrid","profileUrl": "https://www.idealista.com/pro/walterhauschamberi/","shortName": "walterhauschamberi","logoUrl": "https://st3.idealista.com/ff/20/20/walterhauschamberi.gif","phoneNumber": null,"sourceListingId": "111410181","sourceListingUrl": "https://www.idealista.com/inmueble/111410181/","sourceListingTitle": "Piso en Avenida de Menéndez Pelayo, Ibiza, Madrid","sourceUrl": "https://www.idealista.com/venta-viviendas/madrid-madrid/","pageNumber": 1,"searchRank": 39,"scrapedAt": "2026-06-04T18:21:43.658Z"}
💳 Pricing
This Actor uses pay-per-event pricing. You are charged only for each agency saved to the dataset.
The pricing event is Scraped agency. Runs that find no agencies do not create agency charge events.
⚠️ Limits and caveats
- Only Idealista listing result pages are supported.
- Agency profile URLs and property detail URLs are skipped.
- The Actor returns agencies visible from listing cards, not every agency in Idealista.
phoneNumberis currentlynull; phone reveal is not part of the public contract.- Some pages may have many duplicate agencies, so the number of unique agencies can be lower than the number of property listings checked.
- Source availability can vary by page, country, and Idealista's public website behavior.
❓ FAQ
Can I scrape Idealista agencies by city?
Yes. Open Idealista, build the city or area search you want, copy the result page URL, and paste it into Result page URLs.
Does this scrape property listings too?
No. The Actor uses property result cards to discover agencies, but the saved dataset rows are agency rows. The output includes the source listing URL and title for traceability.
Does it return phone numbers?
No. The current output keeps phoneNumber as null. Idealista phone reveal can require additional protected requests, so this Actor does not claim phone extraction.
Can I run it on a schedule?
Yes. You can schedule the Actor on Apify, export datasets, call it through the Apify API, or connect it to webhooks and integrations.
📝 Changelog
- 0.0: Initial release.
🆘 Support
For issues, questions, or feature requests, file a ticket and I'll fix or implement it in less than 24h 🫡
🔗 Other actors
- Realtor Scraper ↗ - Scrape Realtor.com listings with property, price, agent, office, and location data.
- Yellow Pages Scraper ↗ - Build local business lead lists with names, phones, websites, addresses, and ratings.
- Google Maps Shared List Scraper ↗ - Export public Google Maps shared lists with places, contacts, ratings, reviews, and hours.
- Business Address Scraper ↗ - Find public business addresses from company websites and source-page evidence.
- LinkedIn Company Scraper ↗ - Extract public LinkedIn company profile facts for lead lists and CRM updates.
Made with ❤️ by Maxime Dupré