SYSTEM all green source ncl.com queue 12,943 voyages p99 latency 184ms dataflirt.com · scraper/ncl-com
RUN · 42 active pipelines · ncl.com live

NCL cruise data,
at warehouse scale.

We extract cruise itineraries, stateroom pricing, ship deployments, shore excursions, and Free at Sea promotions from ncl.com. Delivered as clean JSON, CSV, or Parquet to S3, BigQuery, or Snowflake on your cadence.

Itineraries extracted
8,492 /day
Price updates
114K /24h
Ship records
19 /run
Active pipelines
42
Uptime
99.94%
Data Dictionary

Every field we extract from ncl.com

Structured, schema-consistent data across all major object types — delivered clean, typed, and ready to query.

Complete list of extractable fields for Itineraries & Sailings objects from ncl.com. All fields typed and schema-versioned.

voyage_idship_namedestinationembarkation_portdisembarkation_portduration_dayssail_datereturn_dateports_of_callitinerary_url
itineraries_& sailings
● 200 OK
"voyage_id": "7-DAY-ALASKA",
"ship_name": "Norwegian Encore",
"destination": "Alaska",
"embarkation_port": "Seattle",
"duration_days": 7,
"sail_date": "2024-08-15"
# voyage_idship_namedestinationembarkation_portdisembarkation_portduration_days
1
2
3

Complete list of extractable fields for Stateroom Pricing objects from ncl.com. All fields typed and schema-versioned.

voyage_idsail_datecurrencyinside_priceoceanview_pricebalcony_priceclub_balcony_pricethe_haven_pricesolo_room_pricetax_and_feesgratuities
stateroom_pricing
● 200 OK
"voyage_id": "7-DAY-ALASKA",
"inside_price": 899.0,
"balcony_price": 1499.0,
"the_haven_price": 4599.0,
"currency": "USD",
"tax_and_fees": 245.5
# voyage_idsail_datecurrencyinside_priceoceanview_pricebalcony_price
1
2
3

Complete list of extractable fields for Promotions & Offers objects from ncl.com. All fields typed and schema-versioned.

voyage_idpromo_namefree_at_sea_eligiblebeverage_package_includeddining_package_includedwifi_minutesexcursion_creditsguest_3_4_freeairfare_promo
promotions_& offers
● 200 OK
"promo_name": "Free at Sea",
"free_at_sea_eligible": true,
"beverage_package_included": true,
"dining_package_included": true,
"wifi_minutes": 150,
"excursion_credits": 50
# voyage_idpromo_namefree_at_sea_eligiblebeverage_package_includeddining_package_includedwifi_minutes
1
2
3

Complete list of extractable fields for Ships & Deck Plans objects from ncl.com. All fields typed and schema-versioned.

ship_namebuild_yearrefurbished_yearguest_capacitycrew_sizetonnagelength_feetdeck_countvenuesstateroom_categories
ships_& deck plans
● 200 OK
"ship_name": "Norwegian Encore",
"build_year": 2019,
"guest_capacity": 3998,
"crew_size": 1735,
"tonnage": 169116,
"deck_count": 20
# ship_namebuild_yearrefurbished_yearguest_capacitycrew_sizetonnage
1
2
3

Complete list of extractable fields for Shore Excursions objects from ncl.com. All fields typed and schema-versioned.

excursion_idport_nametitledescriptionactivity_levelduration_hoursprice_adultprice_childfeaturesreviews_rating
shore_excursions
● 200 OK
"port_name": "Juneau",
"title": "Mendenhall Glacier Explorer",
"activity_level": 1,
"duration_hours": 3.5,
"price_adult": 129.0,
"price_child": 99.0
# excursion_idport_nametitledescriptionactivity_levelduration_hours
1
2
3

Capabilities

Complete coverage of the NCL booking engine

Our NCL scraper extracts pricing matrices, port schedules, and promotional metadata directly from the dynamic booking flow — navigating session states and availability calendars automatically.

Itinerary Extraction

Extract full day-by-day port schedules, arrival/departure times, and tender requirements.

