ParseForge Scrapers

Fotocasa Spain Real Estate Scraper

parseforge/fotocasa-spain-scraper

Real estateAutomationLead generation

Scrape Fotocasa.es property listings from any search URL: price, size, rooms, energy certificate, coordinates, agency phone and every photo. Export to CSV, JSON, Excel or XML.

Run this scraper See the API call
Total runs
35
Bookmarked
0
Last modified
2 days ago

This scraper was last updated on .

What does the Fotocasa Spain Real Estate Scraper return?

ParseForge Banner

๐Ÿ  Fotocasa Spain Real Estate Scraper

๐Ÿš€ Export Fotocasa property listings in seconds. Paste any fotocasa.es search URL and get every listing as a flat row with 70 fields: price, euros per square metre, rooms, surface, floor, energy certificate, coordinates, agency name and phone, and every photo.

Fotocasa is one of Spain's two largest property portals, with tens of thousands of active sale and rental listings in every province. This Actor reads the same server-rendered data the Fotocasa website uses to draw its search results and listing pages, so you get the portal's own structured record for each property, not a guess parsed from the layout. No login, no API key, no browser.

A single Madrid capital search held 11,495 sale listings on the day this README was written. The Actor walks every results page (30 listings each), opens each listing for the full record, and stops exactly at your maximum. It accepts Spanish, Catalan, English and German Fotocasa URLs, sale and rental searches, room shares, and single listing URLs.

๐ŸŽฏ Target Audience ๐Ÿ’ก Primary Use Cases
Real estate investors and buy-to-let funds Track asking prices and euros per square metre by neighbourhood
Market analysts and proptech teams Build supply, price and time-on-market datasets across Spanish cities
Agencies and lead generation teams Collect agency names, phones and references from every active listing
Data journalists and researchers Study housing affordability, energy ratings and rental supply

๐Ÿ“‹ What the Fotocasa Spain Real Estate Scraper does

  • ๐Ÿ”— Any search URL. Copy a fotocasa.es results page with your filters already applied (buy or rent, property type, city, district, price, rooms) and the Actor follows every page of it.
  • ๐Ÿ˜ Full listing records. Opens each property page to add the description, energy certificate letters and kWh values, orientation, floor, heating, hot water, conservation state, building age, agency legal name and reference.
  • ๐Ÿ“ Derived pricing. Computes euros per square metre from the listing's own price and surface, ready for comparisons.
  • ๐Ÿ“… Real dates. Converts Fotocasa's relative "published 3 days ago" into an exact ISO timestamp.
  • ๐Ÿ—บ Coordinates and address hierarchy. Latitude, longitude, street, neighbourhood, district, city, county, province, region and zip code on every row.
  • โšก Sort control. Newest, oldest, cheapest, most expensive or largest first, so a small run grabs exactly the listings you want.

๐Ÿ’ก Why it matters: Fotocasa has no public API. Its listing data lives inside the pages, and the Actor extracts it as clean, typed rows you can export to CSV, Excel, JSON or XML, feed to a spreadsheet, or pipe into your own models.

๐ŸŽฌ Full Demo (๐Ÿšง Coming soon)

๐Ÿ“Š Output

Each row is one property listing. The Overview view in the Dataset tab shows the key columns; the full export carries all 70 fields.

