Pisos.com Real Estate Scraper avatar

Pisos.com Real Estate Scraper

Pricing

from $0.03 / 1,000 result extracteds

Go to Apify Store
Pisos.com Real Estate Scraper

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

Stas Persiianenko

Maintained by Community

Actor 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?

FieldDescription
listingIdPisos.com listing identifier when present
urlAbsolute listing URL
titleListing title
operationSale, rent, or new development when inferred
propertyTypePiso, casa, dúplex, chalet, etc. when inferred
priceNumeric price
currencyUsually EUR
priceTextOriginal price text
locationFull Pisos.com location subtitle
neighborhoodParsed neighborhood/area when available
cityParsed city/district when available
provinceParsed province/city label when available
bedroomsNumber of bedrooms
bathroomsNumber of bathrooms
areaSqmArea in square meters
floorFloor text when visible
featuresOther visible features
descriptionSearch-card description snippet
agencyNameAgency name inferred from public agency URL
agencyUrlPublic agency page URL
agencyPhonePublic phone number when embedded in the listing card
imageUrlsPublic image URLs from the search card
searchUrlSource search URL
pageNumberResult page number
scrapedAtISO 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 tierPrice per listingApprox. 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

  1. Open Pisos.com in your browser.
  2. Search for sale or rental properties.
  3. Apply filters such as city, price, rooms, or property type.
  4. Copy the resulting URL.
  5. Paste it into searchUrls.
  6. Set maxItems.
  7. Run the actor.
  8. 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 ApifyClient
client = 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().items
print(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:

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.