AIDA Scraper - Complete Cruise Data Extractor
Pricing
from $2.00 / 1,000 results
AIDA Scraper - Complete Cruise Data Extractor
AIDA Cruises pricing API - per-cabin EUR pricing for the full 11-ship fleet across 25 departure ports. Sailings, day-by-day itineraries & direct booking links. For travel agencies, comparison sites & affiliates. ✅ Residential proxy support.
AIDA Cruises Scraper — Complete Cruise Data Extractor
Extract cruise listings, itineraries, and cabin-level pricing from AIDA Cruises for the German market — one clean record per departure, with ship, ports, dates, and per-cabin pricing for the tiers available on each sailing (cruise-only fares). Built for travel agencies, price comparison sites, affiliate marketers, and analysts.
Why Choose This Scraper?
- ✅ Full AIDA German-market catalog — ~1,800+ sailings across the entire AIDA fleet
- ✅ Complete cruise data with per-cabin pricing for the tiers available on each sailing (Interior through Suite)
- ✅ Sailings from ports across AIDA's network, covering a wide range of durations (short breaks through long voyages)
- ✅ One record per departure date — ready for price tracking and deduplication
- ✅ Direct booking/source URLs on every sailing — ready for affiliate monetization
- ✅ Toggle catalog-only mode for fast, low-cost headline-price runs, or enrich for the per-cabin price fields
- ✅ Results stream to the dataset as they are collected — partial data is available even if a run is stopped early
Use Cases
- Travel agencies & OTAs — track AIDA pricing against competitors daily
- Affiliate/comparison sites — populate AIDA inventory with deep-links
- Price analysts — monitor AIDA fare curves for forecasting
- Internal benchmarking — cruise lines comparing against AIDA positioning in the German market
Supported Markets
| Region | Output Currency |
|---|---|
de_DE | EUR |
AIDA sells to the German market in EUR only, so this scraper covers the single de_DE locale.
Input
| Parameter | Type | Description | Default |
|---|---|---|---|
region* | string | Market to scrape | de_DE |
maxRows | number | Maximum sailings to return. Raise it to collect more; the scraper otherwise sweeps AIDA's whole catalog on its own. Set ~2500 for the complete catalog (currently ~1,800 sailings). | 50 |
enrichDetails | boolean | Fetch per-sailing detail for per-cabin prices (the cabin tiers available on each sailing). Turn off for a fast, low-cost catalog-only run (headline "from" price only) — this step is the bulk of the requests/cost. | true |
detailConcurrency | number | Parallel per-sailing price lookups (used only when enrichDetails is on) | 8 |
maxRequestRetries | number | Retries for failed requests | 4 |
requestHandlerTimeoutSecs | number | Request timeout (seconds) | 60 |
requestDelayMs | number | Delay between request batches to pace throughput | 150 |
useApifyProxy | boolean | Use Apify Residential proxy (always RESIDENTIAL) | true |
apifyProxyCountryCode | string | Two-letter country to pin the residential proxy | DE |
apifyProxyGroups | string | Proxy group tier (defaults to RESIDENTIAL) | — |
proxyUrl | string | Custom residential proxy URL (use only if useApifyProxy is false) | — |
A residential proxy is required — either enable
useApifyProxy(RESIDENTIAL), or supply a residentialproxyUrl.
Cabin Codes
Dynamic per-cabin price fields are emitted as price_EUR_<code> (e.g. price_EUR_I, price_EUR_B, price_EUR_S). Cabin codes are read directly from AIDA's detail response and vary by ship, so the set on any given sailing is whatever that ship offers. Common cabin codes include:
| Code | Cabin Type |
|---|---|
I | Innenkabine (Interior) |
M | Meerblickkabine (Ocean View) |
B | Balkonkabine (Balcony) |
V | Verandakabine (Veranda) |
K | Verandakabine Komfort |
D | Verandakabine Deluxe |
P | Panorama-Balkonkabine |
J | Junior-Suite |
S | Suite |
The exact code and its label come from the source data (cabinName); other ship-specific codes may appear.
Output
Each record is a single sailing with:
- Cruise and itinerary identifiers (
cruiseId,itineraryId) - Ship name and departure/arrival ports (name + code)
- Departure and arrival dates (ISO format) and duration (nights)
- Lowest available per-person "from" price with currency (EUR)
- Ports of call with day numbers (
portsList→portName,dayIndicator) - Dynamic per-cabin price fields —
price_EUR_<code>(e.g.price_EUR_I,price_EUR_B,price_EUR_S) — whenenrichDetailsis on. Sailings with sold-out cabins report only the tiers still available. source_url— direct booking link per sailing for deep-linking / affiliate trackingplatform,company,locale— for multi-market deduplication
Sample Output
{"cruiseId": "AIDA-JID-2026-08-15-AIDAcosma","itineraryId": "MED07","title": "Mittelmeer ab Barcelona","shipName": "AIDAcosma","departurePort": { "name": "Barcelona", "code": "BCN" },"arrivalPort": { "name": "Barcelona", "code": "BCN" },"departureDate": "2026-08-15","arrivalDate": "2026-08-22","duration": "7","price": { "amount": "899", "currency": "EUR" },"portsList": [{ "portName": "Barcelona", "dayIndicator": "1" },{ "portName": "Palma de Mallorca", "dayIndicator": "2" },{ "portName": "Seetag", "dayIndicator": "3" },{ "portName": "Civitavecchia", "dayIndicator": "4" },{ "portName": "Barcelona", "dayIndicator": "7" }],"price_EUR_I": "899","price_EUR_B": "1249","price_EUR_S": "2399","source_url": "https://www.aida.de/kreuzfahrt/...","platform": "aida-de_DE","company": "aida","locale": "de_DE"}
Runtime & Cost
- Catalog-only run (
enrichDetails: false): fastest and cheapest — sweeps the full catalog for headline "from" prices only - Full enriched run (
enrichDetails: true, default): fetches the per-cabin price fields for each sailing; the per-sailing detail step is the bulk of the requests and cost - Tune throughput with
detailConcurrency(parallel detail lookups) andrequestDelayMs(pacing between batches) - Proxy: residential required (see Input)
Usage
{"region": "de_DE","maxRows": 2000,"enrichDetails": true,"useApifyProxy": true,"apifyProxyCountryCode": "DE"}
Notes
- AIDA prices are per-person
- Prices reflect the cruise-only fare (flight-inclusive tariffs are excluded), taken as the cheapest available per cabin tier
- Sold-out cabin tiers are omitted from a sailing's per-cabin price fields
- Sea days appear in
portsListasSeetag - 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 — service charges included
- Carnival Cruises Scraper — 2 markets, high volume
- MSC / Costa / Princess / Holland America / Disney Scrapers — full coverage
Support
Issues or custom requests? Email support@track.cruises.