Field Description
๐Ÿ–ผ imageUrl Main photo
๐Ÿ  title Property type, transaction and location, e.g. "Flat for rent in Barri Gรฒtic, Barcelona"
๐Ÿ”— url Canonical listing URL
๐Ÿ†” id Fotocasa listing id
๐Ÿ” transactionType Sale, Rent, Share, Rent to buy or Transfer
๐Ÿข propertyType, propertySubtype Flat, House, Penthouse, Studio, Ground floor with garden, ...
๐Ÿ’ถ price, priceText, currency Numeric price in EUR and the display string (per month for rentals)
๐Ÿ“ pricePerSqm Price divided by surface, rounded
๐Ÿ“‰ priceDrop Amount the price was reduced, 0 when unchanged
๐Ÿ› rooms, bathrooms, surface Rooms, bathrooms and built surface in mยฒ
๐Ÿชœ floor, orientation Floor (e.g. "5th floor", "Ground floor") and compass orientation
๐Ÿ— antiquity, conservationState, constructionType Building age band, condition and second hand vs new build
๐Ÿ”ฅ heating, hotWater Energy source for heating and hot water
โœ… hasElevator, isFurnished, hasAirConditioning, hasParking, hasTerrace, hasBalcony, hasPool, hasGarden, hasStorageRoom, petsAllowed Yes / No feature flags
๐Ÿ†• isNewConstruction, hasVideo, hasVirtualTour, hasFloorPlans Yes / No
โšก energyCertificate, energyRating, energyConsumption, emissionsRating, emissionsValue Certificate status (Valid, Exempt, In process), letters A to G and kWh/mยฒ and kg COโ‚‚/mยฒ per year
๐Ÿ“ description Full listing text as written by the advertiser
๐Ÿ“… publishedAt ISO timestamp of publication
๐Ÿ“ address, neighborhood, district, city, county, province, region, zipCode, country Address hierarchy
๐Ÿ—บ latitude, longitude, isExactLocation Coordinates and whether Fotocasa marks them as exact
๐Ÿข agencyName, agencyLegalName, agencyType, agencyPhone, agencyUrl, agencyLogoUrl, agencyReference Advertiser details (professional or private)
๐Ÿงฉ featureKeys, extraFeatures, subsidies Feature lists as Fotocasa tags them, plus public purchase subsidies the listing qualifies for
๐Ÿ“ท imageCount, images, videos Every photo URL in order, plus YouTube or hosted video links
๐Ÿ•’ scrapedAt, error Scrape timestamp; error is null on data rows

Sample rows from a real run:

{
  "imageUrl": "https://static.fotocasa.es/images/ads/338410b1-0a15-497e-b3e5-19aa8f51bf71?rule=original",
  "title": "Flat for rent in Barri Gรฒtic, Barcelona",
  "url": "https://www.fotocasa.es/es/alquiler/vivienda/barcelona-capital/aire-acondicionado-parking-ascensor-patio-amueblado-television-se-aceptan-mascotas-internet/190691868/d",
  "id": 190691868,
  "transactionType": "Rent",
  "propertyType": "Flat",
  "price": 900,
  "priceText": "900 โ‚ฌ/month",
  "pricePerSqm": 9,
  "rooms": 3,
  "bathrooms": 2,
  "surface": 99,
  "floor": "2nd floor",
  "orientation": "North",
  "hasElevator": "Yes",
  "isFurnished": "Yes",
  "petsAllowed": "Yes",
  "energyCertificate": "Exempt",
  "publishedAt": "2026-09-07T23:51:53.603Z",
  "neighborhood": "Barri Gรฒtic",
  "district": "Ciutat Vella",
  "city": "Barcelona",
  "zipCode": "08002",
  "latitude": 41.3850735,
  "longitude": 2.1736581,
  "agencyName": "FIN EL",
  "agencyLegalName": "FIN EL SL",
  "agencyPhone": "+34657212567",
  "agencyReference": "APPFKEI-79",
  "extraFeatures": ["Aire acondicionado", "Garaje privado", "Ascensor", "Patio", "Amueblado", "TV", "Se aceptan mascotas", "Internet", "Cocina Equipada"],
  "imageCount": 6
}
{
  "title": "Flat for sale in Ventas, Madrid Capital",
  "url": "https://www.fotocasa.es/es/comprar/vivienda/madrid-capital/aire-acondicionado-calefaccion-amueblado/189752697/d",
  "transactionType": "Sale",
  "priceText": "299.900 โ‚ฌ",
  "pricePerSqm": 5453,
  "surface": 55,
  "floor": "5th floor",
  "orientation": "East",
  "antiquity": "Between 50 and 70 years",
  "conservationState": "Very good",
  "heating": "Electricity",
  "energyCertificate": "Valid",
  "energyRating": "G",
  "energyConsumption": 999,
  "emissionsRating": "G",
  "publishedAt": "2026-05-22T11:22:17.243Z",
  "agencyName": "TengoTuCasa",
  "agencyReference": "83976",
  "subsidies": ["aval-comprar-casa-nacional", "mi-primera-vivienda-madrid"],
  "imageCount": 35
}
{
  "title": "Ground floor with garden for sale in El Cabanyal - El Canyamelar, Valencia",
  "url": "https://www.fotocasa.es/en/buy/home/valencia/el-cabanyal-el-canyamelar/189911411/d",
  "transactionType": "Sale",
  "propertySubtype": "Ground floor with garden",
  "priceText": "149.000 โ‚ฌ",
  "pricePerSqm": 4139,
  "surface": 36,
  "floor": "Ground floor",
  "city": "Valencia",
  "province": "Valencia",
  "agencyName": "Sorolla Servicios Inmobiliarios",
  "publishedAt": "2026-06-08T11:29:58.373Z",
  "imageCount": 6
}

