One REST endpoint for clean, normalized cruise inventory from 60+ cruise lines. Sailings, ports, itineraries, lead prices and ship specs, all on the same schema, refreshed up to daily.
# Fetch sailings for a line
GET /cruises?cruise_line=MSC%20Cruises&limit=1
x-api-key: cf_live_…
{
"items": [{
"source": "cruisemapper",
"source_id": "msc-world-europa-2026-09-12",
"cruise_line": "MSC Cruises",
"ship_name": "MSC World Europa",
"title": "7-Night Western Mediterranean",
"departure_date": "2026-09-12",
"price_amount": 799,
"price_currency": "USD"
}],
"total": 1843, "limit": 1, "offset": 0
}
One integration powers search, pricing, alerts and analytics across every major cruise line.
Power an OTA or agency site with live sailings, itineraries and lead prices your customers can filter and book against.
Poll the API on a schedule and trigger alerts when a lead price drops or a new sailing is added.
Feed normalized records into your warehouse to track itineraries, capacity and competitor pricing over time.
Predictable resources, limit/offset pagination and the same flat record on every line. Authenticate with your API key and start pulling.
cruise_line, ship_name, region, departure_from and price range.source + source_id) across refreshes.# 1. List Caribbean sailings under $900
curl "https://api.cruisefeed.io/cruises\
?region=Caribbean&max_price=900&limit=50" \
-H "x-api-key: $CRUISEFEED_API_KEY"
# 2. Page through every result (limit/offset)
curl "https://api.cruisefeed.io/cruises\
?region=Caribbean&limit=50&offset=50" \
-H "x-api-key: $CRUISEFEED_API_KEY"
# 3. Fetch one sailing by its key
curl "https://api.cruisefeed.io/cruises/cruisemapper/msc-world-europa-2026-09-12" \
-H "x-api-key: $CRUISEFEED_API_KEY"
Endpoints shown for illustration. Get your key and the live reference in the playground.
Want the exact response for your lines? Get a free sample.
Every cruise line publishes inventory differently. We do the scraping, deduping and daily updates, then hand you one consistent API.
The same names, types and units on all 60+ lines, so you write one integration, not one per line.
One record per sailing with consistent IDs across refreshes, so diffs and joins stay clean.
When a cruise site changes, we fix the pipeline. Your API responses keep working unchanged.
Connect once and build on data that's already clean and deduped. Try live responses in the playground, or get a free sample of your lines and region first.