Pisos.com Scraper - Spain Property Listings · $1.5/1K avatar

Pisos.com Scraper - Spain Property Listings · $1.5/1K

Pricing

from $0.75 / 1,000 result items

Go to Apify Store
Pisos.com Scraper - Spain Property Listings · $1.5/1K

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

Yusuke Suda

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 hours ago

Last modified

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:

  • agency is 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.
  • latitude and longitude give the map point the site publishes.

Some listings come from private owners. For those, the Actor publishes no seller at all:

  • agency is 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

FieldWhat it does
locationA 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.
listingTypesale (the default) or rent.
propertyTypehomes (all homes), apartment, house, penthouse, duplex, studio or loft. Leave it empty for all homes. Several types give one list each.
maxItemsHard stop, so your bill is predictable.
proxyConfigurationOff 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.