Habitaclia.com Spain Scraper avatar

Habitaclia.com Spain Scraper

Pricing

from $2.00 / 1,000 results

Go to Apify Store
Habitaclia.com Spain Scraper

Habitaclia.com Spain Scraper

Scrape real estate listings from Habitaclia.com — leading Spanish property portal owned by Adevinta, with deep coverage in Catalonia and major cities. Extract apartments, houses, attics, duplexes, offices, land and parking by region or city, with price (EUR), area (m²), rooms, location and images.

Pricing

from $2.00 / 1,000 results

Rating

0.0

(0)

Developer

Logiover

Logiover

Maintained by Community

Actor stats

0

Bookmarked

12

Total users

4

Monthly active users

3 days ago

Last modified

Share

Habitaclia.com Spain Property Scraper — Spanish Real Estate Listings to JSON/CSV/Excel

Habitaclia.com Spain Scraper

Scrape real estate listings from Habitaclia.com — one of Spain's leading property portals, part of the Adevinta network (the group behind Fotocasa). This Habitaclia scraper extracts apartments, houses, attics, duplexes, offices, commercial premises, land and parking spaces from any Spanish province or city, returning clean structured data ready to export to JSON, CSV or Excel.

Search by Spanish location slug and filter by price (EUR), surface area, room count and advertiser type. Every listing card returns 30+ fields — address, neighborhood, price per m², specs, energy class, image URLs and amenity flags — making it ideal for property analysts, investors, market researchers and proptech teams who want reliable Spain real estate data without managing browsers, captchas or proxy rotation.

✨ What this Actor does / Key features

  • Scrapes Habitaclia.com — Spain's major property portal, with especially deep coverage in Catalonia (Barcelona, Girona, Tarragona, Lleida) and strong nationwide inventory.
  • All 10 property types — apartments, all-residential housing, houses, attics/penthouses, duplexes, offices, commercial premises, industrial, land and parking.
  • Sale and rent — scrape comprar (sale) or alquiler (rent) listings.
  • Rich data per listing — 30+ fields: price, price per m², area, rooms, bathrooms, floor, year built, energy class, full parsed address, coordinates, images and advertiser details.
  • Amenity flags — booleans for elevator, parking, terrace, pool, sea view, furnished, luxury and more.
  • Client-side filters — narrow by price (EUR), area (m²), room count, advertiser type (agency / private) and keyword.
  • Robust crawling — HTTP-only fetching with Apify RESIDENTIAL ES proxy, exponential backoff retries, pagination-loop and thin-page detection.
  • Structured, export-ready output — flat JSON, perfect for dashboards, data warehouses and ML pipelines.

🔍 Input

FieldTypeDescription
transactionTypestring (enum)sale (Comprar) or rent (Alquiler). Default sale.
propertyTypestring (enum)Property category: apartment, housing (all residential), house, attic, duplex, office, commercial, industrial, land, parking. Default apartment.
locationstringHabitaclia location slug, lowercase ASCII with underscores for spaces (e.g. barcelona, madrid, valencia, palma_de_mallorca, sant_cugat_del_valles). Province slugs do province-wide searches; town slugs target one municipality. Default barcelona.
minPrice / maxPriceintegerPrice range filter in EUR (client-side).
minArea / maxAreaintegerSurface area filter in m² (client-side).
minRooms / maxRoomsintegerRoom-count filter (client-side), 0–20.
advertiserTypestring (enum)all, agency or private (client-side). Default all.
keywordstringOptional substring filter on title and description.
maxListingsintegerHard cap on number of listings saved. Default 200.
maxPagesintegerMaximum search pages to crawl (Habitaclia shows ~25 listings per page). Default 20.
proxyConfigurationobjectApify proxy settings. RESIDENTIAL group with country ES is recommended and set by default.

🚀 Example input

{
"transactionType": "sale",
"propertyType": "apartment",
"location": "barcelona",
"minPrice": 200000,
"maxPrice": 600000,
"minRooms": 3,
"advertiserType": "agency",
"maxListings": 500,
"maxPages": 35,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"],
"apifyProxyCountry": "ES"
}
}

Madrid rentals between €1,000 and €1,800:

{
"transactionType": "rent",
"propertyType": "apartment",
"location": "madrid",
"minPrice": 1000,
"maxPrice": 1800,
"maxListings": 200,
"maxPages": 20,
"proxyConfiguration": { "useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"], "apifyProxyCountry": "ES" }
}

📦 Output

One JSON record per listing, written to the default Apify dataset. Below are the main fields (the full record includes 30+ fields, including all amenity booleans).

