Caribbean Cruise Ship Schedules: Cozumel, Barbados, Aruba
Pricing
from $0.70 / 1,000 port call returneds
Caribbean Cruise Ship Schedules: Cozumel, Barbados, Aruba
Cruise ship schedules for Cozumel, Barbados and Aruba: which ships are in port on which day, with arrival, departure, pier and passenger capacity, read from the port authorities' own public schedules.
Pricing
from $0.70 / 1,000 port call returneds
Rating
0.0
(0)
Developer
LYFE Offshore
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
19 days ago
Last modified
Categories
Share
Cruise ship schedule API for three Caribbean ports: the port schedule of Cozumel (Mexico), Oranjestad (Aruba) and Bridgetown (Barbados) as one table of ship calls, read from each port authority's own published schedule.
Which cruise ships are in port on which day: ship, arrival, departure, pier and (where the source gives it) passenger capacity. The data is read from each port authority's own public schedule and returned as one clean table, with the source named on every row.
One day, three ports (real run)
Input: all three ports, fromDate and toDate both 2026-10-07. Run on 4 October 2026.
| Port | Ship | Arrives | Departs | Pier / berth | Capacity |
|---|---|---|---|---|---|
| Cozumel | MSC Seashore | 07:30 | 19:00 | Punta Langosta | n/a |
| Cozumel | Carnival Breeze | 08:30 | 17:00 | Puerta Maya | n/a |
| Cozumel | Celebrity Reflection | 09:00 | 20:00 | International Pier (SSA) | n/a |
| Oranjestad (Aruba) | Freewinds | 06:00 | n/a | E | n/a |
| Oranjestad (Aruba) | Allure of the Seas | 07:00 | 16:00 | I | n/a |
| Oranjestad (Aruba) | Carnival Vista | 13:00 | 23:00 | C | n/a |
| Bridgetown (Barbados) | SH Vega | n/a | 17:00 | n/a | 152 |
Seven calls, three ports, one request each (Aruba: the index page and the month's PDF). Cozumel and
Aruba do not publish passenger capacity. SH Vega and Freewinds show a single time because the ship
arrives the day before or leaves the day after: an overnight stay is listed on both days, and the
second day is marked departingOnly: true.
Input example
This is the input of the run above (INPUT.json):
{ "ports": ["cozumel", "barbados", "aruba"], "fromDate": "2026-10-07", "toDate": "2026-10-07" }
ports: any ofcozumel,barbados,aruba. Empty means all three.fromDate,toDate:YYYY-MM-DD. Defaults: today, and 60 days after the first day.shipName: optional, keeps only ships whose name contains this text (case-insensitive), e.g."msc".
Output example
Each row is one JSON object. Two rows from the run above, a Cozumel call and the Barbados overnight:
{ "rowType": "call", "port": "cozumel", "portName": "Cozumel", "country": "Mexico", "date": "2026-10-07","ship": "MSC Seashore", "arrive": "07:30", "depart": "19:00", "berth": "Punta Langosta","departingOnly": false, "source": "APIQROO (Quintana Roo port authority)","sourceUrl": "https://servicios.apiqroo.com.mx/programacion/" }
{ "rowType": "call", "port": "barbados", "portName": "Bridgetown", "country": "Barbados", "date": "2026-10-07","ship": "SH Vega", "line": "Swan Hellenic", "guests": 152, "callType": "Transit", "arrive": null,"depart": "17:00", "berth": null, "departingOnly": true, "source": "Barbados Port Inc.","sourceUrl": "https://barbadosport.com/bpi-cruise-schedule/" }
Output fields
| Field | Meaning |
|---|---|
rowType | call (a ship call, charged) or port-status (a port that could not be read, free) |
port, portName, country | port ID (cozumel, barbados, aruba), port name and country |
date | day of the call, YYYY-MM-DD, as printed by the port |
ship | ship name, normalised to title case (MSC, AIDA kept as written) |
arrive, depart | local port time HH:MM, or null when the source gives none |
berth | pier or berth: Cozumel pier name, Aruba berth letter; null for Barbados |
departingOnly | true on the second day of an overnight stay |
guests | passenger capacity (Barbados only, else null or absent) |
line, callType | cruise line and call type such as Transit (Barbados only) |
firstCall | true when the Aruba PDF marks a first or maiden call (Aruba only) |
source, sourceUrl | the port authority and the page the row was read from |
status, error | on port-status rows only: unreachable and the reason |
A run summary (date range, per-port status and row count) is stored in the key-value store under SUMMARY.
What it does
- Reads the public schedule of each port you ask for, once per run, with an identifying
User-Agent (
tools@lyfeoffshore.com). - Filters by date range and, optionally, by ship name.
- A port that cannot be read does not stop the run: it returns a free
port-statusrow with the error, and the other ports come back as normal. If no port can be read, the run fails with the reason.
| Port | Source | How far ahead |
|---|---|---|
| Cozumel, Mexico | APIQROO, the Quintana Roo port authority: all three piers (Punta Langosta, International Pier, Puerta Maya) | about a week |
| Bridgetown, Barbados | Barbados Port Inc., with passenger capacity | the whole season |
| Oranjestad, Aruba | Aruba Ports Authority, monthly PDF (the Authority calls it provisional) | months |
What it does not do
- Only these three ports. Other Caribbean ports either publish no schedule that can be read automatically or restrict reuse. Bonaire, Curaçao, Nassau, San Juan, Grand Cayman and St. Maarten are not included.
- Schedules change. The data is what the port published when the run happened, and ships are rerouted or cancelled. Do not treat it as a live feed. Cancelled calls Cozumel marks as cancelled are dropped.
- Times are local port time as printed by the source. Aruba prints
24.00for midnight, which comes back as24:00. - A change to a source page or PDF can break parsing. A port that parses to nothing is reported as
unreachable, never as an empty list.
Price
Price per 1,000 by your Apify plan (Apify applies the right column automatically):
| Free | Starter | Scale | Business and up | |
|---|---|---|---|---|
| Port call returned, per 1,000 | $1.00 | $0.90 | $0.80 | $0.70 |
No start fee. The figures below use the Free-plan price; on a paid plan the same run costs less.
$0.001 per port-call row (event port-call), platform usage included. Status rows are free.
- 1,000 rows ≈ $1.
- The one-day run above: 7 rows ≈ $0.007.
- A week of all three ports (7 to 13 October 2026, run on 5 October): 26 rows (14 Cozumel, 10 Aruba, 2 Barbados) ≈ $0.026.
- The default range (today plus 60 days, run on 5 October 2026): 187 rows ≈ $0.19. Cozumel only contributes its first week or so.
A run's maximum-charge limit caps the number of rows returned; the log says how many were left out.
Use it from code or an AI agent
One HTTP call runs the Actor and returns the rows:
curl -X POST "https://api.apify.com/v2/acts/lyfe_tools~caribbean-cruise-ship-schedules/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"ports": ["cozumel"], "fromDate": "2026-10-07", "toDate": "2026-10-07"}'
AI agents (Claude, Cursor and other MCP clients) can call it through the Apify MCP server at
https://mcp.apify.com: the agent sends ports, fromDate, toDate and optionally shipName, and reads
date, portName, ship, arrive, depart and berth from the rows.
Who uses this
caribbeanportday.com, a port-day guide for cruise passengers, is built on the same three official schedules.
FAQ
Which cruise ports are covered? Cozumel (Mexico, all three piers), Bridgetown (Barbados) and Oranjestad (Aruba). Nothing else; see above.
How far ahead do the schedules go? Cozumel about a week, Aruba months (one PDF per month), Barbados the whole season. The default range is today plus 60 days.
Can I schedule it daily? Yes. With an Apify schedule and no dates in the input, each run covers today plus 60 days. Calls change, so compare runs rather than trusting an old one.
Does it show how many passengers are on board?
No. Barbados publishes passenger capacity (guests), not the actual number on board. Cozumel and Aruba
publish neither.
Can I look up one ship?
Yes: shipName keeps only calls whose ship name contains that text, for example "allure".
What happens if a port's website is down?
That port returns a free port-status row with the error and the other ports come back as normal.
Sources and terms
Each row carries source and sourceUrl; please keep the attribution when you republish. We found no
terms forbidding automated reading of these three pages, and robots.txt on the Barbados site allows it.
That is the absence of a prohibition, not a licence or permission from the port authorities. If an
authority objects, tell us at tools@lyfeoffshore.com and the port is removed.
Issues and questions: tools@lyfeoffshore.com.