Fotocasa Scraper — Spain Real Estate Data Extractor
Pricing
from $6.00 / 1,000 listing scrapeds
Fotocasa Scraper — Spain Real Estate Data Extractor
Scrape property listings from Fotocasa.es — Spain's leading real estate portal. Extract prices, rooms, area, GPS coordinates, agency contacts, and images for sale, rent, and shared listings. Filter by city, price, size, and property type. Export as JSON, CSV, Excel, or via API.
Pricing
from $6.00 / 1,000 listing scrapeds
Rating
0.0
(0)
Developer
ParseBird
Maintained by CommunityActor stats
1
Bookmarked
2
Total users
1
Monthly active users
13 hours ago
Last modified
Categories
Share
Fotocasa Scraper
Scrape property listings from Fotocasa.es, Spain's leading real estate portal with millions of property listings across the country. Extract prices, rooms, area, coordinates, agency info, and images for sale, rent, shared, and transfer listings.
| Extract structured property data from Fotocasa.es — search any Spanish city, filter by price, size, and listing type, and get analysis-ready real estate data at scale. |
Copy to your AI assistant
Copy this block into ChatGPT, Claude, Cursor, or any LLM to start using this actor.
parsebird/fotocasa-scraper on Apify. Call: ApifyClient("TOKEN").actor("parsebird/fotocasa-scraper").call(run_input={...}), then client.dataset(run["defaultDatasetId"]).list_items().items for results. Key inputs: location (string, e.g. "Madrid", "Barcelona", "Valencia"), operation (string: "buy"/"rent"/"share"/"rentBuyOption"/"transfer", default "buy"), propertyType (string: "home"/"newHome"/"premises"/"garages"/"office"/"boxRoom"/"land"/"building", default "home"), maxItems (integer, default 10), minPrice/maxPrice (integer, 0=no limit), minSize/maxSize (integer, m², 0=no limit), sortBy (string: "rating"/"latest"/"cheapest"/"mostExpensive"/"biggest"/"smallest"/"cheapestPerM2"), publicationDate (string: ""/"last48h"/"lastWeek"/"lastMonth"). Full actor spec: fetch via GET https://api.apify.com/v2/acts/parsebird~fotocasa-scraper (Bearer TOKEN). Get token: https://console.apify.com/account/integrations
What does Fotocasa Scraper do?
This Actor scrapes property listings from fotocasa.es using Playwright with residential proxies. It supports five operation types and eight property categories:
Operation types:
| Operation | Spanish | Description |
|---|---|---|
buy | Compra | Properties for sale |
rent | Alquiler | Properties for rent |
share | Habitación | Shared accommodations |
rentBuyOption | Alquiler con opción a compra | Rent-to-buy options |
transfer | Traspaso | Business transfers |
Property types:
| Type | Spanish | Description |
|---|---|---|
home | Viviendas | Residential homes |
newHome | Obra nueva | New construction |
premises | Locales | Commercial premises |
garages | Garajes | Parking/garages |
office | Oficinas | Office spaces |
boxRoom | Trasteros | Storage rooms |
land | Terrenos | Land plots |
building | Edificios | Entire buildings |
Input parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
maxItems | integer | No | 10 | Maximum number of property listings to scrape |
location | string | No | "Madrid" | City or region to search (e.g., Madrid, Barcelona, Valencia) |
operation | string | No | "buy" | Operation type: buy, rent, share, rentBuyOption, transfer |
rentalTypes | array | No | [] | Rental duration (only for rent): longTerm, temporary |
propertyType | string | No | "home" | Property category: home, newHome, premises, garages, office, boxRoom, land, building |
minPrice | integer | No | 0 | Minimum price in euros (0 = no minimum) |
maxPrice | integer | No | 0 | Maximum price in euros (0 = no maximum) |
minSize | integer | No | 0 | Minimum area in m² (0 = no minimum) |
maxSize | integer | No | 0 | Maximum area in m² (0 = no maximum) |
publicationDate | string | No | "" | Publication filter: "" (any), last48h, lastWeek, lastMonth |
sortBy | string | No | "rating" | Sort order: rating, latest, cheapest, mostExpensive, biggest, smallest, cheapestPerM2 |
proxyConfiguration | object | No | Apify Proxy | Proxy settings (residential proxies recommended) |
Output example
{"propertyId": "187123129","transaction": {"type": "SALE","price": 120000},"surface": 57,"rooms": 3,"baths": 1,"street": "Calle de Benimamet","number": "51","floor": "10","address": {"country": "España","district": "Centro","municipality": "Madrid","province": "Madrid"},"publicationDate": "2025-07-21T19:15:08.237Z","location": {"latitude": "40.3443439","longitude": "-3.6871201"},"agency": {"name": "OCASIONES INMOBILIARIAS DEL HENARES SL","phone": "912170482"},"multimedia": [{"url": "https://static.fotocasa.es/images/ads/06cd3b85-dd58...","type": "image","classification": "exterior"},{"url": "https://static.fotocasa.es/images/ads/4085ad4c-5c34...","type": "image","classification": "bedroom"}],"description": "Piso en venta en el centro de Madrid...","buildingType": "Flat","buildingSubtype": "Flat","isNewConstruction": false,"detailUrl": "/es/comprar/vivienda/madrid/centro/187123129/d","sourceUrl": "https://www.fotocasa.es/es/comprar/viviendas/madrid/todas-las-zonas/l?sortType=scoring"}
Use cases
- Real estate analysis — Track pricing trends, average m² costs, and inventory levels across Spanish cities
- Investment research — Compare property yields, identify undervalued areas, and analyze price-per-square-meter
- Lead generation — Extract agency contact information for partnership opportunities
- Relocation planning — Build shortlists of properties matching specific criteria (size, price, location)
- Market monitoring — Set up scheduled runs to track new listings and price changes over time
- PropTech integration — Feed property data into CRMs, comparison tools, or valuation models
How it works
- Constructs a Fotocasa.es search URL from your input parameters (location, operation, filters)
- Opens the search page in a headless Chromium browser with residential proxies
- Accepts cookie consent and waits for listings to load
- Extracts property data via network interception of internal API responses
- Falls back to page state extraction or DOM parsing if network interception yields no results
- Paginates through search results until
maxItemsis reached or no more listings are found - Pushes each property listing to the Apify dataset
Pricing
| Event | Price per event | Price per 1,000 |
|---|---|---|
listing-scraped | $0.006 | $6.00 |
FAQ
What locations can I search? Any location available on Fotocasa.es — cities (Madrid, Barcelona, Valencia, Sevilla, Málaga), regions (Costa del Sol, Costa Brava), or neighborhoods. Enter the location name as it appears on the site.
Why do I need residential proxies? Fotocasa.es uses anti-bot protection. Residential proxies (especially Spanish ones) provide the best success rate. The scraper is configured to use Apify's RESIDENTIAL proxy group by default.
Can I scrape rental listings?
Yes. Set operation to rent and optionally specify rentalTypes to filter by long-term or temporary rentals.
How many listings can I scrape per run?
There is no hard limit. Set maxItems to control how many listings to collect. Larger runs use more compute time and proxy bandwidth.
Does this scraper visit individual listing detail pages? No. It extracts data from search result pages only, which already contain comprehensive property information including price, area, rooms, coordinates, agency details, and images.
Legal and compliance
This Actor extracts publicly available data from Fotocasa.es for personal use, market research, and analysis purposes. Users are responsible for ensuring their use of scraped data complies with applicable laws, Fotocasa.es Terms of Service, and data protection regulations including GDPR. Do not use extracted personal data for unsolicited contact or purposes incompatible with the original collection context.