Fotocasa Scraper - Spain Real Estate
Pricing
from $4.00 / 1,000 property scrapeds
Fotocasa Scraper - Spain Real Estate
Scrape Fotocasa — Spain's top real estate portal. Homes for sale or rent with prices, m², rooms, energy rating, photos, geo, full description & agency leads (name, phone, profile). Filter by city, price, size. Monitor new listings & price drops. Export JSON, CSV, Excel.
Pricing
from $4.00 / 1,000 property scrapeds
Rating
0.0
(0)
Developer
Scrape Sage
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Fotocasa Scraper — Spain Real Estate Listings, Prices, Energy Ratings & Agency Leads
Extract complete data from Fotocasa — Spain's leading real estate portal. Get homes for sale or for rent with prices, price per m², bedrooms, bathrooms, surface, energy certificate, full address with geo, every photo, the full description, and the advertising agency's name, profile and phone — all in one clean dataset.
No login, no cookies, no browser — fast, reliable extraction by city, filter, or pasted URL, with a built-in monitor mode to track new listings and price drops.
Why this Fotocasa scraper?
Generic "paste-a-URL" scrapers grab a handful of visible fields. This actor reads Fotocasa's own structured data and opens each listing's detail page, so it ships the richest dataset in the category — including the energy performance certificate and decoded property attributes that thin scrapers skip.
| Data | Generic scrapers | This actor |
|---|---|---|
| Price, price per m², price drops | partial | ✅ |
| Bedrooms, bathrooms, surface (m²) | partial | ✅ |
| Full address: neighborhood, district, city, province, zip | partial | ✅ |
| Geo coordinates (lat/lng) | ❌ | ✅ |
| Energy certificate (rating, consumption, CO₂ emissions) | ❌ | ✅ |
| Decoded features: orientation, condition, age, floor | ❌ | ✅ |
| Amenities (parking, lift, pool, terrace, A/C, heating…) | partial | ✅ |
| Full description + all photos (not just the cover) | partial | ✅ |
| Advertiser name, type, phone, profile, website | ❌ | ✅ |
| Deduplicated agency leads with lead score | ❌ | ✅ |
| Monitor mode (only new listings & price changes) | ❌ | ✅ |
Use cases
- Real estate market research & comps — pull every listing in a city or neighborhood with price per m², surface, energy rating and listing age to build comparables and price models.
- Lead generation for proptech & services — each advertiser is a ready B2B lead: agency name, phone, Fotocasa profile and website, with active-listing counts and a 0–100 lead score. Perfect for CRM, mortgage, insurance, home-staging, photography and portal-tool vendors.
- Investment & deal sourcing — filter by price, size and advertiser, and use monitor mode to get alerted the moment a new listing or a price drop appears.
- Portal & app data — power your own search, alerts or valuation product with structured, geocoded Spanish property data.
- Energy & sustainability analysis — every detail page carries the official energy-efficiency rating and CO₂ emissions for energy-performance studies.
How to use
- Sign up for Apify — the free plan is enough to try this actor.
- Open the Fotocasa Scraper, type a Location (e.g.
Madrid,Barcelona,Valencia,Marbella), choose For sale / For rent and a Property type, and add any filters you like. - Click Start and watch results stream into the dataset table.
- Export as JSON, CSV, Excel, XML, or RSS — or pull results programmatically via the Apify API.
Prefer pixel-perfect control? Apply every filter on fotocasa.es and paste the resulting URL into Start URLs — the scraper paginates it for you.
Input
{"location": "Barcelona","transactionType": "buy","propertyType": "homes","minPrice": 150000,"maxPrice": 700000,"minRooms": 2,"includePropertyDetails": true,"includeAgencyLeads": true,"maxResults": 100}
- location / locations — a Spanish city or area (
Madrid,Barcelona,Valencia,Sevilla,Marbella…). Major markets resolve automatically; you can also pass a Fotocasa location slug (madrid-capital). - transactionType —
buy,rent,rent-to-own,share, ortransfer. - propertyType —
homes(flats + houses),new-homes,apartments,houses,penthouses,studios,offices,commercial-premises,land, and more. - searchUrls (optional) — paste any Fotocasa search/listing URL; detail (
/d) URLs are scraped as single properties. - propertyUrls (optional) — scrape specific listings by their detail URL.
- Filters —
minPrice/maxPrice,minRooms,minBathrooms,minSurface/maxSurface,onlyNewConstruction,onlyWithPhoto,onlyPriceReduced,advertiserType(agencies / private),maxAgeDays. - includePropertyDetails (default true) — open each listing for the energy certificate, decoded features and full photo set.
- includeAgencyLeads (default true) — also output deduplicated advertiser leads.
- monitorMode + monitorKey — output only new listings and price changes across runs.
- maxResults / maxAgencyLeads — caps per run.
- proxyConfiguration — defaults to Apify Residential, country ES (required for Fotocasa).
Output
Two record types land in the same dataset (use the Properties and Agency leads dataset views, or filter on the type field).
A property record (type: "property"):
{"type": "property","id": 189463519,"url": "https://www.fotocasa.es/es/comprar/vivienda/barcelona-capital/.../189463519/d","transactionType": "For sale","propertyType": "Flat","title": "Attic, 3 bed in Fort Pienc","price": 520000,"currency": "EUR","pricePerSqm": 6500,"previousPrice": null,"priceReduced": false,"rooms": 3,"bathrooms": 1,"surface": 80,"neighborhood": "Fort Pienc","district": "Eixample","city": "Barcelona","province": "Barcelona","zipCode": "08013","latitude": 41.3984,"longitude": 2.1812,"amenities": ["Air conditioning", "Heating", "Elevator", "Furnished"],"energyRating": "E","energyConsumption": 142.0,"emissionsRating": "E","emissions": 30,"orientation": "South","conservationState": "Good","antiquity": "Between 30 And 50 Years","floor": "6th Floor","description": "Piso exterior y muy luminoso…","images": ["https://static.fotocasa.es/images/ads/…?rule=original", "…"],"imageCount": 27,"listedDaysAgo": 12,"publishedAt": "2026-06-07T10:21:00.000Z","advertiserType": "professional","agencyName": "CUATRO CASAS INMOBILIARIA","agencyUrl": "https://www.fotocasa.es/es/inmobiliaria-cuatro-casas/...","phone": "+34932651778","scrapedAt": "2026-06-19T22:34:00.000Z"}
An agency lead record (type: "agencyLead") carries agencyName, advertiserType, phone, agencyUrl, agencyWebsite, activeListingCount, cities, neighborhoods, propertyTypes, minPrice/maxPrice, sampleListings and a 0–100 leadScore.
What to expect (field coverage)
Fotocasa is advertiser-entered data, so a few fields are present only when the agency filled them in. Verified across Madrid and Barcelona, with full details enabled you can typically expect:
| Field group | Coverage |
|---|---|
| Price, price per m², rooms, baths, surface | ~100% |
| Address (neighborhood/city/province/zip) + geo | ~100% |
| Energy certificate, orientation, floor, condition, age | ~95–100% (from the detail page) |
| Amenities, full description, all photos | ~100% |
| Advertiser name, type, phone, profile | ~100% |
| Price drop / previous price | only when the advertiser dropped the price |
A blank field means the advertiser didn't publish it — not that scraping failed. Nothing is dropped, so you always get the richest dataset available.
Automate & schedule
Run this actor on autopilot and pull results into your own stack:
- Apify API — start runs, fetch datasets, and manage schedules over REST.
- apify-client for JavaScript and apify-client for Python — official SDKs.
- Schedules — run it daily/weekly with monitor mode to capture new listings and price drops as they happen.
- Webhooks — trigger downstream actions (CRM import, Slack alert, email sequence) the moment a run finishes.
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'MY_APIFY_TOKEN' });const run = await client.actor('scrapesage/fotocasa-scraper').call({location: 'Barcelona',transactionType: 'buy',propertyType: 'homes',maxResults: 100,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(`Got ${items.length} records`);
Integrate with any app
Connect the dataset to 5,000+ apps — no code required:
- Make — multi-step automation scenarios.
- Zapier — push new property leads straight into your CRM.
- Slack — get notified when a monitored search adds listings or drops prices.
- Google Drive / Sheets — auto-export every run to a spreadsheet.
- Airbyte — pipe results into your data warehouse.
- GitHub — trigger runs from commits or releases.
Use with AI assistants (MCP)
The output is clean, LLM-ready JSON. Call this actor from Claude, ChatGPT, or any agent framework through the Apify MCP server — ask your assistant to "find every 2-bed flat under €400k in Valencia with its energy rating and the agency's phone" and let it run the scraper for you.
Agent-ready: autonomous payments (x402 & Skyfire)
This actor is agent-ready — AI agents can discover it, run it, and pay for it autonomously, with no Apify account and no human in the loop. It uses pay-per-event pricing and limited permissions, so it qualifies for Apify's agentic-payment standards:
- x402 — an open, HTTP-native payment protocol. Agents pay per run in USDC on the Base network directly through the Apify MCP server — no account, no API key.
- Skyfire — agent-to-service payments for fully autonomous AI-agent workflows.
Building an AI agent, MCP tool, or autonomous data pipeline? This scraper is ready to plug in and pay as it goes.
More scrapers from scrapesage
Build a complete global real estate & lead-gen stack — one portal per market:
- Redfin Scraper — US homes for sale & rent with prices and agent data.
- Rightmove Scraper — UK property listings, prices and agent leads.
- Realtor.ca Scraper — Canadian real estate listings and agent/brokerage leads.
- Immoweb Scraper — Belgium's #1 property portal with EPC and agency leads.
- VivaReal & ZAP Imóveis Scraper — Brazil's top real estate portals with broker leads.
- Property Finder Scraper — UAE/GCC listings, off-plan projects and agent leads.
- Crexi Scraper — US commercial real estate with broker leads.
- Rent.com Scraper — US rental listings and property-management leads.
- Kleinanzeigen Scraper — Germany's #1 classifieds (incl. property) with seller leads.
Tips
- Focus your search for a clean, dense table — set a
locationplus price/size filters. Use Start URLs when you've already dialed in a search on fotocasa.es. - Full details on is the difference between a listing and an investable record — it adds the energy certificate, orientation, floor, condition and the complete photo set (one fast request per listing).
- Agency leads: keep
includeAgencyLeadson to turn every search into a prospect list, ranked by lead score. - Recurring monitoring: combine monitor mode with a Schedule to track a market and only pull new listings and price drops — no duplicates.
FAQ
How do I scrape a specific city or area? Type it in Location (Madrid, Barcelona, Valencia, Marbella…). For anything not auto-resolved, pass a Fotocasa location slug (madrid-capital) or paste a search URL.
Does it need the Fotocasa API or a key? No. This actor reads Fotocasa's public, server-rendered data and detail pages — no key, login, or browser needed.
Can I get for-rent listings? Yes — set transactionType to rent (or rent-to-own, share, transfer). Rental prices are monthly.
Can I export to Google Sheets, CSV, or Excel? Yes — one click in the dataset view, or automatically on every run via the Google Drive integration.
How do I monitor a market for new listings or price drops? Turn on monitor mode and create a Schedule (e.g. daily). The actor remembers what it has seen and outputs only new listings and price changes — add a webhook or Zapier zap to push them into your CRM.
Why residential proxy? Fotocasa serves its data to Spanish residential IPs. The default (Apify Residential, country ES) is set for you and is strongly recommended.
A field is empty — why? Some advertisers don't publish a price drop, an energy rating or a website. Fields are blank only when the advertiser didn't provide that data — never because the scraper skipped it.
Is scraping Fotocasa legal? This actor collects publicly available data only. You're responsible for using the data in compliance with applicable laws (e.g. GDPR for personal data) and Fotocasa's terms.
Need help?
Open an issue on the actor's Issues tab, or visit the Apify help center. Feature requests are welcome — this actor is actively maintained.