Fotocasa Scraper [$0.8/1K💰] | Madrid→Málaga | Price per m² avatar

Fotocasa Scraper [$0.8/1K💰] | Madrid→Málaga | Price per m²

Pricing

from $0.80 / 1,000 results

Go to Apify Store
Fotocasa Scraper [$0.8/1K💰] | Madrid→Málaga | Price per m²

Fotocasa Scraper [$0.8/1K💰] | Madrid→Málaga | Price per m²

Scrape Fotocasa.es property listings across Spain — price, €/m², rooms, surface, full address, GPS, photos, agency & phone. Ideal for Spanish market research, price monitoring & real estate leads. Buy & rent.

Pricing

from $0.80 / 1,000 results

Rating

0.0

(0)

Developer

Ahmed Jasarevic

Ahmed Jasarevic

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Categories

Share

Fotocasa Scraper — Spanish Property Listings Data for $0.8 / 1,000

Scrape property listings from Fotocasa.es — Spain's #2 property portal with ~1.5M active listings — for Spanish real estate market research, price-per-m² monitoring, rental yield analysis and real estate agency lead generation. One structured row per property: price, €/m², rooms, surface, full address, GPS, photos and agency phone.

💰 From $0.8 per 1,000 properties — a 100-listing crawl costs roughly $0.03. Nearly every competing Fotocasa scraper charges $0.9–$6 per 1,000 results. Free to try: 15 properties per run on a free Apify account.

Scrape Spanish Property Listings for Market Research

Paste any Fotocasa.es search URL (buy or rent) and the actor returns one structured row per listing — with automatic pagination, on-site filters honoured, and 30+ fields per property. Works for every Spanish city, province and region.

Who uses it:

  • Property investors & buy-to-let buyers — rental yield analysis by district, price-per-m² benchmarking
  • Real estate analysts & PropTech — market data feeds, valuation models, price trend tracking
  • Relocation / expat buyer agents — client shortlists across Spanish cities
  • Marketers & brokers — inmobiliaria and agency contact leads

Build Spanish Real Estate Datasets Without an Official API

Fotocasa has no public API. This actor is the practical Fotocasa API alternative: it reads the same structured JSON that powers the website itself (server-rendered React state, no DOM parsing), so you get clean property data — price, €/m², address hierarchy, GPS, agency contacts — ready to export as JSON, CSV, Excel or HTML.

Track Spanish Property Prices & Price per Square Meter

Monitor asking prices and €/m² across districts, cities and provinces over time. Fields include price, rawPrice, pricePerSqm, rooms, surface, neighborhood, district, city and province — everything needed for a Spanish housing market dashboard or price index. Schedule daily or weekly runs to catch price drops and new listings early.

Generate Real Estate Agency Leads from Fotocasa

Every listing row includes the listing agency name, agency ID, agency URL and phone number. Build lead lists of active inmobiliarias in any Spanish city — filtered by which agencies currently list properties matching your criteria (price range, property type, district).

Why use Fotocasa Scraper?

  • 💰 From $0.8 per 1,000 properties — a 100-item crawl costs ~$0.03. One of the lowest prices on Apify for Fotocasa data.
  • Pure HTTP, no browser — parses Fotocasa's server-rendered property JSON directly: fast and cheap to run.
  • Buy and rent — works on any comprar (buy) or alquiler (rent) search URL with all on-site filters honoured.
  • Rich output — 30+ fields per property: coordinates, photos, agency, address hierarchy, listed date.
  • Automatic parallel pagination — crawls every result page in parallel (concurrency up to 20) until your maxItems cap.
  • Apify proxy included — routes traffic through Apify's residential proxy to bypass CloudFront/DataDome anti-bot protection.

How to scrape Fotocasa listings

  1. Go to Fotocasa.es and run a property search (e.g. flats for sale in Madrid).
  2. Copy the search URL from your browser's address bar.
  3. Open Fotocasa Scraper in Apify Console and paste the URL into Start URLs.
  4. Set Maximum Items and click Start.
  5. Wait for the run to finish, then download your dataset as JSON, CSV, Excel or HTML.
FieldTypeRequiredDefaultNotes
startUrlsarrayno*Full Fotocasa.es search-result URLs; each is auto-paginated in parallel. Takes priority over all filter fields below.
locationstringnoMadridCity or area in Spain (provincial capitals auto-resolve — Barcelonabarcelona-capital). Used only when startUrls is empty.
operationstringnocomprarcomprar (buy) or alquiler (rent). Used only when startUrls is empty.
propertyTypestringnoviviendasviviendas, pisos, casas, atico, duplex, estudio, garajes, oficinas, locales, naves, terrenos, trasteros, edificios
roomsintegernoExact bedroom count (1–6). Only ONE of Rooms / Feature / publishedLast48h per search.
featurestringnoOne Fotocasa feature: terraza, ascensor, piscina, jardin, obra-nueva, amueblado, con-vistas-al-mar, lujo, chollo
publishedLast48hbooleannofalseOnly listings published in the last 48 h (new-listing alerts).
sortBystringnorelevancerelevance, newest, cheapest, most-expensive, largest, smallest, cheapest-per-m2.
minPrice / maxPriceintegernoPrice range filter (EUR).
minSurface / maxSurfaceintegernoSurface range filter (m²).
maxItemsintegerno10000Hard cap on total listings collected.
maxPagesintegerno200Max search-result pages to crawl (~30 listings each).
maxConcurrencyintegerno20Pages fetched in parallel.
maxRequestRetriesintegerno5Retries before giving up on a failed page.
debugbooleannofalseSaves raw HTML of the first page to the key-value store.

