Discover/Holland2Stay API
live

Holland2Stay APIholland2stay.com

Access Holland2Stay rental property listings via API. Filter by city and availability, retrieve pricing, building details, and direct booking URLs for properties across the Netherlands.

Endpoint health
monitored
get_listing_detail
get_filters
get_listings
get_all_listings
0/4 passing latest checkself-healing
Endpoints
4
Updated
25d ago

What is the Holland2Stay API?

The Holland2Stay API covers 4 endpoints that expose rental property listings from holland2stay.com, including pricing, availability status, city, building name, and direct URLs. The get_listings endpoint supports pagination, city filtering by ID, and sorting by price or contract start date. A companion get_filters endpoint returns all valid filter IDs needed to drive those queries.

Try it
City filter ID (e.g., '24' for Amsterdam, '29' for Eindhoven, '6249' for Amersfoort). Get IDs from get_filters endpoint.
Page number (1-indexed).
Sort field. Accepted values: 'price', 'name', 'basic_rent', 'next_contract_startdate'. Omitting defaults to 'next_contract_startdate'.
Sort direction: 'ASC' or 'DESC'.
Number of listings per page (max 100).
Availability filter ID (e.g., '179' for Available to book, '336' for Available in lottery). Get IDs from get_filters endpoint.
api.parse.bot/scraper/8f5c9324-e3f0-44e2-b5b9-e0351eec1b50/<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/8f5c9324-e3f0-44e2-b5b9-e0351eec1b50/get_listings?page=1&sort_by=name&sort_dir=ASC&page_size=10&availability=179' \
  -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 holland2stay-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.

"""Walkthrough: Holland2Stay SDK — property rental listings in the Netherlands."""
from parse_apis.holland2stay_property_listings_api import Holland2Stay, Sort, SortDir, ListingNotFound

client = Holland2Stay()

# Browse available filter categories (cities, availability statuses, etc.)
for cat in client.filtercategories.list(limit=5):
    print(cat.attribute_code, cat.label, cat.count)

# Search available listings sorted by price ascending
for listing in client.listings.search(sort_by=Sort.PRICE, sort_dir=SortDir.ASC, availability="179", limit=5):
    print(listing.name, listing.city, listing.basic_rent, listing.currency)

# Drill into one listing's full detail (media gallery included)
first = client.listings.search(availability="179", limit=1).first()
if first:
    detail = client.listings.get(url_key=first.url_key)
    print(detail.name, detail.building_name, detail.total_rent, detail.energy_label)
    if detail.media_gallery:
        for img in detail.media_gallery[:2]:
            print(img.url, img.position)

# Typed error handling for a non-existent listing
try:
    client.listings.get(url_key="this-listing-does-not-exist-999")
except ListingNotFound as exc:
    print(f"Not found: {exc.url_key}")

print("exercised: filtercategories.list / listings.search / listings.get / ListingNotFound")
All endpoints · 4 totalmissing one? ·

Retrieve a paginated page of property listings from Holland2Stay. Returns listings with full location details, pricing, availability status, and direct booking URLs. Supports filtering by city and availability status, and sorting by price, name, basic rent, or next contract start date. Each page returns up to 100 items; use the pagination object to navigate through the full catalog of ~12,000 residences.

Input
ParamTypeDescription
citystringCity filter ID (e.g., '24' for Amsterdam, '29' for Eindhoven, '6249' for Amersfoort). Get IDs from get_filters endpoint.
pageintegerPage number (1-indexed).
sort_bystringSort field. Accepted values: 'price', 'name', 'basic_rent', 'next_contract_startdate'. Omitting defaults to 'next_contract_startdate'.
sort_dirstringSort direction: 'ASC' or 'DESC'.
page_sizeintegerNumber of listings per page (max 100).
availabilitystringAvailability filter ID (e.g., '179' for Available to book, '336' for Available in lottery). Get IDs from get_filters endpoint.
Response
{
  "type": "object",
  "fields": {
    "listings": "array of listing objects with name, sku, url, url_key, city, building_name, availability, pricing (basic_rent, total_rent, currency), bedrooms, finishing, living_area, floor, and more",
    "pagination": "object with current_page, page_size, total_pages, total_count, items_on_page"
  },
  "sample": {
    "data": {
      "listings": [
        {
          "sku": "r-cpe-87",
          "url": "https://www.holland2stay.com/residences/frederik-van-eedenplein-87.html",
          "city": "Eindhoven",
          "name": "Frederik van Eedenplein 87",
          "floor": "4",
          "url_key": "frederik-van-eedenplein-87",
          "bedrooms": "2",
          "currency": "EUR",
          "finishing": "Furnished",
          "inventory": 54,
          "basic_rent": 2198,
          "offer_text": null,
          "total_rent": 2549,
          "living_area": "123.97",
          "availability": "Available to book",
          "energy_label": "A++",
          "minimum_stay": "12 months",
          "building_name": "Cornelis Paradise",
          "contract_type": "Indefinite",
          "max_occupants": "Family (parents with children)",
          "resident_type": "Apartment",
          "offer_text_two": null,
          "service_charge": 250,
          "allowance_price": 0,
          "caretaker_costs": 12,
          "available_startdate": "2026-06-12 00:00:00",
          "energy_common_areas": 15,
          "price_analysis_text": "servicekosten, stoffering, meubilair, warmte, elektriciteit, internet & TV",
          "cleaning_common_areas": 20,
          "next_contract_startdate": "2026-06-12 00:00:00",
          "current_lottery_subscribers": null
        }
      ],
      "pagination": {
        "page_size": 3,
        "total_count": 12398,
        "total_pages": 4133,
        "current_page": 1,
        "items_on_page": 3
      }
    },
    "status": "success"
  }
}

