Hipcamp Scraper - Campgrounds, RV Parks & Glamping
Pricing
from $1.00 / 1,000 listing records
Hipcamp Scraper - Campgrounds, RV Parks & Glamping
Scrape Hipcamp campgrounds, RV parks, glamping and unique stays by US or AU region or listing link: price per night, rating, reviews, host, amenities, sites, photos, coordinates. Incremental monitoring, resume, MCP export.
Pricing
from $1.00 / 1,000 listing records
Rating
0.0
(0)
Developer
Abot API
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Scrape Hipcamp (hipcamp.com), the camping and glamping marketplace ("Airbnb for camping"), across every US state and Australian state or territory. The actor returns campgrounds, RV parks, glamping sites and unique stays with price per night, rating signal, host details, amenities, sites, photos and coordinates. It also monitors listings across runs (NEW, UPDATED, REAPPEARED, EXPIRED), resumes interrupted pulls, and pipes results into your apps through MCP connectors.
Why This Scraper?
- Real marketplace data: price per night, recommend percentage and counts, booking and favorites counts, campsites, land category, accommodation types and photos in one record.
- Full-detail reads on demand: host name and avatar, response rate, street address, description, core/basic/RV amenities, activities, terrain, stay policies and the per-site price list.
- Region search with a deep walk: every region returns its front-page highlights first, then continues through the region's whole catalogue until your record budget is reached.
- URL mode: paste any listing link for a direct full-detail read.
- Availability monitoring: scheduled runs classify every listing as NEW, UPDATED, UNCHANGED, REAPPEARED or EXPIRED, with per-campaign state you can name or share.
- MCP connector export: send results to Notion and other connectors without changing the dataset.
- Structured failures: a blocked or broken run fails loudly with a clear message instead of returning an empty dataset.
Data You Get
Sample shape: values are illustrative placeholders, not from a live listing.
| Field | Example value |
|---|---|
| kind | listing |
| recordId / listingId | 000000 |
| maskedId | xx000000 |
| url | https://example.com/en-US/land/pine-ridge-example-camp-xx000000 |
| title | Pine Ridge Example Camp |
| pricePerNight | 42.0 |
| basePricePerNight | 50.0 |
| currency | USD |
| recommendsPercentage / recommendsCount | 92 / 240 |
| bookingsCount / favoritesCount | 850 / 14 |
| campsitesCount | 4 |
| accommodationTypes | ["tent", "rv"] |
| cityName / stateName / countryCode | Exampleville / California / US |
| latitude / longitude | 38.0 / -120.0 |
| imageUrl | https://example.com/images/... |
| detailLoaded | true |
| hostName / hostJoinedAt | Jane D. / 2026-01-01T00:00:00.000Z |
| coreAmenities / basicAmenities | ["fire", "pets", "toilet", "trash"] / ["picnic-table", "wifi"] |
| terrain / activities | ["river"] / ["fishing", "hiking"] |
| acreage | 12.0 |
| sites | [{"siteId": "000001", "name": "Example Meadow", "pricePerNight": 42.0, ...}] |
| changeType | NEW |
| firstSeenAt / lastSeenAt | 2026-01-01T00:00:00.000Z |
Front-page tiles carry the tile fields and detailLoaded: false; listings
read in full (URL mode, the deep walk, or the detail toggle) add the host,
address, amenities, terrain, activities, policies, per-site price list and
detailLoaded: true. Hipcamp's public rating signal is a recommend
percentage plus count (per listing and per site); individual review texts
are not part of the listing surface this actor reads. Every record also
carries the full upstream objects (raw, rawDetail), so no upstream field is
ever dropped.
How to Use
Zero setup: the source serves its catalogue openly, so paste one or more
regions (for example california, new south wales, texas) and run. No
account is needed. Supported regions: all 50 US states plus Puerto Rico
(alabama ... wyoming), and all Australian states and territories (
new south walesvictoria, queensland, western australia, south australiatasmania, northern territory, australian capital territoryInput Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
| mode | select | search | search (regions) or url (listing links) |
| regions | list | california | Region names, slugs or region page URLs (search mode) |
| listingInputs | array | empty | Listing links or /en-US/land/... paths (url mode) |
| urls | array | empty | Alias for listingInputs, accepted under the usual Apify URL-mode name |
| fetchDetails | boolean | false | Also read full detail for front-page tiles (adds the Detail enrichment event per read) |
| maxItems | integer | 20 | Stop after this many records (0 = no limit) |
| resumeFromRunId | string | empty | Continue one interrupted run, skipping collected ids |
| incrementalMode | boolean | false | Recurring monitoring with change detection |
| stateKey | string | empty | Name a monitoring campaign (incremental mode) |
| emitUnchanged | boolean | false | Also return UNCHANGED rows (returns and bills extra rows) |
| emitExpired | boolean | false | Also return EXPIRED rows after a complete scan |
| mcpConnectors | array | empty | Optional MCP connector export |
| notionParentPageUrl | string | empty | Notion parent page for the Notion connector |
| maxNotifyListings | integer | 50 | Cap per connector per run |
| proxyConfiguration | object | proxy on | Standard Apify proxy settings |
Filters apply to search mode only; URL mode reads the listings you name directly. Cost shape: a region's front page is one request for about 20 tiles; listings beyond it (and every URL-mode read) need one request per listing, and each of those reads adds one Detail enrichment event. A run whose detail reads fail systemically stops the deep walk and ships the front-page tiles instead of grinding through the region.
Output Example
Sample shape: values are illustrative placeholders, not from a live listing.
{"kind": "listing","recordId": "000000","listingId": "000000","maskedId": "xx000000","url": "https://example.com/en-US/land/pine-ridge-example-camp-xx000000","title": "Pine Ridge Example Camp","pricePerNight": 42.0,"basePricePerNight": 50.0,"currency": "USD","recommendsPercentage": 92,"recommendsCount": 240,"bookingsCount": 850,"campsitesCount": 4,"cityName": "Exampleville","stateName": "California","stateAbbrvName": "CA","countryCode": "US","latitude": 38.0,"longitude": -120.0,"detailLoaded": true,"hostName": "Jane D.","coreAmenities": ["fire", "pets", "toilet", "trash"],"basicAmenities": ["picnic-table", "wifi"],"terrain": ["river"],"sites": [{"siteId": "000001","name": "Example Meadow","accommodationType": "tents","pricePerNight": 42.0,"capacity": 4,"isInstantBookable": true}],"raw": { "full upstream listing object" },"changeType": "NEW","changedFields": [],"firstSeenAt": "2026-01-01T00:00:00.000Z","lastSeenAt": "2026-01-01T00:00:00.000Z"}
Send results into your apps (MCP connectors)
Optionally pipe the scraped results into the apps you already use, via Model Context Protocol (MCP) connectors. This is an extra delivery step after the scrape: the Apify dataset is never changed.
What gets written to the connector: a condensed, human-readable summary of each record, not the full JSON. Each item becomes one entry with a title (the listing's name) and its key fields flattened to plain text (price per night, location, recommends percentage, URL, ...). Nested objects are collapsed to their main value and long lists are trimmed to the first few names. The complete, full-fidelity record always stays in the Apify dataset; the connector copy is a readable digest for browsing in your app.
- Notion -> one page per item (title + a summary body), created under
the page you set in
notionParentPageUrl. - Linear / Airtable / other -> one record/issue per item with the same title + fields.
How to enable:
- Authorize a connector once under Apify -> Settings -> API & Integrations (Notion, Linear, Airtable, or Apify).
- Select it in the "Pipe results into your apps" input field
(
mcpConnectors). (If the picker is empty, you haven't authorized a connector yet.) - For Notion, also set
notionParentPageUrlto the page where items should be created. - Optionally cap each connector's writes per run with
maxNotifyListings(default 50).
The connection is mediated by Apify's MCP proxy, so this actor never sees your third-party credentials. Leave the field empty to skip: the export only runs when a connector is selected.
Plan Requirement and Terms Note
The actor uses the Apify proxy with automatic exit rotation; run it on any plan that includes proxy access. The source is a public marketplace: the actor reads the same pages a browser reads, and automated reading may sit outside the source's terms of use, so keep volumes reasonable and respect the source's terms.