*Either startUrls (paste a search URL) or the convenience filter fields (location + operation + filters) — the actor builds the Fotocasa URL for you.

Fotocasa URL patterns:

  • Buy: https://www.fotocasa.es/es/comprar/viviendas/{location}/todas-las-zonas/l
  • Rent: https://www.fotocasa.es/es/alquiler/viviendas/{location}/todas-las-zonas/l

Output: One Structured Row per Property

FieldDescription
id / urlFotocasa listing ID and direct link
titleListing headline (derived from property type + location when Fotocasa provides none)
descriptionProperty description text
price / rawPriceDisplay price (text) and numeric EUR value
pricePerSqmPrice per m² (EUR)
rooms / bathroomsBedroom and bathroom counts
surfaceLiving area in m²
floorFloor level
propertyTypee.g. Flat, House, Penthouse
transactionTypebuy or rent
address*Full address hierarchy: street → neighborhood → district → city → municipality → province → zip → country
latitude / longitudeGPS coordinates
photos / photoCountImage URLs and count
agency / agencyId / agencyUrl / phoneListing agency name, ID, profile URL and phone
listedDateWhen the listing was published
energyRatingEnergy certificate (A–G, when available)
isNewConstructionNew-build flag
featuresProperty feature keys
scrapedAtISO timestamp of the scrape

Example Output

{
"portal": "fotocasa",
"id": "190021901",
"url": "https://www.fotocasa.es/es/comprar/vivienda/madrid-capital/.../190021901/d",
"title": "Luminoso piso en pleno centro de Madrid",
"price": "350.000 €",
"rawPrice": 350000,
"pricePerSqm": 11290,
"rooms": 1,
"bathrooms": 1,
"surface": 31,
"propertyType": "Flat",
"transactionType": "buy",
"addressNeighborhood": "Goya",
"addressDistrict": "Barrio de Salamanca",
"addressCity": "Madrid",
"addressProvince": "Madrid",
"addressZipCode": "28001",
"latitude": 40.423670774665496,
"longitude": -3.679176002780123,
"photoCount": 18,
"agency": "ENGEL & VÖLKERS MADRID",
"phone": "+34912774500",
"listedDate": "2026-06-19T13:13:47.600Z",
"energyRating": null,
"features": ["surface", "rooms", "bathrooms"]
}

How It Works (technical)

The actor uses a CheerioCrawler (pure HTTP — no browser) with Apify's residential proxy (Spain country code):

  1. Fetches each search-result page over HTTP through the Apify residential proxy. Direct datacenter IPs get a 403 "Request blocked" — the residential group is required.
  2. Primary data source — embedded JSON: Fotocasa server-side renders its React state into a <script type="application/json" id="__initial_props__"> tag. The actor parses this JSON and reads the property array at initialSearch.result.realEstates (31 listings per page) — complete camelCase objects (rawPrice, address.zipCode, coordinates, multimedia[], features[], dateOriginal.timestamp), no DOM scraping.
  3. Fallbacks (in order): initialSearch.result.resultsV2.items, __NEXT_DATA__, __NUXT__, inline JSON patterns, then DOM parsing of property cards.
  4. Auto-paginates by URL pattern inference (/l/l/2/l/3 …) up to the item cap.
  5. Pushes one normalized row per property to the Apify dataset.

Integrations & Automation: Schedule Property Price Monitoring

This actor is fully API-callable (REST API, Apify SDK, Apify API client for Python/JS). Connect it to:

  • Apify schedules — run daily or weekly to monitor Spanish property prices and catch new listings
  • Webhooks / Zapier / Make — push new listings into Slack, Sheets, CRM or a database
  • apify-client — build automated Spanish real estate data pipelines

For price monitoring, start with a daily schedule with maxItems capped to your budget — e.g. 1,000 listings/day ≈ $0.8/day. For weekly market snapshots, a Monday run is enough. Recurring usage also keeps your datasets continuously fresh for dashboards.

Build a cross-country European real estate dataset by running the Spain, Italy, France, Germany and UK scrapers on the same schedule.

FAQ

Why use this actor instead of an official Fotocasa API?

Fotocasa does not offer a public API. The only ways to get structured property data from the portal are improving scrapers like this one. This actor reads Fotocasa's own server-rendered JSON — the same data that powers the website — so you get clean, normalized records without building or maintaining a scraper yourself.

