Discover/Spotahome API
live

Spotahome APIspotahome.com

Search Spotahome rental listings by city, budget, and dates. Get full property details, availability windows, and landlord profiles via 4 structured endpoints.

Endpoint health
verified 5h ago
get_listing_availability
search_listings
get_listing_details
get_landlord_details
1/4 passing latest checkself-healing
Endpoints
4
Updated
22d ago

What is the Spotahome API?

The Spotahome API exposes 4 endpoints for querying mid- to long-term rental listings across Spotahome's global inventory. Use search_listings to filter properties by city, budget range, and move-in/move-out dates, then pull full property details, availability windows, and landlord scoring with the remaining endpoints. Each search result returns fields including displayPrice, billsIncluded, firstAvailable, and a direct listing URL.

Try it
City slug (e.g. 'madrid', 'barcelona', 'berlin')
Page number for pagination (1-based)
Move-in date in YYYY-MM-DD format
Move-out date in YYYY-MM-DD format
Maximum monthly rent budget in EUR
Minimum monthly rent budget in EUR
Filter for pet-friendly listings (client-side text filter on title/description)
api.parse.bot/scraper/ec24583a-0d83-444d-aa39-af95b486f69e/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/ec24583a-0d83-444d-aa39-af95b486f69e/search_listings?city=madrid&page=1&move_in=2026-08-07&move_out=2026-10-06&max_budget=2000&min_budget=500&pets_friendly=false' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace spotahome-com-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

from parse_apis.spotahome_api import Spotahome, City

client = Spotahome()

# Search for affordable listings in Madrid
for listing in client.listings.search(city=City.MADRID, min_budget=500, max_budget=1500):
    print(listing.title, listing.display_price, listing.currency_iso_code)
    print(listing.location.street, listing.location.city)

    # Get availability details
    avail = listing.availability.get()
    print(avail.available_from, avail.min_stay, avail.cancellation_policy)

    # Get landlord profile
    landlord = listing.landlord.get()
    print(landlord.name, landlord.listings_published, landlord.average_response_time)

    break
All endpoints · 4 totalmissing one? ·

Search for rental listings by city with optional budget, date, and pet-friendliness filters. Returns paginated results with listing summaries including price, location, and landlord scoring. Pagination via the page parameter; each page returns up to 60 listings from the city's total.

Input
ParamTypeDescription
citystringCity slug (e.g. 'madrid', 'barcelona', 'berlin')
pageintegerPage number for pagination (1-based)
move_instringMove-in date in YYYY-MM-DD format
move_outstringMove-out date in YYYY-MM-DD format
max_budgetintegerMaximum monthly rent budget in EUR
min_budgetintegerMinimum monthly rent budget in EUR
pets_friendlybooleanFilter for pet-friendly listings (client-side text filter on title/description)
Response
{
  "type": "object",
  "fields": {
    "page": "integer current page number",
    "total": "integer total number of matching listings",
    "listings": "array of listing summary objects with id, title, description, type, url, displayPrice, billsIncluded, mainPhotoUrl, firstAvailableDate, currencyIsoCode, location, reviews, landlordScoring"
  },
  "sample": {
    "data": {
      "page": 1,
      "total": 11607,
      "listings": [
        {
          "id": "1071621",
          "url": "/madrid/for-rent:apartments/1071621",
          "type": "apartment",
          "title": "Apartment for rent in Almendrales, Madrid",
          "reviews": {
            "ratingAverage": null
          },
          "location": {
            "city": "Madrid",
            "coord": [
              -3.69285,
              40.38697
            ],
            "street": "123 Main St",
            "postalCode": "28045"
          },
          "description": "Looking for your next home in Madrid?...",
          "displayPrice": "1380",
          "mainPhotoUrl": "https://photos.spotahome.com/smww_768_verified_ur_6_50/acd5ff0cda3c7299e5f2de4167d0c8e5e41cd1713a536f3a8034f198.jpg",
          "billsIncluded": "none",
          "currencyIsoCode": "EUR",
          "landlordScoring": {
            "score": 500,
            "totalBookingsClosed": 41
          },
          "firstAvailableDate": "2026-06-10T00:00:00+0000"
        }
      ]
    },
    "status": "success"
  }
}

About the Spotahome API

Search and Filter Listings

The search_listings endpoint accepts a city slug (e.g. madrid, berlin, barcelona), optional date range via move_in and move_out (YYYY-MM-DD), and budget bounds via min_budget and max_budget in EUR. Results are paginated; the response includes page, total, and a listings array. Each summary object carries id, title, type, displayPrice, billsIncluded, mainPhotoUrl, and firstAvailable — enough to render a listing card without a second call.