Stateroom Pricing Matrices

Capture base fares across Inside, Oceanview, Balcony, Club Balcony Suite, and The Haven categories.

Tax & Fee Breakdown

Isolate base cruise fare from government taxes, port expenses, and mandatory gratuities.

Free at Sea Tracking

Monitor promotional inclusions like open bar, specialty dining, Wi-Fi, and shore excursion credits per sailing.

Ship Deployment Schedules

Map out future vessel deployments across regions, tracking repositioning cruises and dry dock gaps.

Shore Excursion Catalogues

Scrape activity levels, durations, pricing, and descriptions for port-specific excursions.

Solo Cruiser Availability

Track pricing and availability for Studio staterooms and solo-occupancy supplements.

Multi-Currency Support

Extract localized pricing across USD, EUR, GBP, and AUD by controlling session origin.

Real-Time Availability

Monitor sold-out categories and waitlist status for high-demand sailings.

// engagement pipeline

From sailing search to structured data

Brief in. Clean data out.

Define Scope
d 0

Provide target regions, ships, or date ranges. We map the required stateroom categories and promo fields.

Pipeline Build
d 2–4

We configure Playwright spiders to navigate NCL's React-based booking flow and manage session cookies.

Validation & QA
d 4–6

Schema validation, null-rate checks, and price-outlier detection before full launch.

Delivery
ongoing

JSON, CSV, or Parquet pushed to your S3 bucket or Snowflake stage on agreed cadence.

Under the hood

Navigating NCL's dynamic booking infrastructure

Cruise pricing relies on complex session states and inventory caching. Here is how we extract accurate fares without triggering bot protections.

pipeline-monitor · ncl.com · live ● active
// fingerprinting
Identity rotation
TLS fingerprintrandomised
User-agentrotated
IP poolresidential
Challenges blocked0
// pagination
Page coverage
48,291 pages queued running
// observability
Pipeline health
99.9%
uptime
142ms
p99 lat
0.3%
null rate
2
alerts
Session management
Stateful booking flow navigation

NCL's pricing requires progressing through a multi-step booking funnel. We maintain strict cookie jars and session tokens to extract final pricing matrices.

Dynamic rendering
Playwright for React hydration

Stateroom availability and Free at Sea options load asynchronously via internal APIs. We use full browser rendering to intercept these XHR requests.

Geolocation spoofing
Accurate regional pricing

Fares differ heavily by market. We route requests through region-specific residential proxies to capture accurate local currency pricing and market-specific promotions.

Inventory caching
Bypassing stale CDN data

Cruise lines aggressively cache availability. Our pipeline forces fresh inventory checks by manipulating search parameters and session headers.

Rate limiting
Distributed crawl execution

We distribute requests across thousands of IPs, adhering to safe concurrency limits to prevent IP bans and ensure continuous pipeline operation.

Applications

Who uses NCL data — and how

Teams across industries use ncl.com data to build competitive products and smarter operations.

01
Competitor Price Monitoring

Rival cruise lines track NCL's stateroom pricing and promotional cadences to adjust their own revenue management strategies.

02
Travel Agency Aggregation

OTAs and specialized cruise agents aggregate itineraries and Free at Sea offers to populate their own booking engines.

03
Market Demand Forecasting

Analysts monitor sell-out rates and price fluctuations across The Haven and Balcony categories to gauge consumer travel demand.

04
Port Operations Planning

Port authorities and local tour operators track ship arrival schedules and passenger capacities to plan logistics.

05
Dynamic Repricing Models

Revenue managers use historical NCL pricing curves to train machine learning models for airline and hospitality pricing.

06
Promotional Analysis

Marketing teams analyze the frequency and structure of Free at Sea offers versus base fare discounts.

Why DataFlirt

"Cruise pricing is notoriously opaque, hidden behind multi-step booking flows and session states. Extracting it requires infrastructure that mimics real passenger behaviour perfectly."