What are the alternatives to this actor for Spanish property data?

  • Idealista data — via Idealista Scraper (Spain, Italy, Portugal). Idealista is Spain's #1 portal (~50M monthly visits vs Fotocasa's ~14–16M). Best practice: run both — they share ~60% agency listings, so each carries ~40% exclusives.
  • Fotocasa vs Idealista — which has more unique listings? Fotocasa is particularly strong on private-landlord (particular) listings and new-build (obra nueva) inventory; Idealista has the larger overall inventory and stronger filters. Around 40% of Fotocasa listings never appear on Idealista — mostly private landlords who publish on only one portal.
  • Other portals: Pisos.com, Habitaclia (Adevinta sister portal, ~93% overlap with Fotocasa) — cover niche inventory.
  • Commercial providers: PropAPIS/WebScrapingHub-style managed APIs (subscription).

What property types can I scrape?

Anything Fotocasa indexes: apartments/flats (pisos), houses (casas), penthouse (ático), duplex, studios (estudios), new construction (obra nueva), garages, offices, commercial premises (locales), warehouses (naves), land (terrenos) — for both buy (comprar) and rent (alquiler).

Can I find newly listed properties fast?

Yes — use publishedLast48h: true or paste a sortBy=newest search URL. Combined with a daily schedule, this acts as a new-listing alert system for competitive markets (Madrid, Barcelona, Costa del Sol), where good flats get inquiries within minutes of going live.

Do my on-site filters work?

Yes — any filter you set on Fotocasa.es (price range, rooms, neighborhood, province) is encoded in the URL and honoured by the scraper.

Do I need a proxy?

Apify's residential proxy is included and recommended. Datacenter IPs (including the default Apify proxy group) receive a 403 "Request blocked" from CloudFront/DataDome — the residential group routes around it.

What about individual listing detail pages?

This scraper focuses on search-result pages (30+ fields per listing). Individual detail-page extras (energy certificate, exact street, construction type) can be added as a follow-up enhancement — like every field already delivered above, nothing is invented.

SEO Keywords

fotocasa scraper, fotocasa es scraper, spanish property scraper, spain real estate data, fotocasa api alternative, idealista alternative, madrid property listings, pisos en venta madrid, barcelona apartments for sale, spanish rental listings, alquiler viviendas, costa del sol property, malaga real estate data, price per square meter spain, spanish property price monitoring, rental yield analysis spain, buy to let spain, inmobiliaria leads, real estate agency leads spain, obra nueva listings, new construction spain, spanish housing market data, fotocasa vs idealista, property data spain city, spanish address gps property

For AI Agents & LLM Apps

Purpose: Returns structured property listings from Fotocasa.es search results — one dataset row per listing with 30+ fields (price, €/m², rooms, surface, address hierarchy, GPS, photos, agency + phone).

Minimal input:

{
"startUrls": ["https://www.fotocasa.es/es/comprar/viviendas/madrid-capital/todas-las-zonas/l"],
"maxItems": 100
}

Alternative inputs — search mode (no URL needed):

{ "location": "Barcelona", "operation": "alquiler", "propertyType": "viviendas", "maxItems": 100 }
{ "location": "madrid-capital", "operation": "comprar", "rooms": 2, "minPrice": 200000, "maxPrice": 500000, "publishedLast48h": true, "maxItems": 50 }

Output fields: id, url, title, description, price, rawPrice, pricePerSqm, rooms, bathrooms, surface, floor, propertyType, transactionType, addressStreet, addressNeighborhood, addressDistrict, addressCity, addressMunicipality, addressProvince, addressZipCode, addressCountry, latitude, longitude, photos, photoCount, agency, agencyId, agencyUrl, phone, listedDate, energyRating, isNewConstruction, features, scrapedAt.

Behaviors an agent should know:

  • startUrls take priority — when one or more search URLs are provided, the location/operation/propertyType/filter convenience fields are ignored. Set startUrls or the filter fields, not both.
  • If startUrls is empty and maxItems is unset, the actor defaults to 10,000 items — set maxItems to bound cost. Each result costs $0.0008 (≈$0.8/1,000).
  • maxConcurrency default 20 pages in parallel; maxPages default 200 (~30 listings/page) — lower both for gentler runs.
  • Only ONE of rooms / feature / publishedLast48h can be set at a time (Fotocasa constraint); setting two may produce no results.
  • Filters (price range, surface, rooms) encode into the generated Fotocasa URL only in search mode (empty startUrls).
  • Runs require Apify residential proxy (already configured); datacenter IPs get 403-blocked.
  • The actor charges pay-per-result — budget maxItems before scheduling repeated runs.

Billing: pay-per-result — USD 0.0008 per property listing (~$0.8 per 1,000) + small run-start fee per GB memory.

This actor is an independent tool and is not affiliated with, endorsed by, or sponsored by Fotocasa (Adevinta).

It accesses only publicly available Fotocasa.es search-result pages — no login bypass, no CAPTCHA solving, no private data. It collects the same public property-listing information any visitor can see in their browser.

Users are responsible for their own compliance with Fotocasa's Terms of Service and applicable data-protection law (including GDPR for personal data such as agency contact details and phone numbers). Listing-agency contact data should not be used for unsolicited commercial outreach in violation of applicable law (e.g. CAN-SPAM, GDPR, Spain's LOPDGDD). This text is not legal advice.