hipcamp.com APIhipcamp.com ↗
Search Hipcamp campgrounds by coordinates, retrieve site availability and pricing, read reviews, and access amenity details via a structured JSON API.
curl -X GET 'https://api.parse.bot/scraper/6b7d0eb2-8854-4b04-a162-5892bab0642f/search_campgrounds?lat=36.7783&lng=-119.4179&limit=20&adults=2' \ -H 'X-API-Key: $PARSE_API_KEY'
Search for campgrounds by coordinates. Returns a paginated list of land listings with pricing and ratings. Both lat and lng are required to perform a search.
| Param | Type | Description |
|---|---|---|
| latrequired | number | Latitude for coordinate-based search (e.g. 37.7749) |
| lngrequired | number | Longitude for coordinate-based search (e.g. -122.4194) |
| limit | integer | Max results to return per page |
| query | string | Optional keyword to refine the coordinate search (e.g. a destination or location name) |
| adults | integer | Number of adults |
| offset | integer | Pagination offset |
{
"type": "object",
"fields": {
"edges": "array of campground result objects, each with node (campground details) and pricePerNight",
"total": "integer total number of matching campgrounds"
},
"sample": {
"data": {
"edges": [
{
"node": {
"id": "36257",
"url": "/en-US/land/california-meadow-camping-in-bolinas-9mxh8mxy",
"name": "Meadow camping in Bolinas",
"uuid": "5705566c-d271-4f0a-8485-8df48fc6fe7f",
"cityName": "Bolinas",
"maskedId": "9mxh8mxy",
"coordinate": {
"latitude": 37.91336,
"longitude": -122.697799
},
"bookingsCount": 1054,
"stateAbbrvName": "CA",
"recommendsCount": 607,
"isInstantBookable": true,
"recommendsPercentage": 98
},
"pricePerNight": {
"format": "$66.00",
"minorAmount": 6600
}
}
],
"total": 723
},
"status": "success"
}
}About the hipcamp.com API
The Hipcamp API covers 4 endpoints for querying campground listings, site availability, and visitor reviews from Hipcamp.com. Use search_campgrounds to find listings by latitude and longitude with optional keyword filtering, then drill into individual properties via get_campground_details for host info, amenities, and full descriptions. Response objects return fields like pricePerNight, responseRate, coreAmenities, and highlight headers.
Search and Discovery
The search_campgrounds endpoint accepts lat and lng as required inputs and returns a paginated edges array of campground result objects. Each node includes pricing and ratings data alongside a maskedId you can pass into the other endpoints. Use offset and limit to page through results, and the optional query parameter to narrow results by keyword within the coordinate area. The total field tells you the full count of matching listings so you can build pagination logic accurately.
Campground Details and Amenities
get_campground_details accepts either a numeric land_id or a masked ID slug and returns a rich object covering the property's fullName, cityName, stateName, overview text, and highlights (an edges array with header and subheader per highlight). Host metadata includes firstNameLastInitial, avatarUrl, responseRate, and responseTime. Amenities are split into coreAmenities and basicAmenities, each an array of objects carrying name, description, slug, and iconName.
Site Availability and Reviews
get_campground_sites returns individual bookable sites within a property. Pass arrive and depart as YYYY-MM-DD strings along with guest counts (adults, children, pets) to get back site-level isAvailable, pricePerNight, totalPrice, and serviceFee. The node inside each site edge contains the site name and accommodation details.
get_campground_reviews returns reviewer-contributed tips with description, recommend, authorDisplayName, authorAvatarUrl, and formattedCreatedAt. It uses cursor-based pagination: the pageInfo object in each response contains hasNextPage and endCursor, and you pass the endCursor value as the after parameter in the next request to walk through all reviews. totalCount gives the full review count for a listing.
- Build a campground search map that plots listings by coordinates using pricePerNight and ratings data.
- Aggregate amenity profiles across multiple campgrounds by comparing coreAmenities and basicAmenities slugs.
- Check site availability for specific arrival and departure dates before linking users to a booking flow.
- Display host response rates and response times to help users evaluate campground reliability.
- Scrape visitor reviews with recommend flags to train a sentiment classifier on outdoor accommodation feedback.
- Generate campground comparison pages using fullName, overview, highlights, and per-night pricing.
- Track how totalPrice and serviceFee vary across sites within the same campground for cost analysis.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 250 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.
Does Hipcamp have an official public developer API?+
What does search_campgrounds return, and how do I paginate through results?+
edges array of campground nodes with pricing and rating data, plus a total integer for the full result count. Use the limit and offset parameters to step through pages — for example, set offset to limit * page_number for each subsequent request.Can I retrieve photo galleries or image URLs for a campground or its individual sites?+
avatarUrl for the host and authorAvatarUrl for reviewers, but campground and site photo galleries are not exposed as structured fields. You can fork this API on Parse and revise it to add an image-focused endpoint.How does cursor-based pagination work in get_campground_reviews?+
pageInfo object with hasNextPage (boolean) and endCursor (a Base64-encoded string). When hasNextPage is true, pass the endCursor value as the after parameter in your next request to fetch the following page of reviews.Does the API expose campground geographic coordinates, map bounds, or distance from search origin?+
search_campgrounds endpoint accepts coordinates as input but the documented response fields focus on pricing, ratings, and identifiers rather than returning lat/lng per result. Explicit coordinate fields per listing are not currently in the response schema. You can fork this API on Parse and revise it to surface those fields if they appear in the raw response.