Virgin Voyages Scraper - Complete Cruise Data Extractor avatar

Virgin Voyages Scraper - Complete Cruise Data Extractor

Pricing

from $1.50 / 1,000 results

Go to Apify Store
Virgin Voyages Scraper - Complete Cruise Data Extractor

Virgin Voyages Scraper - Complete Cruise Data Extractor

Virgin Voyages pricing API - 5 currencies (USD, GBP, AUD, CAD, EUR), per-person lead fares with the advertised original price, full day-by-day itineraries and booking links. No proxy needed. Ideal for OTAs, comparison sites and price analysts.

Pricing

from $1.50 / 1,000 results

Rating

0.0

(0)

Developer

Jeremy G

Jeremy G

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 hours ago

Last modified

Categories

Features

Limited permissions

Share

Virgin Voyages Scraper — Complete Cruise Data Extractor

Extract every Virgin Voyages sailing with its lead per-person price, dates, ship and full day-by-day itinerary in five currencies, and optionally every cabin class and grade with its own price. Built for travel agencies, price comparison sites, affiliate marketers and analysts.

Why Choose This Scraper?

  • ✅ 5 pricing markets — USD, GBP, AUD, CAD and EUR, each a complete catalog
  • ✅ Whole catalog per run — every listed sailing across all four ships, ~2 years out
  • ✅ Per-person pricing with the advertised original fare alongside the current one
  • ✅ Optional full cabin grid — all five cabin classes and every grade, with prices, availability, room sizes and photos
  • ✅ Full itinerary with day numbers on every sailing; optional sea-day-aware itinerary and canonical itinerary page link
  • ✅ No proxy required — a plain, direct connection works out of the box
  • ✅ Fast and cheap — a full market is a handful of requests and finishes in seconds

Use Cases

  • Travel agencies & OTAs — track Virgin Voyages fares and promotions daily
  • Affiliate / comparison sites — list the full Virgin inventory with deep links
  • Price analysts — follow fare curves and promotion cadence per sailing
  • Multi-currency monitoring — compare the same sailing across USD, GBP, AUD, CAD and EUR

Supported Markets

RegionOutput Currency
en_USUSD
en_GBGBP
en_AUAUD
en_CACAD
it_ITEUR

Virgin Voyages publishes one price list per currency; pick the currency you want to monitor with region.

Input

ParameterTypeDescriptionDefault
region*stringMarket / currency to scrapeen_US
maxRowsnumberMaximum sailings to return (1–5000)50
enrichDetailsbooleanItinerary links + sea days: each sailing's itinerary page link and a day-by-day itinerary that includes sea days (one extra request per sailing)false
enrichCabinsbooleanFull cabin grid: every cabin class and grade per sailing, with original prices, availability, room sizes and images (one extra request per sailing)false
proxyConfigurationobjectStandard Apify proxy settingsNo proxy
maxRequestRetriesnumberRetries for failed requests (Advanced)5
requestHandlerTimeoutSecsnumberRequest timeout in seconds (Advanced)60

Virgin Voyages needs no proxy: leave proxyConfiguration as it is for a direct connection. Set maxRows to 1000 to get the whole catalog.

Cabin Classes

Virgin Voyages sells five cabin classes. By default each sailing's record carries the lowest-priced class that day as a dynamic field, together with the exact cabin grade it came from. With enrichCabins: true every class is priced and every grade is listed:

KeyCabin class
INSIDERInsider (interior)
SEA_VIEWSea View (ocean view)
SEA_TERRACESea Terrace (balcony)
ROCKSTAR_SUITESRockStar Suites
MEGA_ROCKSTARMega RockStar suites

Without enrichCabins, only the cheapest class is observed per sailing; classes that are not the cheapest on a given day are not reported (they are not sold out — simply not the lead fare). With enrichCabins, each priced class gets price_{CURRENCY}_{CLASS} (per person), brochurePrice_{CURRENCY}_{CLASS} (the advertised original fare), grade_{CURRENCY}_{CLASS} (the cheapest grade), classification_{CURRENCY}_{CLASS} and availability_{CURRENCY}_{CLASS}, plus:

  • cabinClasses[] — per class: pricePerPerson, originalPerPerson, discountPerPerson, leadGrade, roomSize, maxOccupancy, image
  • cabinGrades[] — every grade (e.g. IZ, VW, TC, SS, SM): available, pricePerPerson, originalPerPerson, fareClass, roomSize, balconySize, maxOccupancy, image
  • cabinImages — one representative photo per class

Output

