# Maersk — Wrapped API

> **You are on:** `https://api.beta.paywithlocus.com/api` | [llms.txt](https://beta.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 for Locus Pro. Each call burns credits from your workspace balance.

## Access

**Base URL:** `https://api.beta.paywithlocus.com/api/wrapped/credits/maersk/`
**Auth:** `Authorization: Bearer <LOCUS_CREDITS_SECRET_KEY>` (an `lcr_` secret key or a scoped `lcac_` agent credential)
**Required header:** `Idempotency-Key: <fresh UUID per call>`. A retry with the same key replays the stored result without a new charge.
**Response:** the provider response after any endpoint-specific normalization. `X-Locus-Credits-Charged` carries the charge and `X-Locus-Credits-Balance` the remaining balance. Insufficient credits return `402` before the provider is called.
**Pricing:** estimated costs below are USD. Locus debits the credit equivalent at your workspace rate.

Full call contract: https://docs.paywithlocus.com/api-reference/introduction

> Using a Pay With Locus wallet key (`claw_` prefix)? Wallet routes are documented separately: https://docs.paywithlocus.com/wrapped-apis/for-agents

## 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.beta.paywithlocus.com/api/wrapped/credits/maersk/check-port-pair-availability \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -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.beta.paywithlocus.com/api/wrapped/credits/maersk/get-container-tracking \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -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.beta.paywithlocus.com/api/wrapped/credits/maersk/get-country-routes \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -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.beta.paywithlocus.com/api/wrapped/credits/maersk/get-route-details \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -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.beta.paywithlocus.com/api/wrapped/credits/maersk/list-active-ports \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -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.beta.paywithlocus.com/api/wrapped/credits/maersk/list-active-vessels \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -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.beta.paywithlocus.com/api/wrapped/credits/maersk/list-all-routes \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -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.beta.paywithlocus.com/api/wrapped/credits/maersk/list-route-categories \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -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.beta.paywithlocus.com/api/wrapped/credits/maersk/list-routes-by-category \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -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.beta.paywithlocus.com/api/wrapped/credits/maersk/search-locations \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -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.beta.paywithlocus.com/api/wrapped/credits/maersk/search-routes \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"query":"<string>"}'
```

## Next steps

- [All wrapped API providers](https://beta.paywithlocus.com/wapi/index.md): pick another provider.
- [Find and call tools](https://beta.paywithlocus.com/agent/tools.md): price ceilings, async results, and errors.
- [Credits and billing](https://beta.paywithlocus.com/agent/billing.md): what a call costs and how to add credits.
- [Agent docs index](https://beta.paywithlocus.com/agent/index.md): every Locus agent page.