Scraping ncl.com requires managing stateful sessions, intercepting XHR requests for inventory, and rotating residential proxies to capture accurate regional pricing. DataFlirt handles this complexity, delivering clean pricing matrices so your team can focus on revenue analysis.

Technical Spec

NCL scraper — technical capabilities

Everything supported by our ncl.com scraper — rendered SPA elements, auth walls, rate-limit evasion and beyond.

JavaScript rendering
Full Playwright sessions for React-based booking flows
Supported
XHR interception
Direct capture of internal NCL pricing API responses
Supported
Multi-currency pricing
Regional proxy routing for USD, EUR, GBP, AUD fares
Supported
Stateroom availability
Tracking sold-out categories and waitlist status
Supported
Tax & fee separation
Isolating base fare from mandatory port expenses
Supported
Promo extraction
Capturing Free at Sea inclusions and terms
Supported
Latitudes Rewards pricing
Tier-specific discounts requiring member login
Partial
Booked guest add-ons
Post-booking excursion and dining reservations
Partial
Deck plan mapping
Extracting cabin locations and venue coordinates
Supported
Infrastructure

Infrastructure powering the NCL pipeline

Open-source tooling on proven cloud infra — no vendor lock-in, full observability.

ScrapyPlaywrightPython 3.12RedisPostgreSQLApache AirflowAWS LambdaS3CloudWatch2CaptchaCapSolverResidential ProxiesDockerKubernetesGrafanaPrometheusBeautifulSoup
Stateful Session Management

Playwright maintains cookie jars and session tokens across the multi-step booking funnel, essential for reaching final pricing pages without session timeouts.

Geographic Proxy Routing

Residential ISP proxies route requests through target markets, ensuring accurate localized pricing and bypassing regional CDN blocks.

XHR API Interception

Instead of parsing complex DOM structures, we intercept the underlying JSON payloads NCL's frontend uses to render stateroom availability.

Output & Delivery

Your data, your destination

Data delivered to where your team already works — no new tooling required.

JSON
Nested itinerary and pricing objects
CSV
Flat tabular data for revenue teams
Parquet
Columnar storage for BigQuery
AWS S3
Direct delivery to your data lake
Webhook
HTTP POST for real-time price alerts
API
REST endpoints for on-demand querying
XLS
Excel format for manual analyst review
Snowflake
Direct ingestion into staging tables
S3
Direct bucket delivery — compatible with any data lake
// faq

Common questions.

About ncl.com scraping, legality, and pipeline operations.

Ask us directly →
Can you extract The Haven pricing?

Yes. We capture pricing for all primary categories: Inside, Oceanview, Balcony, Club Balcony Suite, and The Haven, including solo supplements.

Do you separate base fares from taxes?

Yes. The pipeline isolates the base cruise fare from government taxes, port expenses, and mandatory gratuities to provide a clean pricing matrix.

How do you handle Free at Sea promotions?

We extract promotional metadata per sailing, flagging inclusions like open bar, specialty dining, Wi-Fi minutes, and excursion credits.

Can I get pricing in different currencies?

Yes. By routing requests through regional residential proxies, we can extract fares in USD, EUR, GBP, AUD, and other supported local currencies.

Do you scrape Latitudes Rewards member pricing?

No. Latitudes tier pricing requires authenticated user sessions. We strictly target publicly available retail fares.

How often can you refresh pricing data?

For targeted subsets of sailings, we can configure hourly or daily refreshes. Full fleet scans typically run on a 24-hour cadence.

Can you track ship deployment schedules?

Yes. We extract full itineraries, allowing you to map a specific ship's movements, port calls, and dry dock periods across seasons.

$ dataflirt scope --new-project --source=ncl.com ready

Tell us what
to extract.
We do the rest.

20-minute scoping call. Pilot dataset within the week. Production within two. Whether you need competitive pricing matrices or global ship deployment schedules — we scope, build, and operate the pipeline. Tell us what you need.

hello@dataflirt.com · Bengaluru · IST · typical reply < 4h
Related Scrapers

More in tourism and travel guides

Services

Data Extraction for Every Industry

View All Services →