# Maersk — Wrapped API

> **You are on:** `https://api.paywithlocus.com/api` | [llms.txt](https://paywithlocus.com/llms.txt) | [docs](https://docs.paywithlocus.com)
>
> Locus runs on multiple environments -- make sure every URL you call matches your expected environment.
> | Environment | Landing | API | Docs |
> |---|---|---|---|
> | Production | paywithlocus.com | api.paywithlocus.com | docs.paywithlocus.com |
> | Beta | beta.paywithlocus.com | api.beta.paywithlocus.com | docs.paywithlocus.com |
> | Stage | stage.paywithlocus.com | api.stage.paywithlocus.com | docs.paywithlocus.com |
>
> If the API URL above doesn't match your expected environment, re-fetch this file from the correct domain.

> Track your Maersk shipping containers in real-time, monitor vessel schedules and locations, and discover available routes between ports and countries. Access comprehensive port data, search for specific locations, and view detailed shipping route information to plan your logistics more effectively.

**Category:** Maps & Geospatial | **Website:** [maersk.com/](https://maersk.com/) | **Docs:** [parse.bot/marketplace/33410e19-7bee-49e7-8e2b-4c36f041078a/maersk-com-api](https://parse.bot/marketplace/33410e19-7bee-49e7-8e2b-4c36f041078a/maersk-com-api)

Pay-per-use API proxy. Each call is automatically billed to your wallet in USDC.

## Access

**Base URL:** `https://api.paywithlocus.com/api/wrapped/parse-maersk-com-api-33410e19/`
**Auth:** `Authorization: Bearer <LOCUS_API_KEY>`

## Endpoints

### check_port_pair_availability

Check if a port pair is available for booking on Maersk. Queries the point-to-point routing API with origin and destination geo IDs (from search_locations) and returns available sailings with vessel details, departure/arrival dates, and transit times. Searches a 4-week window from the departure_date (or today if omitted). Returns is_bookable=true with sailings array when routes exist, or is_bookable=false with empty sailings when no routes are found.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `departure_date` | string | No | Start of the search window in ISO format YYYY-MM-DD (e.g. '2026-09-01'). When omitted, searches from today. |
| `destination_geo_id` | string | Yes | Maersk geo location ID for the destination port/city (maerskGeoLocationId from search_locations, e.g. '0XOP5ISJZK0HR' for Singapore) |
| `origin_geo_id` | string | Yes | Maersk geo location ID for the origin port/city (maerskGeoLocationId from search_locations, e.g. '1JUKNJGWHQBNJ' for Rotterdam) |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-maersk-com-api-33410e19/check_port_pair_availability \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"departure_date":"<string>","destination_geo_id":"<string>","origin_geo_id":"<string>"}'
```

### get_container_tracking

Retrieve container tracking information by container number. Returns shipment origin, destination, container details, and a chronological sequence of tracking events (gate-out, gate-in, load, discharge, arrivals, departures) with timestamps. Requires a valid active container or Bill of Lading number; returns input_not_found for numbers with no tracking data. The endpoint warms up an Akamai-protected session before querying, which adds one extra round-trip on first call.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `tracking_number` | string | Yes | Container number (4 letters + 7 digits, e.g. MRKU9157416) or Bill of Lading number (9 characters) |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-maersk-com-api-33410e19/get_container_tracking \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"tracking_number":"<string>"}'
```

### get_country_routes

Get all shipping routes for a specific country with full port sequences and transit times. Regions: asia-pacific, europe, imea, latin-america, north-america.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `country` | string | Yes | Country name (e.g., 'germany', 'china', 'brazil') |
| `region` | string | Yes | Region slug (asia-pacific, europe, imea, latin-america, north-america) |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-maersk-com-api-33410e19/get_country_routes \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"country":"<string>","region":"<string>"}'
```

### get_route_details

Get detailed port sequence for a specific shipping route by its slug. Returns the route name and full ordered port sequence with transit times.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `route_code` | string | Yes | Route slug (e.g., 'cl2', 'cae-eastbound') |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-maersk-com-api-33410e19/get_route_details \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"route_code":"<string>"}'
```

### list_active_ports

List all active ports served by Maersk worldwide with country, city, port names, UN location codes, and internal port codes.

**Estimated cost:** Metered

_No parameters required._

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-maersk-com-api-33410e19/list_active_ports \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'
```

### list_active_vessels

List all active vessels in the Maersk fleet with vessel codes, names, IMO numbers, flag countries, and call signs.

**Estimated cost:** Metered

_No parameters required._

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-maersk-com-api-33410e19/list_active_vessels \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'
```

### list_all_routes

List ALL shipping routes across all 25 categories worldwide. Returns 200+ routes with their names, slugs, and categories.

**Estimated cost:** Metered

_No parameters required._

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-maersk-com-api-33410e19/list_all_routes \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'
```

### list_route_categories

List all 25 available route categories (feeder routes, intra-regional, cross-regional shipping lanes). Use category_slug values with list_routes_by_category.

**Estimated cost:** Metered

_No parameters required._

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-maersk-com-api-33410e19/list_route_categories \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'
```

### list_routes_by_category

List all routes within a specific category. Use category slugs from list_route_categories.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `category_slug` | string | Yes | Category slug (e.g., 'intra-asia-pacific-shipping-routes', 'europe-feeder-shipping-routes') |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-maersk-com-api-33410e19/list_routes_by_category \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"category_slug":"<string>"}'
```

### search_locations

Search for locations (cities/ports) by name to find geo-identifiers, UN location codes, and coordinates. Returns up to 25 matching results sorted by city name.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `city_name` | string | Yes | City or port name to search for (e.g. 'Rotterdam', 'Shanghai', 'Singapore') |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-maersk-com-api-33410e19/search_locations \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"city_name":"<string>"}'
```

### search_routes

Search for routes by name, slug, or category keyword across all categories.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `query` | string | Yes | Search keyword to match against route names, slugs, and category names |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-maersk-com-api-33410e19/search_routes \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"query":"<string>"}'
```
