# Port of Rotterdam — 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 live vessel movements and monitor port performance metrics including container throughput and anchorage statistics for the Port of Rotterdam. Access nautical notices and search detailed port information to stay updated on shipping operations and port conditions.

**Category:** Maps & Geospatial | **Website:** [portofrotterdam.com/](https://portofrotterdam.com/) | **Docs:** [parse.bot/marketplace/a3ff2e11-4e0e-4a45-90a2-f67413b36f53/portofrotterdam-com-api](https://parse.bot/marketplace/a3ff2e11-4e0e-4a45-90a2-f67413b36f53/portofrotterdam-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-portofrotterdam-com-api-a3ff2e11/`
**Auth:** `Authorization: Bearer <LOCUS_API_KEY>`

## Endpoints

### get_container_throughput_statistics

Get container throughput statistics for the Port of Rotterdam including total TEU, import/export split, empty/full ratios, and throughput by service type (deep sea, short sea, no liner). Without filters, returns current year totals.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `quarter` | integer | No | Quarter filter (1-4) |
| `year` | integer | No | Year filter (e.g. 2025) |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-portofrotterdam-com-api-a3ff2e11/get_container_throughput_statistics \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"quarter":"<integer>","year":"<integer>"}'
```

### get_port_notices

Get official nautical notices (PIN and BAS) from the Port of Rotterdam. Returns current active notices including navigation warnings, bridge disruptions, and capacity arrangements. Each notice includes full text with start date, duration, and description.

**Estimated cost:** Metered

_No parameters required._

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

### get_port_performance_anchorage

Get anchorage area statistics for the Port of Rotterdam including average anchorage time for deep sea and short sea vessels, vessels-to-anchor counts, and direct-to-berth percentages. Data is returned as time series arrays over monthly periods. Without filters, returns the most recent 12 months.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `date_from` | string | No | Start date filter in YYYY-MM-DD format |
| `date_to` | string | No | End date filter in YYYY-MM-DD format |
| `month` | integer | No | Month filter (1-12) |
| `vessel_type` | string | No | Vessel type filter (e.g. 'Deep Sea'). Passed to upstream API. |
| `year` | integer | No | Year filter (e.g. 2025) |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-portofrotterdam-com-api-a3ff2e11/get_port_performance_anchorage \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"date_from":"<string>","date_to":"<string>","month":"<integer>","vessel_type":"<string>","year":"<integer>"}'
```

### get_vessel_details

Get detailed information for a specific vessel currently in port movements (Present, Expected, or Departed). Searches by IMO number, UCRN, or exact vessel name (case-insensitive). Returns stale_input if the vessel is not found in current movements. At least one of imo or vessel_id must be provided.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `imo` | string | No | Vessel IMO number (e.g. '9382463'). Must be a vessel currently in port movements. |
| `vessel_id` | string | No | Vessel identifier: IMO number, UCRN, or exact vessel name (case-insensitive). At least one of imo or vessel_id is required. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-portofrotterdam-com-api-a3ff2e11/get_vessel_details \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"imo":"<string>","vessel_id":"<string>"}'
```

### get_vessel_movements

Get current (Present), expected, and departed vessel movements at the Port of Rotterdam. Returns a grouped object with three arrays of vessels by their movement status. Supports optional case-insensitive partial name filtering across all three groups. Each vessel record includes IMO, name, berth, operator, flag, tonnage, and timestamps.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `query` | string | No | Optional vessel name filter (case-insensitive partial match). Filters across Present, Expected, and Departed lists. |

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