Each record is a single sailing with:

  • Sailing and itinerary identifiers (cruiseId, itineraryId)
  • Ship name and code, departure and arrival ports, duration (nights)
  • Departure and arrival dates
  • Lead per-person price with currency, the advertised original fare (originalPrice) and per-person taxes (taxAmount)
  • Ports of call with day numbers (portsList, portsOfCall); with enrichDetails, sea days are included as "At Sea"
  • Dynamic lead-cabin fields: price_{CURRENCY}_{CLASS}, classification_{CURRENCY}_{CLASS}, grade_{CURRENCY}_{CLASS}
  • source_url — booking planner link with the itinerary preselected; with enrichDetails, itineraryUrl adds the sailing's own itinerary page
  • platform, company, locale — for multi-market deduplication
  • tripType, classificationCodes (Virgin's promotion and theme tags such as 10%, WEEKEND, HOLIDAY), isAccessible, weekend
  • With enrichCabins: every cabin class and grade priced per person, with original prices, discounts, availability, room sizes and cabin photos (see Cabin Classes)

Sample Output

A real en_US record with enrichDetails and enrichCabins on (2026-10-23). portsList, cabinClasses and cabinGrades are cut to their first entries here; the full record has every port, all 5 classes and 23 grades.

{
"cruiseId": "SC2803117NSJRP",
"itineraryId": "7NSJRP",
"title": "Southern Caribbean Cruise",
"shipName": "Scarlet Lady",
"shipId": "SC",
"departurePort": { "name": "San Juan, Puerto Rico", "code": "SJU" },
"arrivalPort": { "name": "San Juan, Puerto Rico", "code": "SJU" },
"departureDate": "2028-03-11",
"arrivalDate": "2028-03-18",
"duration": "7",
"price": { "amount": "903", "currency": "USD" },
"originalPrice": "1268",
"taxAmount": "224",
"occupancy": 2,
"price_USD_INSIDER": "903",
"brochurePrice_USD_INSIDER": "1268",
"classification_USD_INSIDER": "Insider",
"grade_USD_INSIDER": "IZ",
"availability_USD_INSIDER": "available",
"cabinClassesPriced": 5,
"cabinClasses": [
{ "cabinClass": "INSIDER", "name": "Insider", "leadGrade": "IZ", "pricePerPerson": 903, "originalPerPerson": 1268, "discountPerPerson": 365, "roomSize": "105-177", "maxOccupancy": "1-4" }
],
"cabinGrades": [
{ "cabinClass": "INSIDER", "grade": "IN", "name": "The Insider", "available": true, "pricePerPerson": 1075, "originalPerPerson": 1532, "fareClass": "BASE", "roomSize": "177", "maxOccupancy": "4" }
],
"portsList": [
{ "portName": "San Juan, Puerto Rico", "dayIndicator": "1" },
{ "portName": "Charlotte Amalie, St. Thomas", "dayIndicator": "2" },
{ "portName": "At Sea", "dayIndicator": "3" }
],
"destinationNames": ["Caribbean"],
"classificationCodes": ["10%", "WEEKEND"],
"tripType": "Round trip",
"platform": "virgin-voyages-en_US",
"company": "virgin-voyages",
"locale": "en_US",
"currency": "USD",
"source_url": "https://www.virginvoyages.com/book/voyage-planner/find-a-voyage?sailors=2&selectedPackages=7NSJRP",
"itineraryUrl": "https://www.virginvoyages.com/itinerary/caribbean/7-night-southern-caribbean-cruise-on-11-mar-2028-from-san-juan"
}

Runtime & Cost

  • Typical run: under a minute for a full market; about 5 minutes with both enrichDetails and enrichCabins on (~400 sailings, two extra requests each)
  • Volume: a few hundred sailings per market (the complete live catalog)
  • Memory: 512 MB
  • Proxy: Not needed

Usage

{
"region": "en_GB",
"maxRows": 1000,
"enrichDetails": true,
"enrichCabins": true
}

Notes

  • All prices are per person, based on two adults sharing a cabin (occupancy: 2), and match the "per Sailor" fare shown on virginvoyages.com
  • Taxes and fees are not included in price; the per-person amount is reported separately in taxAmount
  • originalPrice is the fare Virgin advertises as the pre-promotion price for the same cabin
  • With enrichCabins, price is the cheapest cabin class the booking engine prices, which is what checkout charges. When Virgin reprices, its voyage search can show the previous fare for a few hours; that search value is kept in searchLeadPrice
  • One output record is produced per sailing (departure date), not per itinerary
  • Sailings without a price are skipped automatically
  • For affiliate tracking, append your affiliate parameters to source_url on the consuming side

Looking to build a full cruise pricing dataset? Pair this with:

Support

Issues or custom requests? Email support@track.cruises.