Pisos.com Real Estate Scraper
Pricing
from $0.03 / 1,000 result extracteds
Pisos.com Real Estate Scraper
Scrape Pisos.com sale and rental listings for Spanish real-estate market research. Extract prices, locations, rooms, agencies, phones, images, and listing URLs.
Pricing
from $0.03 / 1,000 result extracteds
Rating
0.0
(0)
Developer
Stas Persiianenko
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 hours ago
Last modified
Categories
Share
Pisos.com Real Estate Scraper 🏠🇪🇸
Scrape Spanish real-estate listings from Pisos.com search result pages. Collect prices, locations, bedrooms, bathrooms, area, agency details, listing URLs, descriptions, and image URLs from public sale and rental pages.
What does Pisos.com Real Estate Scraper do?
Pisos.com Real Estate Scraper turns public Pisos.com search pages into structured datasets.
Paste one or more Pisos.com result URLs and the actor extracts property cards from those pages.
It works with sale and rental searches, including URLs you filtered directly on Pisos.com.
Scrape public Pisos.com property listings for repeatable Spain market research. Extract structured fields such as price, location/address, property type, area, rooms/beds/baths, images, agency/agent data where available, and listing URLs. Export to JSON/CSV/Excel, schedule recurring runs, or call the actor through the Apify API.
Best for PropTech teams, investors, brokerages, and researchers tracking Spain sale/rental supply, pricing, and listing changes.
Who is it for?
Real-estate investors use it to monitor asking prices and inventory in Spanish cities.
Agencies use it to compare competing listings and track market supply.
Analysts use it to build local housing datasets for dashboards and reports.
Relocation teams use it to compare rentals across neighborhoods.
Lead-generation teams use it to identify visible agencies and contact channels.
Why use this actor?
- 🏠 Scrapes public Pisos.com listing cards
- 🇪🇸 Built for the Spanish real-estate market
- 🔎 Supports custom filtered search URLs
- 📊 Produces clean tabular data
- ⚡ Uses fast HTTP extraction, not a browser
- 💸 Pay per extracted listing
What data can you extract?
| Field | Description |
|---|---|
listingId | Pisos.com listing identifier when present |
url | Absolute listing URL |
title | Listing title |
operation | Sale, rent, or new development when inferred |
propertyType | Piso, casa, dúplex, chalet, etc. when inferred |
price | Numeric price |
currency | Usually EUR |
priceText | Original price text |
location | Full Pisos.com location subtitle |
neighborhood | Parsed neighborhood/area when available |
city | Parsed city/district when available |
province | Parsed province/city label when available |
bedrooms | Number of bedrooms |
bathrooms | Number of bathrooms |
areaSqm | Area in square meters |
floor | Floor text when visible |
features | Other visible features |
description | Search-card description snippet |
agencyName | Agency name inferred from public agency URL |
agencyUrl | Public agency page URL |
agencyPhone | Public phone number when embedded in the listing card |
imageUrls | Public image URLs from the search card |
searchUrl | Source search URL |
pageNumber | Result page number |
scrapedAt | ISO timestamp |
How much does it cost to scrape Pisos.com listings?
This actor uses pay-per-event pricing.
You pay a $0.005 run-start fee plus a per-listing fee for each extracted result.
| Apify plan tier | Price per listing | Approx. 1,000 listings |
|---|---|---|
| FREE | $0.0000575 | $0.0575 |
| BRONZE | $0.00005 | $0.05 |
| SILVER | $0.000039 | $0.039 |
| GOLD | $0.00003 | $0.03 |
| PLATINUM | $0.00002 | $0.02 |
| DIAMOND | $0.000014 | $0.014 |
A small test run with 20 listings costs only a fraction of a cent plus the run-start fee.
How to use it
- Open Pisos.com in your browser.
- Search for sale or rental properties.
- Apply filters such as city, price, rooms, or property type.
- Copy the resulting URL.
- Paste it into
searchUrls. - Set
maxItems. - Run the actor.
- Download the dataset as JSON, CSV, Excel, XML, or via API.
Input example
{"searchUrls": ["https://www.pisos.com/venta/pisos-madrid/"],"maxItems": 50,"maxPagesPerSearch": 3,"includeImages": true,"maxRequestRetries": 3}
Input fields
searchUrls
One or more Pisos.com search result URLs.
Use the filters on Pisos.com first, then paste the resulting URLs.
maxItems
Maximum number of listings to save across all search URLs.
maxPagesPerSearch
Maximum number of paginated result pages to request for each search URL.
Pisos.com uses page URLs such as /2/ and /3/.
includeImages
When enabled, the actor includes public image URLs visible in the listing cards.
maxRequestRetries
Retry limit for transient request failures.
Output example
{"listingId": "64171517859.528715","url": "https://www.pisos.com/comprar/piso-goya28009-64171517859_528715/","title": "Piso en calle de Lombía, 5","operation": "sale","propertyType": "piso","price": 589000,"currency": "EUR","priceText": "589.000 €","location": "Goya (Distrito Barrio de Salamanca. Madrid Capital)","bedrooms": 2,"bathrooms": 1,"areaSqm": 48,"floor": "3ª planta","agencyName": "hernan inmobiliaria","agencyUrl": "https://www.pisos.com/inmobiliaria-hernan_inmobiliaria/","agencyPhone": "919374312","searchUrl": "https://www.pisos.com/venta/pisos-madrid/","pageNumber": 1,"scrapedAt": "2026-05-18T08:23:11.000Z"}
Tips for best results
Use specific filtered URLs instead of broad country-wide searches.
Start with a low maxItems value to validate your filters.
Use multiple search URLs for different cities or operation types.
Disable images if you only need prices and location fields.
Common Pisos.com URLs
- Sale listings:
https://www.pisos.com/venta/pisos-madrid/ - Rental listings:
https://www.pisos.com/alquiler/pisos-madrid/ - Valencia sale listings:
https://www.pisos.com/venta/pisos-valencia/
Integrations
Connect the dataset to Google Sheets for market monitoring.
Send results to a CRM for agency prospecting.
Export CSV files into BI tools for price-per-square-meter analysis.
Use Apify webhooks to trigger alerts when new runs finish.
API usage with Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('automation-lab/pisos-com-real-estate-scraper').call({searchUrls: ['https://www.pisos.com/venta/pisos-madrid/'],maxItems: 50});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items.slice(0, 3));
API usage with Python
from apify_client import ApifyClientclient = ApifyClient('MY-APIFY-TOKEN')run = client.actor('automation-lab/pisos-com-real-estate-scraper').call(run_input={'searchUrls': ['https://www.pisos.com/venta/pisos-madrid/'],'maxItems': 50,})items = client.dataset(run['defaultDatasetId']).list_items().itemsprint(items[:3])
API usage with cURL
curl "https://api.apify.com/v2/acts/automation-lab~pisos-com-real-estate-scraper/runs?token=$APIFY_TOKEN" \-H 'Content-Type: application/json' \-d '{"searchUrls":["https://www.pisos.com/venta/pisos-madrid/"],"maxItems":50}'
Use with MCP
Use this actor from Claude Desktop, Claude Code, or other MCP clients through Apify MCP.
MCP URL:
https://mcp.apify.com/?tools=automation-lab/pisos-com-real-estate-scraper
Example prompts:
- "Scrape 50 sale listings from this Pisos.com Madrid URL and summarize median prices."
- "Compare rentals from these two Pisos.com filtered URLs."
- "Find listings with at least three bedrooms and export them as a table."
Data quality notes
Pisos.com search cards do not always include every field.
Some listings may omit bathrooms, floor, phone, or images.
The actor returns fields only when they are visible in the public HTML.
Limitations
The MVP focuses on search result pages.
Full detail-page enrichment and exact coordinates may be added later if they remain cost-effective.
The actor does not bypass logins, paywalls, or private user data.
Legality
This actor extracts publicly available listing information.
You should review Pisos.com terms and ensure your use case complies with applicable laws, privacy rules, and platform policies.
Do not use scraped data for spam, harassment, discrimination, or unlawful profiling.
FAQ
Why did I get fewer listings than requested?
The search may have fewer visible results, duplicate listings may be removed, or maxPagesPerSearch may be too low.
Increase maxPagesPerSearch or use broader filters.
Why are some fields missing?
Pisos.com does not show every attribute on every card.
For example, some listings omit bathrooms, floor, agency phone, or image galleries.
Build a production real-estate data workflow
Use this actor as one source in a repeatable property-data pipeline: scrape listings from the source site, export structured JSON/CSV/Excel, schedule refreshes, and send results to your dashboard, CRM, warehouse, or AI/LLM workflow.
Scrape public Pisos.com property listings for repeatable Spanish market research. Extract structured fields such as price, location/address, property type, area, rooms/beds/baths, images, agency/agent data where available, and listing URLs. Export to JSON/CSV/Excel, schedule recurring runs, or call the actor through the Apify API.
Best for PropTech teams, investors, brokerages, and researchers tracking Spanish sale/rental supply, pricing, and listing changes.
For broader coverage, combine it with related Automation Lab actors:
- UK and Europe: Rightmove Scraper, ImmoScout24 Germany Real Estate Scraper, Imovirtual Scraper, RE/MAX Portugal Scraper, Sreality.cz Real Estate Scraper, Pisos.com Real Estate Scraper
- US residential listings: Zillow Scraper, Redfin Scraper, Realtor.com Scraper
- Middle East / South Asia: PropertyFinder Scraper, Zameen Property Scraper
Related scrapers
- https://apify.com/automation-lab/idealista-scraper-api
- https://apify.com/automation-lab/fotocasa-scraper
- https://apify.com/automation-lab/zillow-scraper
- https://apify.com/automation-lab/google-maps-lead-finder
Support
If you need a field that is visible on Pisos.com but missing from the dataset, open an issue with a sample URL and expected field.
Changelog
Initial version extracts public Pisos.com listing cards via HTTP with pagination support.