Princess Scraper - Complete Cruise Data Extractor avatar

Princess Scraper - Complete Cruise Data Extractor

Pricing

from $1.00 / 1,000 results

Go to Apify Store
Princess Scraper - Complete Cruise Data Extractor

Princess Scraper - Complete Cruise Data Extractor

Princess Cruises pricing API - 9 markets (US, UK, Australia, Japan, plus Italy, Germany, Austria, France & Netherlands) each in local currency (USD/GBP/AUD/JPY/EUR). Cabin-level prices AND live availability counts for every category: Interior, Oceanview, Balcony, Mini-Suite, Suite.

Pricing

from $1.00 / 1,000 results

Rating

5.0

(1)

Developer

Jeremy G

Jeremy G

Maintained by Community

Actor stats

2

Bookmarked

19

Total users

6

Monthly active users

10 days ago

Last modified

Categories

Share

Princess Cruises Scraper — Complete Cruise Data Extractor

Extract cruise listings, itineraries, and cabin-level pricing from Princess Cruises across 6 international markets, each in its local currency. Built for travel agencies, price comparison sites, affiliate marketers, and analysts.

Why Choose This Scraper?

  • ✅ Extract from 6 Princess Cruises markets (US, UK, Australia, Japan, Italy, Germany) with local-currency pricing
  • ✅ Complete cruise data with cabin-level pricing across available priced cabin categories (Interior, Oceanview, Balcony, Mini-Suite, Suite)
  • Per-sailing records — one row per departure date, with departure/arrival ports, dates, and duration
  • Ports of call with day numbers on every sailing
  • Direct source URLs on every sailing — ready for affiliate monetization
  • ✅ Availability status and per-cabin availability signals

Updates

  • 2026-07-24 — New markets added: Italy (it_IT) and Germany (de_DE), both EUR.
  • 2026-06-11 — New market added: Japan (ja_JP, JPY).

Use Cases

  • Travel agencies & OTAs — track Princess pricing against competitors daily
  • Affiliate/comparison sites — populate Princess inventory with deep-links
  • Price analysts — monitor Princess fare curves for forecasting
  • Internal benchmarking — cruise lines comparing against Princess positioning

Supported Markets

RegionMarketOutput Currency
en_USUnited StatesUSD
en_GBUnited KingdomGBP
en_AUAustraliaAUD
ja_JPJapanJPY
it_ITItalyEUR
de_DEGermanyEUR

EU pricing is uniform across the Eurozone, so it_IT and de_DE serve as the EUR representatives.

Input

ParameterTypeDescriptionDefault
region*stringMarket to scrape (en_US, en_GB, en_AU, ja_JP, it_IT, de_DE)en_US
maxRowsnumberMaximum cruise results (1–3000)500
maxRequestRetriesnumberRetries for failed requests (1–10)5
requestHandlerTimeoutSecsnumberRequest timeout in seconds (10–300)30
useApifyProxybooleanUse Apify Residential proxyfalse
proxyUrlstringCustom proxy URL (http://user:pass@host:port)
apifyProxyGroupsstring[]Apify proxy groups["RESIDENTIAL"]
apifyProxyCountryCodestringOverride proxy country (e.g., US, GB)Auto
useSessionPoolbooleanSession pool for automatic proxy rotation on errorstrue

Cabin Codes

Princess uses 39+ raw cabin-category codes, which the scraper groups into five standard cabin types. Per-cabin price fields carry the raw category code (e.g., price_USD_IB).

Cabin TypeExample Codes
InteriorIB, IC, ID, IE, IF
OceanviewO3, OC, OV, OW, OZ
BalconyBB, BC, BD, D4, DC (Deluxe Balcony)
Mini-SuiteM1, MB, MC, C1 (Club Class Mini-Suite)
SuiteS0, S2, S4, S5, S6

Output

Each record is a single sailing with:

  • Cruise and itinerary identifiers (cruiseId, itineraryId)
  • Ship name (shipName), departure and arrival ports (name + code)
  • Departure and arrival dates in ISO format (departureDate, arrivalDate) and duration
  • Lowest available per-person price with amount and currency
  • Ports of call with day numbers (portsList[].portName, portsList[].dayIndicator)
  • Dynamic per-cabin price fields: price_{CURRENCY}_{CABINCODE} (e.g., price_USD_IB, price_USD_BB)
  • Per-cabin availability signals (availability_*, availableCabins_*)
  • Availability status (availabilityStatus)
  • source_url — direct link to the sailing page for deep-linking / affiliate tracking
  • platform, company, locale — for multi-market deduplication

Sample Output

{
"cruiseId": "V612",
"itineraryId": "MEDGEM7",
"company": "princess",
"locale": "en_US",
"platform": "princess-en_US",
"title": "7-Day Mediterranean",
"shipName": "Sun Princess",
"departureDate": "2026-09-12",
"arrivalDate": "2026-09-19",
"duration": "7",
"price": { "amount": "1099", "currency": "USD" },
"price_USD_IB": "1099",
"price_USD_OV": "1349",
"price_USD_BB": "1699",
"price_USD_MB": "2049",
"price_USD_S4": "3899",
"portsList": [
{ "portName": "Barcelona", "dayIndicator": "1" },
{ "portName": "Marseille", "dayIndicator": "2" },
{ "portName": "Naples", "dayIndicator": "4" },
{ "portName": "Rome (Civitavecchia)", "dayIndicator": "7" }
],
"availabilityStatus": "Available",
"currency": "USD",
"source_url": "https://www.princess.com/itinerary-details/?voyageCode=V612"
}

Runtime & Cost

  • Typical run: a few minutes for 500 rows
  • Larger sweeps: scale with maxRows (up to 3000)
  • Memory: default is sufficient for typical runs
  • Proxy: optional; set useApifyProxy: true (Residential) if you hit request errors

Usage

{
"region": "en_US",
"maxRows": 200,
"useApifyProxy": true
}

Notes

  • Princess prices are per-person, double-occupancy
  • One record is emitted per sailing (departure date)
  • EU markets (it_IT, de_DE) return uniform Eurozone fares in EUR
  • 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:

  • Royal Caribbean Scraper — 6 markets, per-cabin pricing
  • Norwegian (NCL) Scraper — 10 markets, enrichable details
  • Celebrity Cruises Scraper — 8 markets, service charges included
  • Carnival Cruises Scraper — 2 markets, high volume
  • MSC / Costa / Disney / Holland America Scrapers — full coverage

Support

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