Hipcamp Scraper icon

Hipcamp Scraper

Scrape Hipcamp campgrounds, RV parks, glamping and unique stays by US or AU region or listing link: price per night, rating, reviews, host, amenities,…

Start using this actor on Apify ↗Need a custom scraper?Contact us ↗

Hipcamp Scraper at a glance

Hipcamp Scraper is a ready-to-run Apify actor from abotapi for collecting web data. Its documented output includes kind, recordid, listingid, maskedid and url, which you can export as JSON, CSV or Excel or read through the Apify API. It costs $1.80 per 1,000 results on the Apify Free plan and from $1.00 on paid plans, with smaller per-run or optional feature charges listed on Apify.

Runs on
Apify cloud: console, API, schedules and integrations
Data type
Web data
Pricing
$1.80 per 1,000 results (Free plan), from $1.00 on paid plans
Output
Documented below · JSON, CSV, Excel
Inputs
18 options

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.

What Hipcamp Scraper can do

  • Two ways to find listings. Search by region (US states, Puerto Rico, Australian states and territories) or paste Hipcamp listing links directly.
  • Deep catalogue walk. Each region returns its front-page highlights first, then keeps reading further into that region's full listing catalogue until your record budget is reached.
  • Full-detail reads on demand. Switch on full-detail reads for front-page listings, or read any linked listing in full: host, amenities, terrain, activities, stay policies and the per-site price list.
  • Real marketplace signals. Price per night, recommend percentage and count, bookings and favorites counts, campsites and accommodation types on every record.
  • Availability monitoring. Scheduled runs classify every listing as NEW, UPDATED, UNCHANGED, REAPPEARED or EXPIRED, with state you can name or share across a monitoring campaign.
  • MCP connector export. Send results into Notion and other connectors you already use, without changing the dataset.

Choose what to collect

These inputs let you configure Hipcamp Scraper - Campgrounds, RV Parks & Glamping. Open the actor on Apify to enter your values and review the current options.

Supported input fields
InputWhat it controls
modestring · requiredSearch reads listings across one or more regions (US states, Australian states and territories). URL mode reads the exact listings you name.

Choices: search, url

regionsarraySearch mode: one or more regions by name or slug. United States: all 50 states plus Puerto Rico. Australia: all states and territories. Example: california, new south wales, texas, tasmania. See the README for the full list.
categorystringSearch mode: narrow each region to one Hipcamp sub-category page. Pets, glamping, RV, cabins, beach, lake or treehouse return that page's front-page listings (about 20 per region; the deep catalogue walk applies to All only). Not every region has every sub-category; one that does not exist is reported and skipped. Ignored in URL mode.

Choices: all, pets, glamping, rv, cabins, beach, lake, treehouse

