Pisos.com Scraper - Spain Property Listings · $1.5/1K
Pricing
from $0.75 / 1,000 result items
Pisos.com Scraper - Spain Property Listings · $1.5/1K
Extract property listings from pisos.com (Spain) by location and property type: price, bedrooms, area, floor, town, agency, URL, newest first.
Pricing
from $0.75 / 1,000 result items
Rating
0.0
(0)
Developer
Yusuke Suda
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
5 hours ago
Last modified
Categories
Share
Pisos.com Scraper — Spanish homes for sale or rent by province or town
Extract property listings from pisos.com (Spain) by location and property type: price, bedrooms, area, floor, town, agency, URL, newest first.
pisos.com is one of Spain's national property portals. It carries listings from estate agencies and from private owners in every province. Madrid province alone had more than 16,000 homes for sale on it in September 2026. This Actor turns the site's lists into a clean table. Each row gives:
- the listing title as the site shows it, e.g. "Piso en calle de la Princesa, 76"
- the price, or the monthly rent
- the number of bedrooms
- the area in square metres, and the floor
- the neighbourhood and district, the town and the province
- the agency marketing it, with the listing's map point
- a photo and the link to the listing
Press Start. The prefilled input returns homes for sale in Madrid province, newest first.
What a row looks like
{"title": "Piso en calle Doctor Esquerdo","property_type": "apartment","listing_type": "sale","price": 1219000,"currency": "EUR","bedrooms": 2,"living_area_sqm": 121,"floor": "6ª planta","address": "Goya (Distrito Barrio de Salamanca. Madrid Capital)","city": "Madrid Capital","state": "Madrid","latitude": 40.4235809,"longitude": -3.6690982,"agency": "More House","source_url": "https://www.pisos.com/comprar/piso-goya-67528622595_100500/","image_urls": ["https://fotos.imghs.net/mm-wp/1005/3230323630393235/….jpg"],"external_id": "67528622595.100500"}
The seller and the address
Most listings come from estate agencies. For those:
agencyis the agency's name as it appears in its pisos.com profile address, e.g./inmobiliaria-princess_homes/becomes "Princess Homes". This is the site's profile name, not necessarily the company's registered name.- The title is the site's own title, which often names the street.
latitudeandlongitudegive the map point the site publishes.
Some listings come from private owners. For those, the Actor publishes no seller at all:
agencyis empty. The list shows no owner name, and none is collected.- The site's title names their street and house number, so the title is cut to the kind of home and the town, e.g. "Chalet rústico en Morón de La Frontera".
- There is no map point, because for a private owner that is their home.
- A listing the site does not tag as an agency listing is treated as a private owner's.
- No phone number or e-mail address is collected for anyone. Each card carries a phone number for its "Llamar" button, and it is never read. The Actor reads the lists only and never opens a listing page.
Bedrooms, area and floor
bedrooms is the site's "habs." (habitaciones), which on Spanish portals counts bedrooms. Bathrooms are not
bedrooms and are not published. A listing with no bedroom count has an empty bedrooms, not a zero.
living_area_sqm is the area the card gives. floor is the site's own wording, e.g. "4ª planta" or "Bajo".
Property type
With propertyType left empty (all homes), each row's property_type comes from the listing's own words: a
piso, apartamento, ático, dúplex, estudio or loft is an apartment, and a casa, chalet, cortijo or finca is a
house. With a single type asked for, every row carries that type.
Prices
price is the asking price for a sale and the monthly rent for a let, in euros. A listing with no price, or
"a consultar", has an empty price, not a zero.
No dates
The site's lists show no date for a listing, so rows carry none and postedAfter is not offered. The Actor asks
for the site's "Más recientes" order. For a daily feed of what is new, keep the external_ids from your last run
and diff against them.
What people use it for
Price monitoring for Spanish homes by province, comarca or town. Comparing asking prices and rents across Madrid districts, the Madrid suburbs, Sevilla, Barcelona and the rest of the country. Watching new stock in one town each day. Tracking which agencies list what, and where.
Input
| Field | What it does |
|---|---|
location | A province, comarca or town as pisos.com writes it in its URLs: madrid (the province), madrid_capital, sevilla, barcelona, las_rozas_de_madrid. Spaces, capitals and accents are folded for you, so Las Rozas de Madrid and Cobeña work. |
listingType | sale (the default) or rent. |
propertyType | homes (all homes), apartment, house, penthouse, duplex, studio or loft. Leave it empty for all homes. Several types give one list each. |
maxItems | Hard stop, so your bill is predictable. |
proxyConfiguration | Off by default. Most runs do not need one. |
If the site does not know the place you give, it answers "not found" and the run fails and tells you.
Pricing
$1.50 per 1,000 listings, dropping to $0.75 per 1,000 on higher Apify plans, plus $0.005 each time a run starts. Platform usage is not passed on to you.
You are charged for rows you actually receive. If you set a maximum charge for the run, it stops cleanly at that limit instead of overshooting it.
Scope and limits
Public listings only, from the site's lists by type, sale or rent, and place, which pisos.com's robots.txt
allows. The pages it disallows (map pages, .aspx pages, the search box, the language versions, holiday lets
and the web services) are never requested. The Actor reads one page every 2 seconds. That makes 30 listings
every 2 seconds, or about 1,000 in under 70 seconds.
The description, bathrooms, energy rating and year built are not collected. New-build developments ("obra nueva") are listed on separate pages of the site and are not covered. Prices are in euros.
When a search finds nothing, the site shows "No encontramos lo que buscas" together with suggested listings from other places. The Actor reports an empty result and never delivers those suggestions as rows.
If pisos.com changes its page structure, the run goes red. It does not return zero rows and report success. A silent scraper is worse than a broken one, because you find out weeks later. The Actor also checks that every page answers the question it asked (type, sale or rent, place, order and page number) and fails rather than delivering a page for something else.
A run that is blocked or cut short partway also goes red, even though the rows it did collect are in the dataset and yours to keep. Red here means "this is not the complete answer", not "you lost the data". On a schedule, a run that quietly came back short is the thing you most need to hear about.
Every run also publishes the site's own result count next to the rows it delivered, so you can see "100 rows of 16,164 the site reports" without going back to the site to check. That number is what the site says, not a promise about what one run returns.
Same data, other countries
This Actor shares its output shape with the CASA SAPO Scraper (Portugal), the atHome Scraper (Luxembourg), the Immoweb Scraper (Belgium), the Ohne-Makler Scraper and the Immowelt Scraper (Germany), the Bezrealitky Scraper (Czech Republic) and the Willhaben Immobilien Scraper (Austria). A parser you write for one keeps working on the others.
Support
Open an issue on this Actor with the run ID and your input. Answered within one business day.