· 14 min read
Spotahome Mid-Term Rentals Scraper: 92 Cities Covered (2026)
Each record carries 37 output fields, including the exact address, coordinates, and full amenity list when you enable deep page crawling. This rental scraper extracts listings across 92 cities in Europe, the UAE, and Turkey, covering rooms, studios, apartments, and co-living residences. You get clean structural data with direct server-side filters for price, move-in dates, and security deposit terms. It is built for property platforms, relocation agencies, and market researchers who need structured rental inventories. It is not for teams looking to extract landlord phone numbers or email addresses, as Spotahome does not publish this contact information on its public pages.
Try it: open Spotahome Mid-Term Rentals Scraper on Apify, sign in on the free plan and run the prefilled example.
Can you try Spotahome Mid-Term Rentals Scraper before paying?
Yes. Apify's free plan includes $5.00 of prepaid usage every month and asks for no credit card. At $0.005 per result, that covers up to 1,000 results of Spotahome Mid-Term Rentals Scraper a month, before run-start charges and platform usage.
Spotahome Mid-Term Rentals Scraper was last updated on 2026-08-07. It is one of 1,725 Actors CrawlerBros publishes on Apify, which together have 680,173 lifetime public runs and an average rating of 4.63 out of 5 across 416 reviews.
What does it cost to run Spotahome Mid-Term Rentals Scraper?
Each result costs $0.005 on Apify's free plan, which is $5.00 per 1,000 results. Starting a run is charged separately at $0.005 per GB of Actor memory. Apify also bills the platform usage each run consumes, at the rates of your Apify plan, on top of these charges.
| Apify plan | Per result | Per 1,000 results |
|---|---|---|
| FREE | $0.005 | $5.00 |
| BRONZE | $0.00433 | $4.33 |
| SILVER | $0.00367 | $3.67 |
| GOLD | $0.003 | $3.00 |
| PLATINUM | $0.003 | $3.00 |
| DIAMOND | $0.003 | $3.00 |
The includeDetails parameter is the primary driver of execution speed, as enabling it requires the scraper to make an extra request for each listing page. To minimize costs, run your initial tests with includeDetails set to false and use a low maxItems cap of 10. This allows you to verify that your search filters work as expected before running a larger extraction.
How do you run Spotahome Mid-Term Rentals Scraper from the API?
The schema marks 2 of its 16 controls as required: mode, city. Every value in the payload below comes from the published schema's own prefills, which means you can paste it, swap the token, and get a real result.
Call the synchronous endpoint to start a run and receive dataset items in one request:
curl -X POST "https://api.apify.com/v2/acts/crawlerbros~spotahome-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"mode":"search","city":"barcelona","propertyType":"rooms"}'
The same run from Python, using the official client:
from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_TOKEN>")
run_input = {
"mode": "search",
"city": "barcelona",
"propertyType": "rooms"
}
run = client.actor("crawlerbros~spotahome-scraper").call(run_input=run_input)
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)
And from Node.js:
import { ApifyClient } from 'apify-client'
const client = new ApifyClient({ token: '<YOUR_APIFY_TOKEN>' })
const input = {
"mode": "search",
"city": "barcelona",
"propertyType": "rooms"
}
const run = await client.actor('crawlerbros~spotahome-scraper').call(input)
const { items } = await client.dataset(run.defaultDatasetId).listItems()
console.log(items)
That endpoint blocks until the run completes. Fine while you are testing a handful of records, risky once a run takes minutes: a dropped connection loses the response even though the run itself finished. Switch to an asynchronous start with polling or a webhook before you schedule anything.
Which Spotahome Mid-Term Rentals Scraper inputs matter, and which can you skip?
The mode and city inputs are the only two required fields out of the 16 available controls. Most users should start with the default search mode and leave optional filters like verifiedOnly or instantBooking alone during their first runs to avoid over-filtering their results.
mode(string): What to fetch. Default:"search".city(string): Which of Spotahome's 92 cities to browse. Default:"barcelona".propertyType(string): Type of accommodation to browse. Default:"all".bedrooms(string): Restrict apartment listings to a specific bedroom count. Only applies when propertyType=apartments. Default:"any".minPrice(integer): Only browse listings priced at or above this, in the selected city's local currency (EUR for most cities; GBP/CHF/DKK/SEK/CZK/HUF/PLN/TRY/AED for a few non-Eurozone cities - see README). Applied server-side on Spotahome's own search (not just a post-filter), so narrow ranges stay fast.maxPrice(integer): Only browse listings priced at or below this, in the selected city's local currency (EUR for most cities; GBP/CHF/DKK/SEK/CZK/HUF/PLN/TRY/AED for a few non-Eurozone cities - see README). Applied server-side on Spotahome's own search (not just a post-filter), so narrow ranges stay fast.bathrooms(string): Restrict results to listings with this exact bathroom count. Default:"any".moveInFrom(string): Only browse listings available to move into on or after this date (YYYY-MM-DD).moveInTo(string): Only browse listings available to move into on or before this date (YYYY-MM-DD).noDeposit(boolean): Only keep listings that don't require a security deposit. Default:false.instantBooking(boolean): Only keep listings that can be booked instantly (no landlord approval wait). Applied server-side on Spotahome's own search. Default:false.verifiedOnly(boolean): Only keep listings Spotahome has physically verified. Applied server-side on Spotahome's own search. Default:false.
The other 4 controls, with their defaults, are listed in the input schema on Spotahome Mid-Term Rentals Scraper on Apify.
Fixed-choice controls: mode accepts search (Browse / search listings), byUrls (Fetch specific listing URLs); city accepts 92 values (default barcelona), including barcelona, alicante, almeria (Almería), amsterdam; propertyType accepts all (All property types), rooms (shared flat), apartments (whole unit), studios, residences (co-living / student housing); bedrooms accepts any, 1 (1 bedroom), 2 (2 bedrooms), 3 (3 bedrooms), 3more (3+ bedrooms); bathrooms accepts any, 1 (1 bathroom), 2 (2 bathrooms), 3 (3+ bathrooms).
What does Spotahome Mid-Term Rentals Scraper return?
The resulting datasets are perfect for building rental comparison dashboards, tracking city-wide pricing trends, or sourcing corporate housing. However, the records do not contain direct owner phone numbers or external email addresses because all bookings go through Spotahome's platform.
id,title,description,propertyTypeprice,currencySymbol,currencyCode,priceValidUntil,isAvailableleaseMinMonths,leaseMaxMonthsaddressStreet,addressCity,addressPostalCode,addressCountry,cityName,countryNamelatitude,longitudebedrooms,bathrooms,floorSizeSqm,occupancyMin,occupancyMaxpetsAllowed,smokingAllowed,amenities[]rating,reviewCountavailableFrom,tags[](from the search card, e.g.CHECKED,BILLS INCLUDED,UP TO 5% OFF)imageUrl,imageUrls[],imageCountsourceUrl- the canonical Spotahome.com listing pagerecordType: "listing",scrapedAt
These are the documented fields. Optional ones can be empty on a given record, so measure how often each field your deliverable depends on is populated across a real sample before automating the handoff.
How do you build the workflow end to end?
Open Spotahome Mid-Term Rentals Scraper and work through these in order. Each step ends with something to check, so a bad configuration surfaces on a small run rather than a scheduled one.
- Select the appropriate value for the mode parameter, choosing search to browse the platform or byUrls to target specific property pages.
- Choose your target city using the city selector, which contains 92 options representing the covered markets across Europe, the UAE, and Turkey.
- Pick your housing category in the propertyType field, choosing from apartments, rooms, studios, or residences.
- Set the maxPrice and minPrice parameters to match your budget in the local currency of the selected city.
- Toggle the includeDetails boolean to true if you require complete structured data like exact GPS coordinates, full amenity lists, and landlord leasing rules.
- Set a safe boundary using the maxItems control to ensure your run does not extract more listings than your current database or platform budget requires.
- Run the scraper and monitor the dataset as it populates to verify that fields such as price, addressCity, and availableFrom are returning valid data.
How do you apply it? Three worked playbooks
These are Spotahome Mid-Term Rentals Scraper's own documented use cases, each worked through as an operating pattern rather than a description.
Use case 1: Relocation / expat housing search
Outcome: Pull all rooms or apartments in a target city into a spreadsheet
Configure: Set mode to "search", city to "berlin", propertyType to "apartments", maxPrice to 1500, includeDetails to true, and maxItems to 100.
Working method: Execute an initial run with a small maxItems cap to inspect the output layout. Once confirmed, expand the limit to extract a complete catalog of available units. Export the resulting dataset directly to CSV to build an interactive housing spreadsheet.
Deliverable: A spreadsheet containing detailed listings for the target city, including precise street addresses, monthly prices, bedroom counts, and direct booking links.
Stop condition: The execution returns zero items because the target city has no active inventory matching the strict pricing filters.
Use case 2: Market research
Outcome: Track mid-term rental prices across European cities
Configure: Set mode to "search", city to "madrid", propertyType to "rooms", and maxItems to 500.
Working method: Initiate multiple concurrent runs across different European capital cities using the city dropdown. Run these extractions at regular weekly intervals to capture pricing adjustments over time. Compare the median pricing structures across the geographic regions in your database.
Deliverable: A historical time-series dataset charting average room prices, security deposit requirements, and booking availability trends across multiple major cities.
Stop condition: The scraper returns outdated availability tags or mismatched currency symbols for the selected cities.
Use case 3: Content aggregation
Outcome: Feed a relocation or rental-comparison platform
Configure: Set mode to "search", city to "paris", propertyType to "studios", includeDetails to true, and maxItems to 1000.
Working method: Set up a recurring schedule on Apify to run every 24 hours. Map the output fields like amenities, floorSizeSqm, and imageUrls directly to your platform's ingestion API. Ensure duplicate listings are filtered out using the unique id field as a primary key.
Deliverable: A clean JSON payload containing up-to-date furnished studio data, complete with high-resolution photo galleries and verified structural features.
Stop condition: The ingestion pipeline encounters missing price details or failed listing page loads due to a change in the website's layout.
What breaks, and how do you design around it?
- Bedroom filtering is exact-count and apartments-only. Spotahome's own site only exposes a bedroom-count filter for the
apartmentsproperty type; rooms/studios/residences don't have a bedroom filter on the site itself. minPrice/maxPrice/bathrooms/moveInFrom/moveInTo/noDeposit/instantBooking/verifiedOnlyare real server-side filters applied directly on Spotahome's own search (not a client-side post-filter), so narrow ranges stay fast and don't need a highermaxItemsto find matches.minBedrooms(search mode) requiresincludeDetails=true. Bedroom counts for search-card results other than theapartmentsbedroom-count filter are only available from each listing's detail page.- Amenity/feature filtering isn't exposed. Spotahome's search supports an internal
features[]filter (wifi, elevator, balcony, etc.) but its full valid value list isn't part of any public API contract, so exposing it risked shipping silently-wrong values; the full amenity list is still available per-listing viaincludeDetails=true.
Spotahome's built-in bedroom filtering is restricted solely to the apartments property type. If you need bedroom counts for rooms or studios, you must set includeDetails to true so the scraper can navigate to individual pages and extract these numbers. For broader amenity filters, rely on post-filtering the amenities array in your own database since those values are not exposed in the server-side search schema.
When should you not use Spotahome Mid-Term Rentals Scraper?
Do not use this scraper if you need to aggregate listings from multiple booking platforms at once or require coverage outside of Spotahome's 92 supported cities. In those cases, you should use the Nestpick Scraper, which aggregates data from multiple sources including HousingAnywhere and Blueground across more than 3,000 locations. If you only need to compare listings specifically from HousingAnywhere, the HousingAnywhere Scraper is a more direct alternative. For focused US markets, you should use the RentHop NYC Apartment Rentals Scraper or the Furnished Finder Scraper instead, as Spotahome operates exclusively in Europe, Turkey, and the UAE.
What should you check before trusting the output?
- Check that latitude and longitude are not null or zero when includeDetails is enabled, ensuring map visualizations will render correctly.
- Verify that currencyCode matches the local currency of the city, especially when querying non-Eurozone markets such as London or Dubai.
- Ensure availableFrom contains a valid date in YYYY-MM-DD format to prevent scheduling or timeline errors in downstream systems.
- Confirm that the sourceUrl field contains a valid Spotahome canonical URL beginning with the official domain.
- Halt execution if more than ten percent of records return empty values for critical fields like price or propertyType.
None of this proves a record is correct. It gives a scheduled Spotahome Mid-Term Rentals Scraper run defined points where it should stop instead of quietly passing bad data downstream.
Frequently asked questions
How much does it cost to scrape 10,000 Spotahome results?
At the free-plan price of $0.005 per result, extracting 10,000 listings costs $50.00 in result charges. Keep in mind that Apify also bills for the platform usage consumed during the run, in addition to a run-start fee that applies each time an extraction begins. Paid Apify plans offer lower per-result rates.
Can I test the Spotahome Scraper for free before upgrading?
Yes. Apify provides a free tier that includes $5.00 of monthly usage with no credit card required. This is enough to cover up to 1,000 results from this Actor, allowing you to test your inputs and check the quality of the outputs before deciding to upgrade.
Are all listing prices on Spotahome returned in Euros?
No. While most cities use the Euro, the Actor returns prices in the city's local currency. For example, listings in London are priced in GBP, Zurich uses CHF, Copenhagen uses DKK, and Dubai returns AED. The currencyCode and currencySymbol fields in each record show the exact currency of the listing.
Does includeDetails slow down the scraping process?
Yes. Enabling includeDetails makes the run roughly twice as slow because the scraper has to fetch each listing's individual detail page to extract deep fields like amenities, coordinates, and exact addresses. Leave it off if you only need basic search card information like price and title.
Which property types can I extract from the platform?
The scraper supports four property types: rooms, apartments, studios, and student residences. You can choose to extract all of them together or filter your search by selecting a specific type using the propertyType input control.
Where to go next
When you are ready to run it, open Spotahome Mid-Term Rentals Scraper on Apify; the free plan covers up to 1,000 results a month.
Start with the Spotahome Mid-Term Rentals Scraper Actor page for the current input schema, pricing tier, and run history.
Other Actors we maintain for related data:
- Nestpick Scraper: Scrape furnished mid- to long-term rental listings from Nestpick - rooms, studios and apartments across 3000+ cities, aggregated from Spotahome, Blueground, HousingAnywhere and other providers.
- HousingAnywhere Scraper: Scrape HousingAnywhere.com mid- to long-term rental listings by city - rooms, studios and apartments with price, rating, availability and full listing details across 400+ cities worldwide.
- RentHop NYC Apartment Rentals Scraper: Scrape live New York City apartment rental listings from RentHop.com - price, bedrooms/bathrooms, neighborhood, zip code, coordinates, and photo, filterable by price range, bedroom count, and neighborhood.
- Furnished Finder Scraper: Extract furnished rental listings from FurnishedFinder.com by city and state.
Related guides:
- Nestpick Scraper: 3 Practical Use Cases
- Guide to Furnished Finder Data Extraction for Rental Markets
- Apartments.com Rental Scraper: Practical Use Cases and Guide
- PadMapper Scraper: 3 Practical Use Cases
- Fuel Prices Scraper: 16 Data Fields, Up to 2,500 Free Results/Month
- Bazaraki Cyprus Classifieds Scraper: 15 Categories Covered (2026)
Resources
Actor documentation, input schema, and pricing: verified against the published Actor on 2026-09-26.
Actor last updated by its maintainers on 2026-08-07.
Run outcome figures cover the 30 day public window ending 2026-09-26.
Featured actors
Spotahome Mid-Term Rentals Scraper
Scrape Spotahome.com - the mid/long-term furnished rental marketplace covering 92 cities across Europe, the UAE and Turkey. Search rooms, apartments, studios and residences by city, price, bedrooms and move-in date, or fetch specific listing URLs.
Run on Apify ↗