Headout Scraper avatar

Headout Scraper

Pricing

from $3.00 / 1,000 results

Go to Apify Store
Headout Scraper

Headout Scraper

Scrape Headout - the global marketplace for tours, attractions, shows, day trips and water activities. Search by keyword, browse by city or category, fetch by URL, and get full experience details: prices, ratings, reviews, meeting points, highlights, inclusions and images.

Pricing

from $3.00 / 1,000 results

Rating

0.0

(0)

Developer

Crawler Bros

Crawler Bros

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

21 days ago

Last modified

Share

Scrape Headout — the global marketplace for tours, attractions, shows, day trips and water activities across 20+ cities. Search by keyword, browse by city or category, fetch by URL, and get full experience details: prices per person, ratings, review counts, meeting points, highlights, inclusions, supported languages, and image galleries. HTTP-only via the public Headout JSON API. No auth, no proxy required.

What this actor does

  • Four modes: search, browseByCity, browseByCategory, byUrl
  • 20 cities (Dubai, London, New York, Paris, Barcelona, Singapore, Rome, …)
  • 15 categories (attractions, tours, shows, food & drink, cruises, water sports, …)
  • Filters: price range, min rating, language, currency, sort order
  • Optional reviews: emit per-experience review records
  • Empty fields are omitted

Data Source

Headout (headout.com) — the global marketplace for tours, attractions, shows, day trips and water activities across 20+ cities. The actor reads the public Headout JSON API (api-ho.headout.com) that powers the website. HTTP-only, no auth, no proxy required; a proxy is engaged automatically only if direct access gets blocked.

Output per experience

  • experienceId, title
  • cityCode, city, category, subCategory
  • durationMin, durationMaxMin
  • pricePerPerson, currency, priceType
  • rating, reviewCount, ratingSplit
  • descriptors — duration, cancellation, guided-tour flags
  • highlights[], summary, included[], excluded[], knowBeforeYouGo
  • meetingPoint — address and coordinates
  • languages[] — languages the experience is offered in
  • images[] — CDN image gallery
  • promotionLabel, tourType, availableFrom, availableUntil
  • cancellable, cancellationCutoffHours, reschedulable, rescheduleCutoffHours — booking policy
  • startLatitude/startLongitude, endLatitude/endLongitude — meeting / end coordinates
  • nextAvailableDate, availability — next bookable date and availability state
  • isCombo — combo-experience flag
  • topReviews[] — up to 2 inline review samples
  • sourceUrl — canonical Headout experience page
  • recordType: "experience", scrapedAt

Output per review (when includeReviews is on)

  • reviewId, experienceId, rating, content, sourceLanguage
  • reviewerName, reviewedAt, persona, reviewerImageUrl
  • sourceUrl, recordType: "review", scrapedAt

Input

FieldTypeDefaultDescription
modestringsearchsearch / browseByCity / browseByCategory / byUrl
searchQuerystringeiffel towerFree-text keyword (mode=search)
cityenumPARIS20 curated cities
categoryenum15 categories (mode=browseByCategory)
experienceUrlsarrayExperience URLs or IDs (mode=byUrl)
minPriceintMin price per person in selected currency
maxPriceintMax price per person in selected currency
minRatingnumberMin rating (1–5)
currencyenumUSDISO 4217 currency (20 options)
languageenumenLocalization language (17 options)
sortTypeenumPOPULARITYPOPULARITY / TRENDING / RECOMMENDED
sortOrderenumASCASC / DESC (browse modes)
includeReviewsboolfalseEmit review records
reviewsPerExperienceint10Review cap per experience
maxItemsint50Hard cap (1–1000)

Example: search Paris experiences

{
"mode": "search",
"searchQuery": "eiffel tower",
"city": "PARIS",
"currency": "EUR",
"minRating": 4,
"maxItems": 20
}

Example: browse everything in a city

{
"mode": "browseByCity",
"city": "LONDON",
"sortType": "TRENDING",
"maxItems": 100
}

Example: category browse with price filter

{
"mode": "browseByCategory",
"city": "DUBAI",
"category": "shows",
"minPrice": 30,
"maxPrice": 150,
"maxItems": 50
}

Example: fetch by URL with reviews

{
"mode": "byUrl",
"experienceUrls": [
"https://www.headout.com/dubai-lifestyle-and-entertainment/60-min-guided-tour-of-dubai-opera-house-e-9780/"
],
"includeReviews": true,
"reviewsPerExperience": 15
}

Limitations

  • meetingPoint address is detail-only — Headout exposes a full address on the detail endpoint; browse listings carry coordinates only. In byUrl mode the address is included when Headout provides it.
  • Reviews are opt-in and cappedincludeReviews emits review records, capped at reviewsPerExperience (default 10) per experience and maxItems overall.
  • Prices and availability are per currency and live — prices are per person in the selected currency; availability windows and prices reflect Headout at scrape time.
  • Coverage is limited to Headout's catalog — 20 curated cities and 15 categories; experiences outside Headout's inventory are not reachable.
  • Empty fields are omitted — e.g. experiences without an exclusions list simply don't emit excluded.

Use cases

  • Travel price intelligence — track experience pricing across cities and categories
  • Itinerary builders — pull structured activity data for trip-planning products
  • OTA / tour aggregation — feed a competitor marketplace with Headout's catalog
  • Content marketing — enrich destination guides with real tours, ratings and highlights
  • Review analytics — sentiment and rating distribution per attraction or operator
  • Event discovery — shows, concerts and food tours per city with live availability

FAQ

What is the data source? The public Headout JSON API (api-ho.headout.com) that powers the Headout website. No login, cookies or proxy are required.

Are there rate limits? None documented for normal scraping. The actor paces requests politely and retries on 429/5xx with backoff. A proxy is used automatically only if direct access gets blocked.

What do the record types mean? experience records are full tour/attraction details. review records (opt-in) are individual customer reviews with ratings and text.

Why are some experiences missing a meetingPoint address? Headout only exposes a full address on the detail endpoint; browse listings carry coordinates only. In byUrl mode the address is included when Headout provides it.

What is pricePerPerson? The final (discounted) per-person price in the currency you selected. priceType is typically PER_PERSON.

Why are some fields missing on some records? Empty fields are omitted entirely — e.g. experiences without an exclusions list simply don't emit excluded. Prices, ratings and images are always present when Headout has them.

How fresh is the data? Live — every run queries the Headout API in real time, including prices, availability windows and ratings.

Is this affiliated with Headout? No — this is a third-party actor using the public Headout API and website.