Pisos.com Scraper - Sale, Rent & New Build, All Types avatar

Pisos.com Scraper - Sale, Rent & New Build, All Types

Pricing

$5.00 / 1,000 listing scrapeds

Go to Apify Store
Pisos.com Scraper - Sale, Rent & New Build, All Types

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

Gio

Maintained by Community

Actor 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) or obra-nueva (new build).
  • propertyType (optional, default pisos) - pisos (flats), casas (houses), chalets, oficinas (offices), locales (retail), garajes (garages) or terrenos (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, propertyType and location when 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-nueva operation 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

FieldTypeDescription
titlestringListing title as shown on Pisos.com.
propertyType / operationstringThe search parameters that produced this listing (pisos, venta, etc.).
pricenumberListed price in euros.
currencystringAlways EUR.
pricePerSqmnumber | nullPrice divided by area, when Pisos.com shows or allows computing it.
areanumberLiving area in square meters.
rooms / bathroomsnumberBedroom and bathroom counts.
locationstringThe city or area searched.
neighborhood / addressHintstring | nullFiner location detail, when Pisos.com exposes it on the listing card.
descriptionstringShort listing description or location note.
featuresarrayListed amenities, when present.
agency / phonestring | nullListing agency name and phone, when Pisos.com shows them on the card (see Notes & limitations).
imagesarrayListing image URLs.
urlstringCanonical listing URL.
scrapedAtstringScrape timestamp.

Pricing

Pay-per-event, one charge type, minimum charge per run:

EventPrice
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

  • agency and phone are frequently null. Pisos.com does not show agency name or phone on every listing card in search results; when it isn't shown, the field is null rather than guessed.
  • neighborhood and addressHint depend 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.
  • location is a Pisos.com slug, not free text. Use the slug Pisos.com itself uses for that city or area (e.g. madrid, not Madrid, 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