Values Fotocasa withholds for a listing (no energy certificate letters when the listing is exempt, no orientation or building age on many rentals, no description when the advertiser left it blank) come back as "Not Disclosed" rather than empty cells, so your spreadsheet columns stay typed.

โœจ Why choose this Actor

  • ๐Ÿงพ The portal's own record, not a layout scrape. Reads the structured data embedded in each page, so rows do not break when Fotocasa restyles its cards.
  • ๐Ÿงฎ 70 typed fields per listing, including energy certificate values, agency reference numbers and exact publication timestamps that most alternatives skip.
  • ๐Ÿ” Sale, rent, share, rent-to-buy and transfer searches, plus single listing URLs, in any of Fotocasa's four site languages.
  • ๐ŸŽš Depth switch. Turn listing details off for a fast, cheaper pass over search cards only (price, size, rooms, features, coordinates, agency phone and photos are already on the card).
  • ๐Ÿงน Deduplicated. Promoted listings that Fotocasa repeats across pages are delivered once.
  • ๐Ÿ›ก Proxy-ready. Fotocasa blocks datacenter and most non-European IPs, so the Actor ships with Spanish residential proxies switched on and rotates sessions on any block.

๐Ÿ“ˆ How it compares to alternatives

Feature ParseForge Fotocasa Scraper (igolaizola) Fotocasa.es Search Results Scraper (azzouzana) Fotocasa Scraper (memo23)
Input Search URL or listing URL Location name, coordinates and filters Search URL Search URL
Listing detail pages Yes, switchable Yes Not listed Not listed
Energy certificate letters and values Yes Not listed Not listed Not listed
Euros per square metre Yes, computed No No No
Exact publication timestamp Yes Yes Not listed Not listed
Agency phone and reference Yes Phone only Not listed Not listed
Sort control 6 options 7 options URL only URL only
Browser required No No No No

Fotocasa itself sets one limit worth knowing: it serves 30 listings per results page and re-inserts promoted listings on later pages. The Actor dedupes those and stops when the search is exhausted, so very large searches (a whole province) are best split by city or price band to keep runs short.

๐Ÿš€ How to use

  1. Create a free Apify account and get $5 of monthly credit.
  2. Open the Fotocasa Spain Real Estate Scraper in Apify Store.
  3. On fotocasa.es, run the search you want (buy or rent, city, price, rooms) and copy the URL from the address bar.
  4. Paste it into Fotocasa search or listing URLs, set Max Items, and optionally pick a sort order or switch off listing details.
  5. Click Start. When the run finishes, download the dataset from the Dataset tab as CSV, Excel, JSON or XML, or read it through the API.

A first run with the defaults:

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

๐Ÿ’ผ Business use cases

๐Ÿ“ˆ Price monitoring for investors