About the Holland2Stay API

Endpoints and Data Coverage

The API exposes four endpoints. get_listings returns a paginated array of listing objects, each containing fields like name, sku, url, city, building_name, availability, and pricing details. Pagination is controlled via page, page_size (up to 100), and the response includes a pagination object with current_page, total_pages, total_count, and items_on_page. Sorting is available on price, name, basic_rent, and next_contract_startdate in either ASC or DESC direction.

Filtering

City and availability filters accept numeric ID strings — for example, '24' for Amsterdam or '179' for "Available to book". These IDs come from get_filters, which returns all filterable dimensions: city, available_to_book, building_name, finishing, no_of_rooms, resident_type, floor, and others, each with item counts. Always call get_filters first to get current IDs before constructing a filtered query.

Bulk Retrieval and Detail

get_all_listings iterates all pages automatically and returns a flat listings array alongside a total_count and items_retrieved count. The source has roughly 12,000 listings total, so use the max_pages parameter to cap how many pages are fetched when you only need a subset. For full property details including image galleries, call get_listing_detail with the url_key slug (e.g., 'victoriapark-881') obtained from any listing in get_listings. This endpoint adds image_url and a media_gallery array not present in the list responses.

Reliability & maintenance

The Holland2Stay API is a managed, monitored endpoint for holland2stay.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when holland2stay.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 holland2stay.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.

Latest check
0/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
  • Monitor newly available Amsterdam rentals by polling get_listings filtered to city ID '24' and availability ID '179'.
  • Build a price comparison dashboard across Dutch cities using basic_rent and city fields from get_all_listings.
  • Track lottery-eligible units by filtering get_listings with the availability ID for 'Available in lottery'.
  • Generate building-level availability reports by grouping listings on building_name using data from get_all_listings.
  • Populate a property detail page with photos using the media_gallery array from get_listing_detail.
  • Sync a CRM or alerting system with current rental inventory using total_count and pagination.total_pages for change detection.
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 Holland2Stay have an official developer API?+
Holland2Stay does not publish a public developer API or documented developer program. There is no API key signup or official API reference on their site.
How do I know which city or availability ID to pass as a filter?+
Call get_filters first. It returns all valid filter categories — including city and available_to_book — with their numeric ID strings and listing counts. Pass those IDs as the city or availability parameters in get_listings or get_all_listings.
What does `get_listing_detail` return that `get_listings` does not?+
get_listing_detail adds image_url and a media_gallery array to the standard listing fields. The list endpoints return no image data, so if you need photos you must call get_listing_detail per listing using the url_key from the list response.
Does the API expose tenant reviews, resident forum posts, or historical rent data?+
Not currently. The API covers current listing data: pricing, availability, location, building details, and images. Historical rent trends and resident reviews are not part of the response schema. You can fork this API on Parse and revise it to add endpoints targeting those data surfaces if they become available on the source site.
Are there any limitations when using `get_all_listings` to fetch all properties?+
Holland2Stay lists roughly 12,000 properties. Fetching all of them in one call without setting max_pages will result in a large number of sequential page fetches. Use max_pages to limit the request scope when you only need a city or availability subset, and combine it with the city and availability filters to reduce the result set before iterating.
Page content last updated . Spec covers 4 endpoints from holland2stay.com.
Related APIs in Real EstateSee all →
huislijn.nl API
Search and browse housing listings on huislijn.nl to find properties for sale, rental, or vacation stays, and view detailed information about specific homes. Get access to the newest listings posted on the platform to stay updated on available properties.
Pararius.nl API
Search and browse rental properties across the Netherlands from Pararius.nl, with filtering by city and detailed property information including pricing, location, and amenities. Access paginated listings to easily discover available rentals that match your needs.
pararius.com API
Search and browse rental property listings on Pararius.com. Filter by city, price, size, and furnishing; retrieve full property details; look up listings by estate agent; and autocomplete location queries.
funda.nl API
Search for property listings on Funda.nl, the largest Dutch real estate platform. Access prices, addresses, property details, and agent contact information across Dutch cities and neighbourhoods. Supports paginated browsing and bulk retrieval of listings by area.
spotahome.com API
Search rental properties on Spotahome and retrieve detailed listing information including pricing, availability, amenities, pet policy, and landlord profiles. Filter by city, budget, dates, and more to explore mid- to long-term rental options across Spotahome's global inventory.
jaap.nl API
Search and browse housing listings for sale or rent across the Netherlands with detailed property information including photos, characteristics, and agent details. Find homes by location using autocomplete suggestions and easily navigate through results with pagination.
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.
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.