Princess Scraper - Complete Cruise Data Extractor
Pricing
from $1.00 / 1,000 results
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.
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
| Region | Market | Output Currency |
|---|---|---|
en_US | United States | USD |
en_GB | United Kingdom | GBP |
en_AU | Australia | AUD |
ja_JP | Japan | JPY |
it_IT | Italy | EUR |
de_DE | Germany | EUR |
EU pricing is uniform across the Eurozone, so
it_ITandde_DEserve as the EUR representatives.
Input
| Parameter | Type | Description | Default |
|---|---|---|---|
region* | string | Market to scrape (en_US, en_GB, en_AU, ja_JP, it_IT, de_DE) | en_US |
maxRows | number | Maximum cruise results (1–3000) | 500 |
maxRequestRetries | number | Retries for failed requests (1–10) | 5 |
requestHandlerTimeoutSecs | number | Request timeout in seconds (10–300) | 30 |
useApifyProxy | boolean | Use Apify Residential proxy | false |
proxyUrl | string | Custom proxy URL (http://user:pass@host:port) | — |
apifyProxyGroups | string[] | Apify proxy groups | ["RESIDENTIAL"] |
apifyProxyCountryCode | string | Override proxy country (e.g., US, GB) | Auto |
useSessionPool | boolean | Session pool for automatic proxy rotation on errors | true |
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 Type | Example Codes |
|---|---|
| Interior | IB, IC, ID, IE, IF |
| Oceanview | O3, OC, OV, OW, OZ |
| Balcony | BB, BC, BD, D4, DC (Deluxe Balcony) |
| Mini-Suite | M1, MB, MC, C1 (Club Class Mini-Suite) |
| Suite | S0, 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) andduration - Lowest available per-person
pricewithamountandcurrency - 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 trackingplatform,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_urlon the consuming side
Related Actors
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.