Property Details and Availability

get_listing_details takes a numeric listing_id from search results and returns a full property object covering pricing, features, photos, rules, and statistics, alongside a landlord sub-object and city_info metadata. To check booking terms specifically, get_listing_availability returns min_stay, max_stay, available_from, an instant_booking object (with isEnabled and rules), and a cancellation_policy string — all scoped to that listing.

Landlord Profiles

get_landlord_details surfaces the landlord's name, type (e.g. private), scoring (including score and totalBookingsClosed), years_with_us, first_listing_date, listings_published, and average_response_time. These fields are useful for comparing host reliability across multiple listings before deeper integration. The landlord_id field can serve as a stable cross-reference if you're tracking a host's portfolio over time.

Reliability & maintenanceVerified

The Spotahome API is a managed, monitored endpoint for spotahome.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when spotahome.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official spotahome.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
5h ago
Latest check
1/4 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Build a rental search tool that filters Spotahome listings by city, move-in date, and monthly budget.
  • Compare bills-included vs. bills-excluded pricing across cities using the billsIncluded and displayPrice fields.
  • Flag listings with instant booking enabled using the instant_booking.isEnabled field from get_listing_availability.
  • Score and rank landlords by totalBookingsClosed and average_response_time when aggregating listings.
  • Monitor pet-friendly listing availability in a target city using the pets_friendly filter in search_listings.
  • Track minimum and maximum stay requirements across listings to match tenant constraints against min_stay and max_stay.
  • Aggregate landlord portfolio size by combining listings_published and years_with_us from get_landlord_details.
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min

One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does Spotahome have an official public developer API?+
Spotahome does not publish a public developer API or documented partner integration surface for third-party developers.
What does `search_listings` return beyond price and title?+
Each listing summary includes id, title, description, type, url, displayPrice, billsIncluded, mainPhotoUrl, and firstAvailable. The total field tells you the full count of matching listings regardless of the current page, which is useful for estimating pagination depth.
Does the API expose neighborhood-level or map coordinate data for listings?+
Not currently. The search results and detail endpoints return city-level metadata via city_info but do not expose latitude/longitude coordinates or sub-neighborhood labels. You can fork the API on Parse and revise it to add a geographic fields endpoint if precise location data is needed.
Are tenant reviews or per-listing ratings accessible through these endpoints?+
Not currently. The API exposes landlord-level scoring via get_landlord_details (including score and totalBookingsClosed) but does not surface individual tenant reviews or per-listing review text. You can fork the API on Parse and revise it to add a reviews endpoint.
How does pagination work in `search_listings`?+
Pass an integer page parameter to step through results. The response always includes a total count of matching listings, so you can calculate the number of pages needed. There is no cursor-based pagination; pages are sequential integers starting from 1.
Page content last updated . Spec covers 4 endpoints from spotahome.com.
Related APIs in Real EstateSee all →
spareroom.co.uk API
Browse SpareRoom UK flatshare listings by city with prices, locations, images, and listing links, and fetch a curated list of top flatsharing cities.
airbnb.pt API
Search for rental listings in any location, view detailed information about properties including availability and guest reviews. Browse hundreds of accommodations to find the perfect place that fits your travel needs and budget.
otodom.pl API
Search and browse real estate listings from Otodom.pl by property type, location, price, and area, then retrieve full listing details including descriptions and seller contact information. Filter results across different markets to find properties that match your specific criteria.
housing.com API
Search and retrieve real estate listings on Housing.com. Browse properties for sale, rent, plots, and commercial spaces across major Indian cities with filtering by locality and property type.
airbnb.com API
Search Airbnb stays by destination and dates, then retrieve listing details, availability calendars, and recent guest reviews for a specific listing.
airbnb.es API
Search Airbnb listings across multiple cities and retrieve detailed information about properties and hosts, including availability, pricing, and reviews. Access comprehensive rental data to compare accommodations and make informed booking decisions.
amberstudent.com API
Search student accommodation listings across popular cities and access comprehensive property information including room types, pricing trends, and tenant reviews. Get detailed insights into student housing options to compare amenities, prices, and community feedback all in one place.
rentals.ca API
Search and browse rental listings across Canada by city or neighbourhood, and view detailed property information including prices, amenities, and availability. Find your next home by filtering thousands of rental properties on Rentals.ca in real-time.