FieldDescription
adIdHabitaclia listing identifier.
detailUrlURL of the full listing detail page.
title / shortDescriptionListing title and short description.
transactionType / propertyType / advertTypeSale or rent, property category, advert type.
price / priceCurrency / pricePerSqmPrice, currency (EUR) and price per m².
priceDropValue / hasPriceDropPrice-drop amount and whether a price drop occurred.
areaSqm / usableAreaSqm / terrainAreaSqmBuilt, usable and terrain surface areas in m².
rooms / roomsLabel / bathrooms / floorRoom count, room label, bathrooms and floor.
buildingCondition / yearBuiltBuilding condition and year built.
energyClass / energyConsumption / energyEmissions / orientationEnergy certificate data and orientation.
country / province / city / district / neighborhood / streetParsed location hierarchy.
fullAddress / latitude / longitudeFull address string and coordinates.
mainImageUrl / imageUrls / imageCountMain image, all image URLs and image count.
advertiserId / advertiserName / advertiserUrl / advertiserTypeAdvertiser details (agency or private).
hasElevator, hasParking, hasTerrace, hasPool, hasSeaView, isFurnished, isLuxury, …Amenity and property boolean flags.
datePosted / labelsPosting date and listing labels.
searchTransaction / searchPropertyType / searchLocation / searchKeyword / searchUrlProvenance of the search that produced the record.
scrapedAtISO timestamp of when the record was scraped.

Example output record

{
"adId": "10899004377662",
"detailUrl": "https://www.habitaclia.com/comprar-piso-...-i10899004377662.htm",
"title": "Piso en Calle aragó 79",
"transactionType": "sale",
"propertyType": "apartment",
"price": 599000,
"priceCurrency": "EUR",
"pricePerSqm": 4792,
"areaSqm": 125,
"rooms": 4,
"bathrooms": 2,
"country": "ES",
"province": "Barcelona",
"city": "Barcelona",
"neighborhood": "La Nova Esquerra de l'Eixample",
"fullAddress": "Calle aragó 79, La Nova Esquerra de l'Eixample, Barcelona",
"mainImageUrl": "https://images.habimg.com/imgh/10899-4377662/...jpg",
"scrapedAt": "2026-05-15T11:46:40.892Z"
}

💡 Use cases

  • Market research & price benchmarking — track median €/m² across neighborhoods and compare districts over time.
  • Investment due diligence — surface new listings matching specific yield, area, room or location criteria.
  • Lead generation for real estate agencies — feed CRM systems with curated, region-specific inventory.
  • Academic & journalistic research — quantify Spanish housing-market dynamics, supply and pricing trends.
  • Real estate ML training data — collect labeled property records for valuation and recommendation models.
  • Proptech supply mapping — populate map-based apps with current Spanish listings, complementing Idealista and Fotocasa data.

❓ Frequently Asked Questions

Do I need a proxy or login? No login is required. Habitaclia tolerates clean datacenter traffic for small runs, but the Apify RESIDENTIAL proxy pinned to country ES is strongly recommended for runs above ~100 listings — and the input is pre-configured this way by default.

Is it legal to scrape Habitaclia? Use the Actor only for publicly accessible data you have a lawful basis to collect under GDPR and Spanish data-protection law. Respect Habitaclia's Terms of Service and robots.txt, and handle any personal data (advertiser names) accordingly. This Actor is independent and not affiliated with Habitaclia or Adevinta.

How much data can I get and how fast? Set maxListings and maxPages to control volume. Typical throughput is around 200 listings in roughly 90 seconds on a 1 GB instance, with each record carrying 30+ fields.

How do I find the right location slug? Use lowercase ASCII with underscores for spaces — e.g. barcelona, madrid, palma_de_mallorca, sant_cugat_del_valles. Province slugs run province-wide searches; specific town slugs target a single municipality.

Can I filter by price, area or rooms? Yes. minPrice/maxPrice (EUR), minArea/maxArea (m²), minRooms/maxRooms, advertiserType and keyword are all applied as client-side filters.

How fresh is the data? Real-time. Each run fetches live listing pages directly — no caching and no third-party feed.

Does it scrape full detail pages? The Actor is optimized for card-level extraction, which already returns 30+ fields per listing. Detail-page enrichment (full description, all photos, agency contact) is a planned extension.

What does the housing property type mean? Habitaclia's viviendas bucket combines apartments, houses, attics and duplexes — use it when you want all residential inventory regardless of subtype.

⏰ Scheduling & integration

Schedule this Actor on Apify to run daily or weekly for a continuously updated Spanish real estate dataset. Export results to JSON, CSV, Excel or XML, pull them via the Apify API, or stream the dataset into Google Sheets, BigQuery, Snowflake, Postgres or webhooks for automated market monitoring.


Changelog

  • 2026-05-25 — Maintenance & reliability pass: pulled the latest source and rebuilt the Actor on the current base image; build verified.

Last reviewed: 2026-05-25.