Tenerife Cruise Port Schedule Scraper (Cruise Port Calls) avatar

Tenerife Cruise Port Schedule Scraper (Cruise Port Calls)

Pricing

from $2.50 / 1,000 cruise calling delivereds

Go to Apify Store
Tenerife Cruise Port Schedule Scraper (Cruise Port Calls)

Tenerife Cruise Port Schedule Scraper (Cruise Port Calls)

Santa Cruz de Tenerife Port Authority cruise schedule as JSON: arrival and departure times, vessel, passenger and crew capacity, agent, port, berth and home-port flag. Covers Tenerife, La Palma, La Gomera and El Hierro. Only new or changed callings per run; one HTTP request, no browser.

Pricing

from $2.50 / 1,000 cruise calling delivereds

Rating

0.0

(0)

Developer

Steadfetch

Steadfetch

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

6 hours ago

Last modified

Share

Puerto de Tenerife Cruise Callings Monitor

Public, daily-updated cruise ship schedule of the Port Authority of Santa Cruz de Tenerife (Autoridad Portuaria de Santa Cruz de Tenerife), extracted from the official /cruceros-previstos/ page.

What it does

  • Reads the official public schedule table once per run (one HTTP request, no browser, no proxies).
  • Returns one item per cruise calling: arrival and departure date/time, vessel, shipping agent (company), passenger and crew capacity, port, berth and home-port flag.
  • Converts Spanish dates (21/10/2026) to ISO (2026-10-21), Spanish thousands separators (3.674) to integers and SI/NO to booleans.
  • Keeps a monitor state in a named key-value store, so a daily run only delivers and charges for new or changed callings.
  • since keeps only callings from a given arrival date; maxResults caps the run.
  • Emits no personal data: agent is a shipping company, never a private individual, and no contact or passenger-level fields are read.

Source attribution: Data source: Autoridad Portuaria de Santa Cruz de Tenerife (https://www.puertosdetenerife.org/cruceros-previstos/). The port authority's legal notice authorises reproduction of its contents when the origin is expressly cited, so every item carries sourceUrl and the listing cites the authority.

Example output

{
"url": "https://www.puertosdetenerife.org/cruceros-previstos/",
"sourceUrl": "https://www.puertosdetenerife.org/cruceros-previstos/",
"title": "BRITANNIA - S/C DE LA PALMA - 2026-10-21",
"arrivalDate": "2026-10-21",
"arrivalTime": "08:00",
"departureDate": "2026-10-21",
"departureTime": "18:00",
"agent": "A. PEREZ Y CIA, S.L.",
"vessel": "BRITANNIA",
"passengerCapacity": 3674,
"crewCapacity": 1376,
"port": "S/C DE LA PALMA",
"berth": "DIQUE",
"homePort": false,
"scrapedAt": "2026-10-21T01:30:00.000Z"
}

Input

FieldTypeDefaultMeaning
sinceISO date YYYY-MM-DDtoday (UTC)Keep callings whose arrival date is on or after this day.
maxResultsinteger 1-50001000Maximum number of new callings to deliver.
monitorModebooleantrue (Store prefill: false)Deliver only callings not seen by a previous run. Disable for a full backfill.
strictSchemabooleantrueFail the run if any item violates the dataset schema. Keep enabled.

Pricing

Pay per event:

  • apify-actor-start: 0.00005 USD per run (Apify-recommended default).
  • apify-default-dataset-item: 0.0025 USD per new calling, i.e. 2.50 USD per 1,000 callings.

There is no custom per-item event: the synthetic dataset event already charges per result, so a result is never billed twice. Duplicated, filtered or skipped rows are not delivered and not charged.

Cost per 1,000 callings: the page publishes about 2,045 rows and parsing it takes a measured ~10 ms per page in local runs (Node 24, 200 iterations over a real 80-row fixture). Compute for a full page at 256 MB is well under 0.001 USD, so the measured cost per 1,000 callings is < 0.01 USD and the margin is above 99 %.

FAQ

Does it need a login, an API key or a proxy? No. The schedule is a public HTML page. The Actor makes one request per run and stops on 401/403/429/451 instead of trying to evade a block.

Why is berth sometimes null? The port authority leaves the berth blank for some future callings. The Actor reports null; it never invents a berth.

Why does a daily run return few or zero items? The monitor dedupes by (arrivalDate, arrivalTime, vessel, port, berth). After the first run, only new or changed callings are delivered. Set monitorMode to false (or use a fresh key-value store) to backfill. The daily QA run uses monitorMode: false so it always validates the item mapping.

Does it include passenger names or crew lists? No. Only vessel- and company-level fields published by the port authority are read.

Where does the data come from? The official public schedule of the Autoridad Portuaria de Santa Cruz de Tenerife, cited in every item and in the listing.

Maintenance

Tested daily: a scheduled run validates the official page and the dataset schema every day. Failures become issues in the Steadfetch Actors repository. npm test, npm run publish:check and apify-cli validate-schema run in CI on every push.