listingInputsarrayURL mode: Hipcamp links. Accepts listing links (with or without the locale prefix, query parameters ignored), region, city and category pages (/d/...), and per-region listing sitemaps (/sitemaps/v2/us-lands-ca.xml.gz). Left untouched, URL mode reads one example of each distinct scope (the pre-filled list also shows the ?page?sort, locale-less and query-parameter variants, which resolve to a scope already in the default). Multi-value supported.
urlsarrayAlias for Listing links, accepted under the name other Apify actors use for URL mode (startUrls is accepted too, as plain links or {url} objects).
startUrlsarrayAlias for Listing links, accepted under the name used by other Apify scrapers (plain links).
maxItemsintegerStop after this many records (0 = no limit; the run then stops when the regions' catalogues are exhausted).
Show 11 more inputs
More input fields
InputWhat it controls
maxReviewsPerListingintegerCamper reviews included on each fully-read listing (reviewer, date, text, positive flag, site). 0 turns reviews off. A listing page carries at most its first 30 reviews, so no listing returns more than 30 (see totalReviews for the site's count). Every started block of 10 delivered reviews adds one Detail enrichment event.
fetchDetailsbooleanOff by default: front-page tiles already carry price, rating, photos and coordinates. Turn on to also read every front-page listing's detail page (host, amenities, sites, policies). Each read adds one Detail enrichment event.
resumeFromRunIdstringPaste a previous run ID or dataset ID to continue a large pull without returning listings already collected there.
incrementalModebooleanTurn this on for daily or recurring monitoring. The first run returns every matching listing as NEW. Later runs normally return only NEW, UPDATED and REAPPEARED listings. A listing counts as UPDATED when any returned field changes (price, availability, per-site data, photos, host, amenities and so on). The engagement counters favoritesCount, bookingsCount and recommendsCount are still returned but never make a listing UPDATED; you can exclude more fields below. Turn on Emit unchanged or Emit expired only when you also want those rows returned (and billed). State is kept separately for each search, filter and lookup setup; use State key to name or deliberately share a monitoring campaign.
stateKeystringOptional. Name this monitoring campaign to keep its state stable, or deliberately share state across differently configured runs. Leave empty to let the actor derive a key automatically from the search and filter settings.
emitUnchangedbooleanOff by default. Turn on to also return listings that have not changed since the last run, marked UNCHANGED. This returns, and bills, extra rows you already have.
emitExpiredbooleanOff by default. Turn on to also return listings that were present in a previous run but are no longer found, marked EXPIRED. Only produced once a run has fully scanned the tracked search.
ignoreFieldsForChangesarrayOutput field names that should NOT make a listing count as UPDATED, in addition to the always-ignored favoritesCount, bookingsCount and recommendsCount. A name is ignored wherever it appears, including inside the per-site list. Ignored fields are still returned in the output.
mcpConnectorsarrayOptionally send results into the apps you already use, via Model Context Protocol (MCP) connectors. Authorize one under Apify, Settings, API & Integrations, then select it here. Notion gets a rich page-per-item export; other connectors get a best-effort write or digest. Leave empty to skip; never changes the dataset output.
notionParentPageUrlstringURL or id of the Notion page under which listing pages are created. Required to enable the Notion export; ignored by other connectors.
maxNotifyListingsintegerCap on listings written to each connector per run. Does not affect the dataset.

Fields in the output

The documented dataset includes the fields below. Availability can depend on the source page and selected mode.

kindkind
recordIdrecordId
listingIdlistingId
maskedIdmaskedId
urlurl
titletitle
pricePerNightpricePerNight
basePricePerNightbasePricePerNight
totalPricePerNighttotalPricePerNight
currencycurrency
recommendsPercentagerecommendsPercentage
recommendsCountrecommendsCount
Show 49 more fields
bookingsCountbookingsCount
favoritesCountfavoritesCount
campsitesCountcampsitesCount
landCategorylandCategory
accommodationTypesaccommodationTypes
isStarHostisStarHost
summarysummary
imageUrlimageUrl
detailLoadeddetailLoaded
streetAddressstreetAddress
postalCodepostalCode
cityNamecityName
countyNamecountyName
stateNamestateName
stateAbbrvNamestateAbbrvName
countryCodecountryCode
countryNamecountryName
latitudelatitude
longitudelongitude
overviewoverview
subheadersubheader
hostNamehostName
hostAvatarUrlhostAvatarUrl
hostJoinedAthostJoinedAt
hostResponseRatehostResponseRate
hostResponseTimehostResponseTime
coreAmenitiescoreAmenities
basicAmenitiesbasicAmenities
rvAmenitiesrvAmenities
activitiesactivities
terrainterrain
acreageacreage
tentCounttentCount
rvCountrvCount
structureCountstructureCount
maxSiteCapacitymaxSiteCapacity
isBookableisBookable
statusstatus
maxBookingWindowMonthsmaxBookingWindowMonths
stayPoliciesstayPolicies
sitessites
reviewsreviews
totalReviewstotalReviews
positiveReviewspositiveReviews
reviewsViewablereviewsViewable
changeTypechangeType
changedFieldschangedFields
firstSeenAtfirstSeenAt
lastSeenAtlastSeenAt

Example output

An example from this actor’s documentation. Values are illustrative; this is not a fresh live result.

{
  "kind": "listing",
  "recordId": "100001",
  "listingId": "100001",
  "maskedId": "nfx7ha01",
  "url": "https://example.com/en-US/land/pine-ridge-example-camp-nfx7ha01",
  "title": "Pine Ridge Example Camp",
  "pricePerNight": 42,
  "basePricePerNight": 50,
  "currency": "USD",
  "recommendsPercentage": 92,
  "recommendsCount": 240,
  "bookingsCount": 850,
  "favoritesCount": 14,
  "campsitesCount": 4,
  "landCategory": "ranch",
  "accommodationTypes": [
    "tent",
    "rv"
  ],
  "cityName": "Exampleville",
  "countyName": "Example County",
  "stateName": "California",
  "stateAbbrvName": "CA",
  "countryCode": "US",
  "latitude": 38,
  "longitude": -120,
  "imageUrl": "https://example.com/images/pine-ridge-cover.jpg",
  "detailLoaded": true,
  "hostName": "Jane D.",
  "hostJoinedAt": "2026-01-01T00:00:00.000Z",
  "hostResponseRate": 95,
  "hostResponseTime": "within a day",
  "coreAmenities": [
    "fire",
    "pets",
    "toilet",
    "trash"
  ],
  "basicAmenities": [
    "picnic-table",
    "wifi"
  ],
  "terrain": [
    "river"
  ],
  "activities": [
    "fishing",
    "hiking"
  ],
  "acreage": 12,
  "stayPolicies": [
    "No open fires during fire season"
  ],
  "sites": [
    {
      "siteId": "000501",
      "name": "Example Meadow",
      "accommodationType": "tents",
      "pricePerNight": 42,
      "capacity": 4,
      "isInstantBookable": true
    }
  ],
  "raw": {},
  "rawDetail": {},
  "changeType": "NEW",
  "changedFields": [],
  "firstSeenAt": "2026-01-01T00:00:00.000Z",
  "lastSeenAt": "2026-01-01T00:00:00.000Z"
}

Ways to use this data

  • Camping and outdoor travel apps: feed campgrounds, RV parks and glamping sites with price, rating and location into your own search or booking tool.
  • Outdoor recreation and travel media: build state-by-state guides to campgrounds and unique stays with photos, amenities and coordinates.
  • Market and competitive research: compare price per night, booking counts and favorites across regions or accommodation types.
  • Availability and price monitoring: watch a set of regions or specific listings on a schedule and get only what is new, changed or gone.
  • Rural land and hospitality research: study acreage, terrain, activities and amenities data by state or territory.

Before you run

Start with a small input and check the resulting records against your expected fields. Source content and actor options can change; the current Apify listing is the reference for availability and pricing.

Questions about this actor

What data does Hipcamp Scraper return?

The documented output for Hipcamp Scraper includes kind, recordid, listingid, maskedid, url, title, pricepernight and basepricepernight. Availability of each field depends on the source page and the selected mode.

How much does Hipcamp Scraper cost?

It costs $1.80 per 1,000 results on the Apify Free plan and from $1.00 on paid plans, with smaller per-run or optional feature charges listed on Apify. The Apify listing shows the current rate for every plan.

Can I get only new or changed listings on a schedule?

Yes. Schedule the actor from the Schedules tab and turn on Incremental mode. Each run then returns only new, updated, reappeared and (optionally) expired listings, and unchanged ones are not billed unless you turn that on too.

Does Max items cap listings marked EXPIRED?

No, not currently. A run that completes a full scan of its tracked scope pushes every tracked listing no longer found as EXPIRED, regardless of Max items. On a large, long-running monitoring campaign this can push far more rows than Max items suggests in the one run where the gone listings are detected. See the tip under "Resume and recurring updates" for the current workaround.

Why did my run fail instead of returning an empty dataset?

If the site refuses every request, the run stops with a clear message so "no listings in this region" is never confused with "nothing could be read". Run it again in a few minutes. If only some regions or listings could be read, you still get what was found.

Can I use it with AI agents or MCP?

Yes. Call it from any Apify integration or MCP client, and use the connector field to push results into Notion, Linear or Airtable.

Ready to collect with Hipcamp Scraper?

Run it on Apify with your own input and export the results as JSON, CSV or Excel.