Run the same Madrid Salamanca search every Monday sorted by newest first, keep id, price, pricePerSqm and publishedAt, and chart how asking prices move week over week.

๐Ÿข Agency lead lists

Scrape a province with details switched off, group rows by agencyName and agencyPhone, and you have every active agency in the area with the number of listings each one carries.

๐Ÿงฎ Valuation models

Combine surface, rooms, floor, energyRating, antiquity, latitude and longitude from tens of thousands of listings to train a hedonic price model for a city.

๐Ÿ”” New supply alerts

Schedule a daily run with sortBy: "publicationDate" and maxItems: 50, then push the rows to Slack or email to catch new listings before they are widely seen.

๐Ÿ”Œ Automating Fotocasa Spain Real Estate Scraper

  • Make and Zapier: trigger a run on a schedule and send new rows to Google Sheets, Airtable or a CRM.
  • Slack: post the newest listings from each run into a channel with the Apify Slack integration.
  • Airbyte: sync every dataset into your warehouse for historical analysis.
  • GitHub Actions: call the Apify API from a workflow to refresh a dataset that feeds a dashboard.
  • Google Drive: export each run as an Excel file straight into a shared folder.

๐ŸŒŸ Beyond business use cases

  • Research: compare energy ratings and prices per square metre across Spanish provinces.
  • Personal: watch one neighbourhood for a flat that fits your budget and get an alert the day it appears.
  • Non-profit: measure rental affordability and supply in a city for a housing report.
  • Experimentation: feed listing descriptions and photos to a language or vision model to tag renovation state.

๐Ÿค– Ask an AI assistant about this scraper

Add the Actor to Claude, Cursor or any MCP client and ask for Fotocasa data in plain language:

claude mcp add --transport http apify "https://mcp.apify.com?tools=parseforge/fotocasa-spain-scraper"

โ“ Frequently Asked Questions

๐Ÿ”‘ Do I need a Fotocasa account or API key?

No. The Actor reads public listing pages only.

๐Ÿ”— Which URLs work?

Any fotocasa.es results page whose path ends in /l (with or without filters and a page number) and any single listing page whose path ends in /d. Spanish (/es/), Catalan (/ca/), English (/en/) and German (/de/) URLs are all accepted.

๐Ÿ  Does it work for rentals and room shares?

Yes. Paste a rental (/alquiler/) or share (/compartir/) search and the rows carry transactionType "Rent" or "Share" with the monthly price.

๐Ÿงพ What does "Open each listing for full details" add?

The description, energy certificate letters and values, orientation, floor, heating, hot water, conservation state, building age, agency legal name and reference, and any video. It costs one extra request per listing. Switch it off for a faster pass over search cards only.

๐Ÿ”ข How many listings can one URL return?

Everything the search holds. Fotocasa serves 30 listings per page and the Actor walks every page until the search count is reached or your Max Items is hit.

โšก Why is the energy rating "Not Disclosed" on some rows?

Fotocasa marks many listings, most rentals in particular, as exempt or in process. The Actor reports that status in energyCertificate and leaves the letters as "Not Disclosed" rather than inventing a value.

๐Ÿ—บ Are the coordinates exact?

When isExactLocation is "Yes". Otherwise Fotocasa places the pin at the neighbourhood or street level, which the Actor passes through as is.

๐Ÿ›ก Do I need a proxy?

Yes, and it is switched on by default. Fotocasa blocks datacenter IP ranges and most non-European IPs with a 403 page, so the Actor uses Apify residential proxies with Spain as the country. Keep that setting unless you have your own Spanish proxies.

๐Ÿšฆ Why did I get an error row?

A row with an error field means a URL was not a Fotocasa search or listing URL, a listing was removed (404), or the site blocked the request even after retries. Data rows always have error set to null.

๐Ÿ“… Where does publishedAt come from?

From the timestamp Fotocasa embeds in each listing card and detail page, converted to ISO 8601 in UTC.

