Pisos.com Property Scraper
Pricing
from $2.00 / 1,000 results
Pisos.com Property Scraper
Scrape real estate listings from Pisos.com — Spain's #3 property portal, owned by Vocento. Extract apartments, houses, attics, duplexes, studios, lofts, offices, garages and storage (sale, rent or new build) by Spanish region, province or city, with price (EUR), area (m²), rooms, bathrooms and GPS.
Pricing
from $2.00 / 1,000 results
Rating
0.0
(0)
Developer
Logiover
Maintained by CommunityActor stats
0
Bookmarked
4
Total users
1
Monthly active users
17 hours ago
Last modified
Categories
Share
🏠 Pisos.com Property Scraper — Scrape Spain Real Estate Listings & Prices
Scrape real estate listings from Pisos.com — one of Spain's largest property portals (owned by Vocento). This Pisos.com scraper extracts apartments, houses, attics, duplexes, studios, lofts, rural estates, commercial premises, offices, warehouses, land, garages and storage rooms — for sale, rent or new construction — anywhere in Spain, with prices in EUR, area, rooms, GPS coordinates and price-per-m².
Search by Spanish province or city, filter by price, area and rooms, and export structured data to JSON, CSV or Excel. No login and no API key required.
✨ What this Actor does / Key features
- 🇪🇸 Scrape Pisos.com property listings across all of Spain — by province (e.g.
madrid) or city (e.g.madrid_capital) - 🏢 Covers 13 property types: apartments, houses, attics, duplexes, studios, lofts, rural estates, commercial premises, offices, warehouses, land, garages and storage rooms
- 💰 Returns price in EUR, price-per-m² and price-drop data
- 📐 Property details: area, usable area, rooms, bathrooms, floor, building condition and energy class
- 📍 Full location data — province, city, district, neighborhood, address and GPS coordinates
- 🔎 Client-side filters for price range, area, rooms, advertiser type and keyword
- 🏷️ Feature flags — elevator, parking, terrace, balcony, AC, heating, garden, pool, sea view, furnished, luxury and more
- ⚡ Fast HTTP scraping (no headless browser), automatic pagination with configurable caps
- 📤 Structured output ready for JSON, CSV and Excel export
🔍 Input
| Field | Type | Description |
|---|---|---|
transactionType | enum | sale (Venta), rent (Alquiler), new (Obra Nueva). Required. |
propertyType | enum | apartment, house, attic, duplex, studio, loft, ruralEstate, commercial, office, warehouse, land, garage, storage. Required. |
location | string | Pisos.com location slug. Province alone (e.g. madrid) targets the whole province; append _capital for the city (e.g. madrid_capital). Use espana for all Spain. Required. |
sortBy | enum | relevance, newest, priceAsc, priceDesc, areaDesc. |
minPrice / maxPrice | integer | Price range in EUR (applied client-side). |
minArea / maxArea | integer | Surface area range in m² (client-side). |
minRooms / maxRooms | integer | Room count range (client-side). |
advertiserType | enum | all, agency, private (client-side filter). |
keyword | string | Optional substring filter on title and description. |
maxListings | integer | Hard cap on listings saved (default 200). Required. |
maxPages | integer | Hard cap on search pages crawled (default 20, ~33 listings/page). Required. |
proxyConfiguration | object | Apify proxy settings — RESIDENTIAL group with country ES recommended. Required. |
Location slugs
| Slug | Coverage | Slug | Coverage |
|---|---|---|---|
espana | All Spain | sevilla_capital | Seville city |
madrid | Madrid province | malaga / malaga_capital | Málaga |
madrid_capital | Madrid city | alicante | Alicante |
barcelona | Barcelona province | zaragoza | Zaragoza |
barcelona_capital | Barcelona city | bilbao | Bilbao |
valencia / valencia_capital | Valencia | mallorca | Mallorca |
🚀 Example input
{"transactionType": "sale","propertyType": "apartment","location": "madrid_capital","sortBy": "newest","minPrice": 200000,"maxPrice": 500000,"minRooms": 2,"maxListings": 200,"maxPages": 20,"proxyConfiguration": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"],"apifyProxyCountry": "ES"}}
📦 Output
Each listing is saved as a structured record.
| Field | Description |
|---|---|
adId / detailUrl | Listing ID and detail page URL |
title / shortDescription | Listing headline and short description |
transactionType / propertyType / advertType | Sale/rent/new, property category and advert type |
price / priceCurrency / pricePerSqm | Price, currency (EUR) and price per m² |
priceDropValue / hasPriceDrop | Price reduction amount and flag |
areaSqm / usableAreaSqm / terrainAreaSqm | Built, usable and terrain area in m² |
rooms / roomsLabel / bathrooms / floor | Room and bathroom counts, floor |
buildingCondition / yearBuilt / orientation | Condition, build year and orientation |
energyClass / energyConsumption / energyEmissions | Energy certificate data |
country / province / city / district / neighborhood / fullAddress | Full location breakdown |
latitude / longitude | GPS coordinates |
mainImageUrl / imageUrls / imageCount | Main image and image gallery |
advertiserId / advertiserName / advertiserUrl / advertiserType | Advertiser details (agency/private) |
hasElevator / hasParking / hasGarage / hasTerrace / hasBalcony / hasAirConditioning / hasHeating / hasGarden / hasPool / hasStorage / hasFittedWardrobes / hasSeaView / isFurnished / isLuxury / isExterior / isFeatured | Feature flags |
datePosted / labels | Posting date and listing labels |
searchUrl / searchTransaction / searchPropertyType / searchLocation / searchSortBy / searchKeyword | Search context used |
scrapedAt | Scrape timestamp |
Sample record
{"adId": "12345678_67890","detailUrl": "https://www.pisos.com/comprar/piso-madrid_capital_chamberi-12345678_67890/","title": "Piso reformado en Chamberí","transactionType": "sale","propertyType": "apartment","price": 425000,"priceCurrency": "EUR","pricePerSqm": 5882,"areaSqm": 72,"rooms": 2,"bathrooms": 1,"floor": "3","province": "Madrid","city": "Madrid","district": "Chamberí","neighborhood": "Trafalgar","latitude": 40.4324,"longitude": -3.7012,"scrapedAt": "2026-05-06T10:30:00.000Z"}
💡 Use cases
- Real estate analysts & investors — track Spanish property prices, price-per-m² and price drops across provinces and cities.
- Property portals & aggregators — feed Pisos.com listings into your own search platform or comparison tool.
- Market researchers — analyze supply, pricing trends and neighborhood-level data across Spain.
- Lead generation — collect agency and private advertiser data for outreach.
- Relocation & buyer's agents — build curated shortlists filtered by price, area, rooms and features.
- Data science teams — build valuation models with structured location, area and feature data.
❓ Frequently Asked Questions
Do I need a Pisos.com account or API key? No. The Actor scrapes publicly visible listings — no login and no API key required.
Is scraping Pisos.com legal? The Actor collects publicly available listing data. You are responsible for using it in compliance with Pisos.com's terms of service, robots.txt and applicable laws. The Actor uses a polite throttle between pages.
How do filters work?
Price, area, rooms, advertiser type and keyword filters are applied client-side after fetching pages — not via the search URL. With very narrow filters, increase maxPages so the Actor crawls enough pages to find matches.
How much data can I get?
Pisos.com shows ~33 listings per page. Set maxListings and maxPages to control volume — a single run can return hundreds to thousands of listings.
Why are some detail-page fields empty?
Card-level data does not include every detail-page field (full energy certificate, exact agency phone, complete feature list). Follow the detailUrl in a downstream step to enrich those.
Do I need a proxy?
A RESIDENTIAL proxy with country ES is recommended and set by default. Adjust proxyConfiguration if you use your own proxy provider.
What output formats are supported? Results are stored in an Apify dataset and can be exported as JSON, CSV, Excel, XML or HTML, or pulled via the Apify API.
⏰ Scheduling & integration
Schedule this Actor on Apify to monitor new listings and price changes across Spanish cities. Export results to JSON, CSV or Excel, call it via the Apify API, or connect it to Google Sheets, webhooks and other tools through Apify integrations.