Skip to main content gottem  — one API for every scraper.
Logistics & Shipping
Verified

Maersk Scraper

Extract container tracking updates, vessel schedules, port-to-port transit times, and ocean freight rate indexes from Maersk. Built on spider-browser .

Get started Docs
target
maersk.com
success rate
99.9%
latency
~4ms
Quick start

Extract data in minutes.

maersk-scraper.ts
import { SpiderBrowser } from "spider-browser";

const spider = new SpiderBrowser({
  apiKey: process.env.SPIDER_API_KEY!,
  stealth: 2,
});

await spider.connect();
const page = spider.page!;
await page.goto("https://www.maersk.com/schedules/port-to-port");
await page.content(10000);

const data = await page.evaluate(`(() => {
  const schedules = [];
  document.querySelectorAll(".schedule-result, .voyage-card").forEach(el => {
    const vessel = el.querySelector(".vessel-name, h3")?.textContent?.trim();
    const departure = el.querySelector(".departure-date, .dep-date")?.textContent?.trim();
    const arrival = el.querySelector(".arrival-date, .arr-date")?.textContent?.trim();
    const transit = el.querySelector(".transit-time, .duration")?.textContent?.trim();
    if (vessel) schedules.push({ vessel, departure, arrival, transit });
  });
  return JSON.stringify({ total: schedules.length, schedules: schedules.slice(0, 10) });
})()`);

console.log(JSON.parse(data));
await spider.close();
ready to run · spider-browser · TypeScript
Fetch API

One endpoint for maersk.com.

Structured JSON from maersk.com with a single POST. AI-resolved selectors, cached on the first call.

POST /fetch/maersk.com/
Container IDStatusVessel nameOrigin portDestination portETA
cURL
curl -X POST https://api.spider.cloud/fetch/maersk.com/ \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"return_format": "json"}'
Python
import requests

resp = requests.post(
    "https://api.spider.cloud/fetch/maersk.com/",
    headers={
        "Authorization": "Bearer YOUR_API_KEY",
        "Content-Type": "application/json",
    },
    json={"return_format": "json"},
)
print(resp.json())
Node.js
const resp = await fetch("https://api.spider.cloud/fetch/maersk.com/", {
  method: "POST",
  headers: {
    "Authorization": "Bearer YOUR_API_KEY",
    "Content-Type": "application/json",
  },
  body: JSON.stringify({ return_format: "json" }),
});
const data = await resp.json();
console.log(data);
Extraction

Fields you can pull.

Container IDStatusVessel nameOrigin portDestination portETATransit timeEvents
Data

Tracking extraction

Extract shipment status, delivery estimates, and tracking details from maersk.com.

Rendering

Dynamic tracking

Handle real-time tracking maps and status update interfaces.

Scale

Bulk tracking

Process thousands of tracking numbers and shipment records concurrently.

Related

More Logistics & Shipping scrapers.

Start

Start scraping maersk.com.

Grab an API key and call the endpoint above. The first request resolves the config; every request after hits cache.