๐Ÿ“ค What export formats are supported?

CSV, Excel, JSON and XML from the Dataset tab, or any of them through the Apify API.

๐Ÿ”Œ Integrate with any app

Run the Actor from the Apify API, the JavaScript or Python client, the CLI, or through webhooks, and connect it to Make, Zapier, n8n, Google Sheets, Slack, Airbyte or your own code.

๐Ÿ”— Recommended Actors

๐Ÿ’ก Pro Tip: browse the complete ParseForge collection for more real estate and marketplace scrapers.

๐Ÿ†˜ Need Help? Open our contact form with your run ID, your input and what you expected.

โš ๏ธ Disclaimer: This Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by Fotocasa or Adevinta Spain, S.L.U. It collects only publicly available data. You are responsible for using the collected data in compliance with the source's terms of service and applicable data-protection laws, including GDPR. Do not use it to collect personal data unlawfully.

What input does the Fotocasa Spain Real Estate Scraper accept?

FieldTypeWhat it doesDefault
startUrls array One or more fotocasa.es URLs. Paste a search results page copied from your browser with every filter already applied (buy or rent, property type, city or district, price, rooms), for example https://www.fotocasa.es/es/comprar/viviendas/madrid-capital/todas-las-zonas/l. Single listing URLs ending in /d also work. Spanish, Catalan, English and German URLs are all accepted. [{"url":"https://www.fotocasa.es/es/comp
maxItems integer Free users: Limited to 10 items (preview). Paid users: Optional, max 1,000,000 10
includeDetails boolean On (default): one extra request per listing to collect the energy certificate, orientation, floor, heating, building age, agency legal name and reference. Off: faster and lighter, search-card fields only. true
sortBy string (6 options) Order in which Fotocasa returns the results. Useful with a low Max Items to grab only the newest or cheapest listings. not set
proxyConfiguration object Keep Apify residential proxies with country Spain enabled. Datacenter proxies and the automatic proxy group are blocked by Fotocasa. {"useApifyProxy":true,"apifyProxyGroups"

How much does the Fotocasa Spain Real Estate Scraper cost?

from $0.80 per 1,000 results

Charged forWhat it isPrice each
Property listing One Fotocasa listing delivered to the dataset, with search-card and listing-page fields. $0.0008 to $0.001

Tiered: the lower figure is the price on a higher Apify plan. Billing and the free credit live on Apify.

How do I call the Fotocasa Spain Real Estate Scraper API?

One POST returns the dataset directly. Same shape for every scraper in the library, so swapping the slug is the only change.

POST ยท run and get results
curl -X POST "https://api.apify.com/v2/acts/parseforge~fotocasa-spain-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "startUrls": [
      {
        "url": "https://www.fotocasa.es/es/comprar/viviendas/madrid-capital/todas-las-zonas/l"
      }
    ],
    "maxItems": 10,
    "includeDetails": true,
    "proxyConfiguration": {
      "useApifyProxy": true,
      "apifyProxyGroups": [
        "RESIDENTIAL"
      ],
      "apifyProxyCountry": "ES"
    }
  }'

What example inputs can I use?

Use these inputs to see how a run is configured.

input.json
{
  "startUrls": [
    {
      "url": "https://www.fotocasa.es/es/comprar/viviendas/madrid-capital/todas-las-zonas/l"
    }
  ],
  "maxItems": 10,
  "includeDetails": true,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "ES"
  }
}

What do users say about the Fotocasa Spain Real Estate Scraper?

No reviews yet. Be the first.

How do I report an issue with the Fotocasa Spain Real Estate Scraper?

We build and maintain this scraper, so a problem with it comes to us. Report it on the Apify listing and the thread stays attached to the scraper where the next person can find it: open an issue.

Broken and urgent, or you would rather not post in public? Write to parseforge@protonmail.com and it reaches the people who wrote it.

What related scrapers can I use?

Run Fotocasa Spain Real Estate Scraper on Apify All scrapers