Riparide APIriparide.com ↗
Access Riparide accommodation listings via API. Search by country, state, and region to retrieve property type, pricing, amenities, capacity, and listing URLs.
What is the Riparide API?
The Riparide API provides 2 endpoints to query outdoor and unique accommodation listings from riparide.com. The search_listings endpoint returns up to 24 properties per call with name, location, price per night, property type, guest capacity, amenities, and a direct listing URL. A second endpoint, get_bucket_list, retrieves all saved properties from any public Riparide bucket list by its share ID.
curl -X GET 'https://api.parse.bot/scraper/110608c3-4d8c-4bfe-882b-cce1db09e314/search_listings?limit=3&state=OR&country=US' \ -H 'X-API-Key: $PARSE_API_KEY'
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 riparide-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: Riparide SDK — search listings and fetch a bucket list."""
from parse_apis.riparide_com_api import Riparide, InputNotFound
client = Riparide()
# Search Oregon listings with a small page size.
page = client.listings.search(country="US", state="OR", page_size=3)
print(f"{page.total_count} total listings in OR; got {page.returned_count}")
for listing in page.listings:
weekend = f" (weekend ${listing.weekend_price})" if listing.weekend_price else ""
print(
f" {listing.name} — {listing.location} | "
f"${listing.price_per_night}/night{weekend} | "
f"{listing.property_type}, sleeps {listing.guest_capacity}"
)
print(f" {listing.bedrooms}BR / {listing.beds} beds / {listing.bathrooms}BA")
print(f" amenities: {', '.join(listing.amenities[:5])}")
print(f" reviews: {listing.review_count} ({listing.review_score})")
print(f" {listing.url}")
# Fetch a public bucket list by its share ID.
try:
bucket = client.bucket_lists.get(share_id="EPnRLi0YqP2B")
except InputNotFound as e:
print("Bucket list not found:", e.message)
raise
print(f"\nBucket list '{bucket.title}' — {bucket.total_count} saved listings")
for listing in bucket.listings[:3]:
print(f" {listing.name} — {listing.city}, ${listing.price_per_night}/night")
print("\nexercised: listings.search / bucket_lists.get")
Search accommodation listings by country and state, optionally filtered by region. Returns up to 24 listings per call from the first page of search results; the site does not expose server-side pagination beyond this window. Each listing is enriched with property type and amenities from the detail API, so response time scales with the requested limit. The total_count field reports the full number of matching listings on the site.
| Param | Type | Description |
|---|---|---|
| limit | integer | Maximum number of listings to return, between 1 and 24. Each listing requires one enrichment request, so higher limits increase response time. |
| state | string | State or territory code within the selected country (e.g. 'OR' for Oregon, 'VIC' for Victoria). |
| region | string | Optional region slug to narrow results within a state (e.g. 'central-oregon', 'willamette-valley'). Available region slugs vary by state and appear in search filter defaults on the site. |
| country | string | Country code. The site operates in the US and Australia. |
{
"type": "object",
"fields": {
"listings": "array of listing objects with name, location, price, property type, capacity, amenities, and URL",
"total_count": "total number of matching listings on the site for this search",
"returned_count": "number of listings returned in this response"
},
"sample": {
"data": {
"listings": [
{
"id": "9439",
"url": "https://www.riparide.com/listings/9439-the-dome-hobbit-home-wine-country-hiking",
"beds": 2,
"city": "Eugene",
"name": "The Dome - Hobbit Home - Wine Country & Hiking",
"bedrooms": 1,
"currency": "USD",
"latitude": 43.9389091,
"location": "Eugene, OR",
"amenities": [
"Air conditioning",
"Heating",
"Hot tub",
"Kitchen",
"Outdoor fireplace",
"Power",
"Shower",
"Toilet",
"Towels & bed linen",
"WiFi"
],
"bathrooms": 1,
"longitude": -123.212766,
"story_url": "https://www.riparide.com/stories/1470-romantic-couples-stay-in-a-hobbit-dome",
"story_title": "Romantic Couples Stay in a Hobbit Dome",
"instant_book": false,
"review_count": 3,
"review_score": "1.0",
"property_type": "Eco house",
"weekend_price": null,
"guest_capacity": 4,
"price_per_night": 250
}
],
"total_count": 67,
"returned_count": 1
},
"status": "success"
}
}About the Riparide API
Search Listings by Location
The search_listings endpoint accepts a country code (US or Australia), an optional state or territory code such as OR for Oregon or VIC for Victoria, and an optional region slug like central-oregon to narrow results further. Each response includes a listings array with fields for property name, location, price_per_night, currency, property_type, guest capacity, amenities, and the direct listing url. The total_count field shows how many matching properties exist on the site, while returned_count reflects what was returned. Results are limited to a maximum of 24 per call; server-side pagination beyond the first page is not available.
Bucket List Retrieval
The get_bucket_list endpoint fetches a public Riparide bucket list using its share_id — the alphanumeric code found in the bucket list's public URL path (e.g. EPnRLi0YqP2B). The response includes the bucket list title, a total_count of items, and a full listings array with the same enriched property fields: id, name, city, state, region, country, property_type, price_per_night, currency, weekend_price (where available), and amenities.
Coverage and Limitations
Riparide operates in the US and Australia. The limit parameter on search_listings controls how many listings are returned (1–24), but each listing involves an enrichment step, so lower limits return faster. Only the first page of search results is accessible; there is no way to offset into deeper pages. Private bucket lists are not accessible — only those with a public share URL work with get_bucket_list.
The Riparide API is a managed, monitored endpoint for riparide.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when riparide.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 riparide.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.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Map available glamping and unique stays across Oregon or Victoria by looping
regionslugs throughsearch_listings. - Build a trip-planning tool that displays
price_per_night,capacity, andamenitiesside-by-side for comparison. - Monitor pricing changes for a specific region by periodically calling
search_listingswith a fixedstateandregion. - Export a curated Riparide bucket list to a spreadsheet by fetching it with
get_bucket_listusing itsshare_id. - Filter US or Australian accommodation inventory by
property_typeto surface only cabins, treehouses, or similar categories. - Populate a travel recommendation engine with
location,weekend_price, andamenitiesdata from Riparide listings.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 200 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
| Team | $300/mo | 20,000 | 300 req/min |
| Company | $1,000/mo | 100,000 | 500 req/min |
Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Riparide have an official developer API?+
What does the search_listings endpoint return, and can I paginate through all results?+
total_count field shows how many listings match on the site, but the API does not support offsetting into later pages — only the first 24 results are accessible per query.Can I retrieve listings from countries other than the US and Australia?+
country parameter is limited to the US and Australia, which mirrors where Riparide operates. You can fork this API on Parse and revise it to add support for additional countries if Riparide expands its coverage.Does the API return availability or date-based pricing?+
price_per_night and weekend_price where available, but does not expose availability calendars or pricing for specific date ranges. You can fork this API on Parse and revise it to add an endpoint targeting date-specific availability if that data becomes accessible.What is required to fetch a bucket list, and do private bucket lists work?+
get_bucket_list endpoint requires the share_id from a public bucket list URL — the alphanumeric code in the path like /bucket-lists/EPnRLi0YqP2B. Private or unshared bucket lists are not accessible; the endpoint only works with publicly shared ones.