Free AIS API
Use Pelyr’s HTTPS API with a free key to request vessel positions, details and recent tracks as JSON. Bring maritime context into your application one request at a time.
Get a free API keyAsk what is moving.
Get the positions.
Request current vessel positions in an area or take a closer look at an individual ship.
Open the API docs{
"generated_at": "2026-08-30T14:22:10Z",
"count": 1,
"truncated": false,
"vessels": [
{
"mmsi": 244660123,
"position": {
"lat": 51.18597,
"lon": 5.964237,
"sog": 6.8,
"cog": 90.8,
"heading": 273,
"nav_status": 0,
"rot": null,
"pos_accuracy": false,
"msg_type": 1,
"ts": "2026-08-30T14:22:11Z",
"license": "100",
"plausibility": "high",
"flags": []
},
"static": {
"name": "EXAMPLE TRADER",
"type": 70,
"imo": 9543756,
"callsign": "V7WW7",
"dest": "ROTTERDAM",
"draught": 6.8,
"eta": "11-06T03:00",
"length": 257,
"beam": 43,
"dim_a": 214,
"dim_b": 43,
"dim_c": 24,
"dim_d": 19,
"ts": "2026-08-30T13:47:02Z",
"license": "1"
}
}
]
}{
"mmsi": 244660123,
"position": {
"lat": 51.18597,
"lon": 5.964237,
"sog": 6.8,
"cog": 90.8,
"heading": 273,
"nav_status": 0,
"rot": null,
"pos_accuracy": false,
"msg_type": 1,
"ts": "2026-08-30T14:22:11Z",
"license": "100",
"plausibility": "high",
"flags": []
},
"static": {
"name": "EXAMPLE TRADER",
"type": 70,
"imo": 9543756,
"callsign": "V7WW7",
"dest": "ROTTERDAM",
"draught": 6.8,
"eta": "11-06T03:00",
"length": 257,
"beam": 43,
"dim_a": 214,
"dim_b": 43,
"dim_c": 24,
"dim_d": 19,
"ts": "2026-08-30T13:47:02Z",
"license": "1"
}
}Know the vessel.
See its details.
Search by MMSI, IMO or name and retrieve available identity and static information.
Revisit a journey.
Choose the detail.
Retrieve recorded tracks at the resolution that suits your question, from detailed passages to a broader view.
{
"mmsi": 244660123,
"from": "2026-08-29T00:00:00Z",
"to": "2026-08-30T00:00:00Z",
"resolution": "5min",
"count": 1,
"points": [
{
"lat": 51.18597,
"lon": 5.964237,
"sog": 6.8,
"cog": 90.8,
"heading": 273,
"nav_status": 0,
"rot": null,
"pos_accuracy": false,
"msg_type": 1,
"ts": "2026-08-29T00:00:00Z",
"license": "100"
}
]
}Simple requests.
Useful context.
Enable HTTPS API on your key and make authenticated requests from your server. Keep your key private; use the documentation for endpoints and examples. The Free plan is for non-commercial use; see the free AIS data options and limits before you build.
Before your first request.
How do I authenticate requests?
Create a free key in the dashboard, enable HTTPS API and send the key as a bearer token in the Authorization header. Make requests from your server and keep the key out of browser code and URLs. The documentation provides endpoint details and ready-to-use curl examples.
How do I choose track detail?
Select a resolution of 1min, 5min, 15min, 1h, 6h or 1d to suit your question. Available history, request spans and archive permissions also apply. Tracks contain recorded positions; gaps in the reports remain gaps. Consult the documentation for current history limits.
What happens when I reach a request limit?
The API returns HTTP 429 when a request budget is exhausted. Respect Retry-After before trying again. Request budgets depend on the endpoint and your key; check the documentation for current limits. Free access includes no uptime commitment.