Fotocasa Property Listing Scraper avatar

Fotocasa Property Listing Scraper

Pricing

$40.00 / 1,000 property detail results

Go to Apify Store
Fotocasa Property Listing Scraper

Fotocasa Property Listing Scraper

Scrape complete property details from Fotocasa listing URLs.

Pricing

$40.00 / 1,000 property detail results

Rating

0.0

(0)

Developer

Crab Walker

Crab Walker

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Categories

Share

Fotocasa Property Actors

This project contains two independently runnable Apify Actors with output contracts matching the existing Idealista actors:

  • The root Actor, Fotocasa Listing Scraper, extracts normalized property details from listing-detail URLs.
  • actors/fotocasa-search-analysis, Fotocasa Search Market Analysis, extracts result cards from filtered search URLs and calculates price-per-m² summaries.

Both Actors read Fotocasa's server-rendered #__initial_props__ JSON first and retain page-level fallbacks. They use lightweight HTTP crawling, low concurrency, retries, sessions, and request delays. Detail pages use a Spanish residential proxy by default for reliability; search pages use low-cost direct requests.

Listing-detail input

{
"startUrls": [
{ "url": "https://www.fotocasa.es/es/comprar/vivienda/malaga-capital/aire-acondicionado-calefaccion-ascensor-no-amueblado/190110735/d" }
],
"maxConcurrency": 1,
"requestDelaySecs": 2,
"includeContactDetails": false,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"],
"apifyProxyCountry": "ES"
}
}

Each dataset row includes listing ID, URL, title, price, operation, property type, description, location, coordinates, surface, rooms, bedrooms, bathrooms, floor, features, images, energy ratings, optional advertiser contact fields, and scrape time.

Search-analysis input

{
"startUrls": [
{ "url": "https://www.fotocasa.es/es/comprar/viviendas/malaga-capital/all-zones/l" }
],
"maxPages": 5,
"maxItems": 100,
"maxConcurrency": 1,
"requestDelaySecs": 2
}

The dataset contains one row per unique property. SUMMARY in the default key-value store groups sale, rent, and unknown operations and reports average, median, minimum, maximum, and weighted price per m². Rent figures are monthly when the advertised price is monthly.

Local validation

Run these commands independently from the root Actor and the search Actor directory:

npm install
npm test
npm run build

Keep concurrency low. Fotocasa can return an interruption page; the Actors treat that response as retryable so Crawlee can rotate sessions and proxies.