---
name: bark-ais-tracking
description: Track vessel locations via Marineplan OpenShipData/AIS API. Real-time ship positions, destinations, and vessel metadata.
---

# Bark AIS / OpenShipData Skill

Real-time vessel tracking via Marineplan OpenShipData API.

## API Key

```bash
export MARINEPLAN_AIS_KEY="3f276632-8681-4746-8420-7b961c86066a"
```

## Base URL

```
https://ais.marineplan.com
```

## Endpoints

### 1. Find Ships in Area

Zoek schepen in een geografisch gebied.

```
GET /location/2/locations.json?area={sw_lat},{sw_lon};{ne_lat},{ne_lon}&maxage={seconds}&moving={0|1}&key={API_KEY}
```

**Parameters:**
| Param | Beschrijving | Voorbeeld |
|-------|-------------|-----------|
| `area` | Bounding box (SW;NE) | `52.0,4.0;52.5,5.0` |
| `maxage` | Max data leeftijd (sec) | `1800` (30 min) |
| `moving` | Alleen bewegende schepen | `1` |
| `source` | Data bron | `ANY`, `AIS`, `APPS` |

**Voorbeeld:**
```bash
curl "https://ais.marineplan.com/location/2/locations.json?\
area=51.9,4.3;52.0,4.6\
&maxage=1800\
&moving=1\
&key=3f276632-8681-4746-8420-7b961c86066a"
```

### 2. Get Specific Ship

Zoek een specifiek schip op naam of MMSI.

```
GET /location/2/ship.json?ship={name_or_mmsi}&key={API_KEY}
```

**Voorbeeld:**
```bash
curl "https://ais.marineplan.com/location/2/ship.json?\
ship=244045895\
&key=3f276632-8681-4746-8420-7b961c86066a"
```

### 3. Search Ships

Tekstuele zoektocht naar schepen.

```
GET /location/2/search.json?area={bbox}&query={name}*&max=30&key={API_KEY}
```

### 4. Get Planned Arrivals

Geplande aankomsten in een gebied.

```
GET /location/2/arrivals.json?area={bbox}&maxage=1800&key={API_KEY}
```

### 5. Track Multiple Ships

HTML interface voor tracking (gratis).

```
GET /location/2/ships.html?ships={mmsi1},{mmsi2}&language=NL
```

## Response Format

```json
{
  "locations": [
    {
      "mmsi": "244045895",
      "name": "JOHANNA",
      "callsign": "PI1234",
      "type": 2,
      "length": 85,
      "width": 9.5,
      "position": {
        "latitude": 51.95,
        "longitude": 4.45
      },
      "speed": 12.5,
      "bearing": 135,
      "destination": "Antwerpen",
      "eta": "2025-02-26T14:30:00Z",
      "timestamp": 1708956000
    }
  ]
}
```

## Scheepstypen (AIS)

| Code | Type |
|------|------|
| 2 | Cargo |
| 3 | Passenger |
| 4 | Tanker |
| 5 | Other |
| 6 | Sailing |
| 7 | Pleasure craft |

## Usage

```bash
# Zoek schepen in Rotterdam gebied
./bark-ais.py area --lat 51.9 --lon 4.4 --radius 10

# Zoek specifiek schip
./bark-ais.py ship "JOHANNA"
./bark-ais.py ship "244045895"

# Zoek schepen op naam
./bark-ais.py search "mvs*"

# Toon aankomsten
./bark-ais.py arrivals --lat 51.9 --lon 4.4
```

## Data Bronnen

- **AIS**: VHF receivers wereldwijd (~100.000 schepen)
- **APPS**: Vaarkaart NL, Waterkaart NL, NavKid apps
- **ANY**: Alles samengevoegd

## Update Frequentie

- Data wordt elke minuut ververst
- Maxage parameter bepaalt hoe oud data mag zijn

## Coverage

Check coverage op: https://www.aishub.net/coverage
Live map: https://maps.marineplan.com

## Notes

- Schepen zonder AIS zender zijn niet zichtbaar
- Sommige schepen uitzenden niet continu
- Positie kan enkele minuten vertraging hebben
