Pisos.com Scraper - Sale, Rent & New Build, All Types
Pricing
$5.00 / 1,000 listing scrapeds
Pisos.com Scraper - Sale, Rent & New Build, All Types
Scrape Pisos.com listings: sale, rent or new build across 7 property types (flats, houses, chalets, offices, retail, garages, land). Price, area, rooms, bathrooms, images. No login. $0.005/listing.
Pricing
$5.00 / 1,000 listing scrapeds
Rating
5.0
(2)
Developer
Gio
Maintained by CommunityActor stats
0
Bookmarked
30
Total users
7
Monthly active users
19 days ago
Last modified
Categories
Share
Pisos.com Scraper - Sale, Rent & New Build, All Property Types
Why use this scraper
Pisos.com is one of Spain's largest agency-driven property portals, and it has no public API for search results. If you track property prices, build a real-estate lead list, or feed listings into a valuation model, the only way to get this data today is to scrape the site yourself, keep the parser working as the markup changes, and handle blocking. That is a maintenance job most teams don't want.
Pisos.com Scraper returns structured listing data (price, area, rooms, bathrooms, location, description, images and more) from a single input: pick an operation, a property type and a location, and get every listing Pisos.com shows for that search, no login and no browser to manage on your end.
Overview
The actor crawls Pisos.com search-result pages for a given operation,
property type and location, and returns one record per listing found. You
control depth with maxItems (up to 500) and maxPages. A 20 to 50 listing
run typically finishes in under two minutes. Each listing scraped is
charged at $0.005, with a minimum charge of $0.05 per run.
Supported inputs
- operation (required) -
venta(sale),alquiler(rent) orobra-nueva(new build). - propertyType (optional, default
pisos) -pisos(flats),casas(houses),chalets,oficinas(offices),locales(retail),garajes(garages) orterrenos(land). - location (required) - a Pisos.com location slug, e.g.
madrid,barcelona,valencia,sevilla,malaga. - startUrl (optional, advanced) - a direct Pisos.com search URL, which
overrides
operation,propertyTypeandlocationwhen set. Useful for filtered searches (price range, number of rooms) built directly on the site. - maxItems (optional, default 50, max 500) - hard cap on listings returned.
- maxPages (optional, default 5, max 20) - hard cap on result pages crawled.
Three operations times seven property types means 21 distinct search
combinations in one actor, plus the startUrl override for anything more
specific than the built-in filters cover.
Use cases
- Agency and portfolio benchmarking. Pull every listing for a location and property type to see how your own inventory's pricing compares to the market.
- Market research before buying or renting. Compare price per square
meter (
pricePerSqm) across neighborhoods in a city before committing to an area. - New-build tracking. Monitor the
obra-nuevaoperation for a city to catch new development launches as they're listed. - Real-estate lead generation. Collect listing URLs and descriptions by area for outreach to agencies or private sellers.
- Valuation and pricing models. Feed price, area, rooms and location data into a comparable-sales or rental-yield model.
How it works
The actor requests the Pisos.com search-results page that matches the
chosen operation, property type and location (or the custom startUrl,
when set), and reads each listing card exactly as a visitor's browser
would: title, price, area, rooms, bathrooms, neighborhood, description and
images. It paginates until it reaches maxItems or maxPages, whichever
comes first, and needs no login or session.
Input configuration
1. Flats for sale in Madrid
{"operation": "venta","propertyType": "pisos","location": "madrid","maxItems": 50}
2. Houses for rent in Valencia
{"operation": "alquiler","propertyType": "casas","location": "valencia","maxItems": 30,"maxPages": 3}
3. Custom filtered search via direct URL
{"operation": "venta","location": "barcelona","startUrl": "https://www.pisos.com/venta/pisos-barcelona_capital/con-3-habitaciones/","maxItems": 100}
Output sample
Real output from a production run against Pisos.com Madrid listings (September 2026):
[{"listingId": null,"title": "Piso en calle de la Princesa, 76","propertyType": "pisos","operation": "venta","price": 1600000,"currency": "EUR","pricePerSqm": 10323,"area": 155,"rooms": 3,"bathrooms": 3,"location": "Madrid","neighborhood": null,"addressHint": null,"description": "Gaztambide (Distrito Chamberi. Madrid Capital)","features": [],"agency": null,"phone": null,"images": ["https://fotos.imghs.net/mm-wp/1005/101/1005_2935432214101_1_202606051854533172743.jpg","https://fotos.imghs.net/mm-wp/1005/101/1005_2935432214101_2_202606051854533172928.jpg"],"url": "https://www.pisos.com/comprar/piso-gaztambide-65098413759_100500/","scrapedAt": "2026-09-28T19:09:23.371Z"},{"listingId": null,"title": "Duplex en calle de Juan Ramon Jimenez, 4","propertyType": "pisos","operation": "venta","price": 450000,"currency": "EUR","pricePerSqm": 4091,"area": 110,"rooms": 3,"bathrooms": 3,"location": "Madrid","neighborhood": null,"addressHint": null,"description": "Las Retamas-Prado Santo Domingo-Ensanche Sur (Alcorcon)","features": [],"agency": null,"phone": null,"images": ["https://fotos.imghs.net/mm-wp/1064/390/1064_IJ364-99380390_1_202602190946518929476.jpg"],"url": "https://www.pisos.com/comprar/duplex-las_retamas_prado_santo_domingo_ensanche_sur28922-61748204239_106400/","scrapedAt": "2026-09-28T19:09:23.380Z"}]
Key output fields
| Field | Type | Description |
|---|---|---|
title | string | Listing title as shown on Pisos.com. |
propertyType / operation | string | The search parameters that produced this listing (pisos, venta, etc.). |
price | number | Listed price in euros. |
currency | string | Always EUR. |
pricePerSqm | number | null | Price divided by area, when Pisos.com shows or allows computing it. |
area | number | Living area in square meters. |
rooms / bathrooms | number | Bedroom and bathroom counts. |
location | string | The city or area searched. |
neighborhood / addressHint | string | null | Finer location detail, when Pisos.com exposes it on the listing card. |
description | string | Short listing description or location note. |
features | array | Listed amenities, when present. |
agency / phone | string | null | Listing agency name and phone, when Pisos.com shows them on the card (see Notes & limitations). |
images | array | Listing image URLs. |
url | string | Canonical listing URL. |
scrapedAt | string | Scrape timestamp. |
Pricing
Pay-per-event, one charge type, minimum charge per run:
| Event | Price |
|---|---|
| Listing scraped | $0.005 |
Minimum charge per run: $0.05. That is $5.00 per 1,000 listings.
What makes this richer than the competition
Two other actors on the Apify Store cover Pisos.com listings:
- logiover/pisos-com-property-scraper (17 users in the last 30 days) charges $0.0035 per result on its Free tier plus a small actor-start fee, cheaper per item than this actor's $0.005.
- swerve/pisos-scraper (1 user in the last 30 days) charges $0.0025 per result plus a small actor-start fee, also cheaper per item.
Neither competitor is cheaper by enough to matter on a typical research run
(a 200-listing pull is $0.70 to $1.00 more with this actor), and this is
not the cheapest Pisos.com scraper on the Store. What this actor covers
that neither publishes in its store listing is three operations (sale,
rent, new build) crossed with seven property types (flats, houses,
chalets, offices, retail, garages, land) as built-in search parameters,
plus a startUrl override for filtered searches (price range, room count)
built directly on the Pisos.com site. If price per item is your only
criterion, try logiover's or swerve's actor first; if you need new-build or
commercial-property coverage with one consistent output schema, this actor
covers more ground.
Notes & limitations
agencyandphoneare frequentlynull. Pisos.com does not show agency name or phone on every listing card in search results; when it isn't shown, the field isnullrather than guessed.neighborhoodandaddressHintdepend on the listing. Location precision on Pisos.com search cards varies; some listings show only a city-level location.- No GPS coordinates. This actor does not extract latitude/longitude.
locationis a Pisos.com slug, not free text. Use the slug Pisos.com itself uses for that city or area (e.g.madrid, notMadrid, Spain).- Not the cheapest option per item. See What makes this richer than the competition above for an honest price comparison.
FAQ
Do I need a Pisos.com account to use this? No. The actor reads public search-result listings; no login or credentials are required.
Which operations and property types are supported?
Three operations (sale, rent, new build) and seven property types (flats,
houses, chalets, offices, retail, garages, land), for 21 combinations, plus
a custom startUrl for anything more specific.
Can I filter by price range or number of rooms?
Not through the built-in operation/propertyType/location fields.
Build the filtered search URL on Pisos.com directly and pass it as
startUrl.
Why are agency and phone sometimes empty?
Pisos.com doesn't show the agency name or phone number on every search
result card. The actor returns null rather than a guessed value.
Does this actor return GPS coordinates? No. It returns the location and neighborhood text Pisos.com shows, not latitude/longitude.
How much does a 100-listing run cost? $0.50 at $0.005 per listing scraped (minimum $0.05 per run).
Can I schedule this to run automatically? Yes, use Apify's built-in schedules for recurring market monitoring.
For AI Agents & LLM Apps
This actor is callable from any MCP-compatible AI assistant through the Apify MCP server, and directly from code through the Apify API.
Via MCP (mcp.apify.com): add the Apify MCP server to your AI
assistant and call the gio21/pisos-scraper actor by name with
operation, propertyType and location.
Via API (run-sync-get-dataset-items):
curl "https://api.apify.com/v2/acts/gio21~pisos-scraper/run-sync-get-dataset-items?token=<APIFY_TOKEN>" \-X POST \-H "Content-Type: application/json" \-d '{"operation": "venta", "propertyType": "pisos", "location": "madrid", "maxItems": 50}'
Disclaimer
This Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by Pisos.com or any of its subsidiaries. All trademarks mentioned are the property of their respective owners.
SEO Keywords
pisos.com scraper, spain real estate scraper, pisos.com api, scrape spanish property listings, madrid property data, spain real estate data extraction