Maritime Navigation API
Akses programatik ke peringatan NAVAREA dan pesisir. Subscription REST berada di /api/v1/ dengan header X-API-Token. Tingkat yang lebih tinggi membuka koordinat, peta kata kunci, seluruh arsip sekaligus, dan filter lanjutan.
Developer: masuk dengan GitHub dan kunci Developer ada di tab API Anda dalam sepuluh detik, dengan 2.000 permintaan gratis untuk peringatan yang berlaku. Arsip dan analisis lengkap tersedia dengan paket berbayar.
Send a route, get the NAVAREAs and the warnings along it: POST /api/v2/route/ with a route file (RTZ, GPX, KML, CSV...) or JSON waypoints; the same at /api/v2/drop/<token>/route/ for tools that can only drop a file. Section 15 of the README has the calls.
v3: integrate from GitHub
Developers overviewEverything to connect is in one public repository: the OpenAPI specification, the data models, Python and JavaScript clients, an MCP server for Claude, Cursor, VS Code, Windsurf and Zed, and a GitHub Action that checks a route against the warnings in force. The endpoints stay the ones below; the kit is the way in.
- Editors and agents: add the MCP server and ask in plain words; the tools are search_warnings, warnings_near, route_check, navareas and feeds.
- Code:
python/sealagom.pyandjs/sealagom.mjs, no dependencies beyond requests or fetch; generate any other language fromopenapi.yaml. - No-code and agents: import sealagom.com/openapi.json into n8n, Make, Zapier, Pipedream, Postman, ChatGPT actions or LangChain. Send the key as
X-API-TokenorAuthorization: Bearer. - Routes:
POST /api/v2/route/with a route file or waypoints, or the drop link/api/v2/drop/<key>/route/for tools that can only POST a file. - Sky view:
GET /api/v2/sky/link/?vessel=(ormmsi,warningandregion,port,locode,latandlon) gives a ready link that stands there in the sky view;POST /api/v2/sky/route/takes a route and gives its sky link, drawn on the sea, with the RTZ and GPX. Section 20 of the README has the calls. Not for navigation. - CI: the Action fails a build when a critical warning lies on a route kept in the repository.
- Scripts and agents paying for themselves:
POST /api/agent/checkout/, crypto, the key once paid (in the profile when the e-mail already has an account).
Memulai
- Pilih paket di contributor plans.
- Buat token API di bawah Profil → API.
- Kirim
X-API-Tokenpada setiap/api/v1/panggilan. - Hormati pagination dan penggunaan token pada endpoint list.
Rencana langganan API
Tingkatkan ke API Default untuk teks mentah dan koordinat, ke Full API untuk geometri terstruktur (geo_features), atau hubungi kami untuk integrasi kustom.
Tingkat gratis API
API tanpa kunci: 100 panggilan per hari, hingga 50 peringatan per panggilan, selama 3 hari atau 300 panggilan, mana yang lebih dulu.
Saat kuota habis, API menjawab HTTP 402 berisi apa yang terpakai, kapan kembali, dan tautan untuk bayar sekarang: checkout, kripto, atau POST /api/agent/checkout/ dari skrip.
Jika masuk tanpa paket API, tingkat gratis yang sama dihitung pada akun Anda. Jatah GitHub Developer menyimpan permintaannya sendiri.
Hanya pesan yang berlaku. Tanpa arsip, koordinat, koordinat lanjutan, kata kunci, webhook, atau filter lanjutan.
API Default
Permintaan tak terbatas, $20 bulan pertama, kemudian $18 / bulan dengan auto-renew
- Permintaan API tak terbatas
- Pesan langsung NAVAREA & pesisir
- Akses pesan arsip
- Teks pesan mentah dan koordinat
- Integrasi webhook untuk pembaruan waktu nyata
Not included: geo_features (areas, circles, sectors, lanes, safety zones), analysis, keywords, or enhanced coordinate formats. Those need Full API.
Berlangganan API DefaultFull API
Permintaan tak terbatas, $100 first month, then $90 / month with auto-renew
- Permintaan API tak terbatas
- Pesan langsung NAVAREA & pesisir
- Akses pesan arsip
- Koordinat (semua format: decimal, GeoJSON, DMS, Google Maps)
- geo_features: titik, garis, jalur, area, lingkaran, sektor, displacement, zona keselamatan
- analysis of every warning: summary, status, validity / expiry, hazards, recurring series
- Geometri terstruktur dalam GeoJSON, CSV, Shapefile, WKT (ECDIS & KML geometri lengkap pada Contributor)
- Ekstraksi peta kata kunci
- Filter lanjutan (tanggal, kata kunci, negara, jenis, has_coordinates)
- Integrasi webhook untuk pembaruan waktu nyata
Custom API
Disesuaikan dengan kebutuhan Anda; hubungi kami
- Semua yang ada di Full API
- Bentuk respons & format data kustom
- Bidang, struktur, atau format spasial spesifik atas permintaan
- Dukungan khusus dan panduan integrasi
- Pengaturan enterprise atau volume tinggi
- SLA dan payload webhook kustom
Butuh sesuatu yang khusus? Email contact@sealagom.com Respons API dapat disesuaikan ke format atau struktur spasial apa pun.
Lihat rencana saat ini dan berlanggananPembuat permintaan interaktif
Susun URL GET dan salin contoh (cURL, Python, JavaScript, Java, Rust). Ganti token dengan token Anda.
Menggunakan parameter yang sama setiap waktu? Simpan pada token itu sendiri dengan API v2 builder di profil Anda, dengan pratinjau langsung.
URL yang Dihasilkan
https://www.sealagom.com/api/v1/navarea/?include_messages=truecurl -X GET "https://www.sealagom.com/api/v1/navarea/?include_messages=true" \
-H "X-API-Token: YOUR_API_TOKEN"Ikhtisar
Selamat datang di SeaLag.om Maritime Navigation API!
API ini menyediakan akses programatik ke peringatan NAVAREA dan pesisir yang penting untuk keselamatan maritim dan navigasi.
Pelanggan Full API menerima data lengkap termasuk koordinat (berbagai format), kata kunci, seluruh arsip sekaligus, dan filter lanjutan. Butuh format atau struktur spasial khusus? Hubungi kami untuk integrasi yang disesuaikan.
Respons berbentuk daftar/detail JSON. Gunakan page and page_size jika didukung.
Autentikasi
Kirim header X-API-Token: <token> pada setiap /api/v1/ permintaan. Token yang hilang atau tidak valid mengembalikan 401 Unauthorized. Token dibuat di profil Anda; ganti atau cabut dari layar yang sama.
X-API-Token: YOUR_API_TOKENManajemen token
- GET /api/v1/tokens/ - daftar token Anda
- POST /api/v1/tokens/ - buat token
- POST /api/v1/tokens/{id}/regenerate/ - ganti (membuat nilai lama tidak berlaku)
# List tokens
curl -X GET "https://www.sealagom.com/api/v1/tokens/" \
-H "Authorization: Bearer YOUR_JWT_TOKEN"
# Create a token
curl -X POST "https://www.sealagom.com/api/v1/tokens/" \
-H "Authorization: Bearer YOUR_JWT_TOKEN" \
-H "Content-Type: application/json" \
-d '{"name": "My API Token"}'
# Regenerate a token
curl -X POST "https://www.sealagom.com/api/v1/tokens/1/regenerate/" \
-H "Authorization: Bearer YOUR_JWT_TOKEN"API v2 dan pengaturan token
API v2 menggunakan token, paket dan pencatatan permintaan yang sama seperti v1. Semua yang berada di bawah /api/v1/ tetap bekerja persis seperti sebelumnya, sehingga integrasi yang ada tidak perlu diubah. v2 menambahkan:
- Satu daftar semua peringatan:
GET /api/v2/messages/, NAVAREA dan coastal bersama, terbaru terlebih dahulu, setiap pesan dengan wilayah, negara dan status arsipnya. - Filter pesan pada endpoint wilayah:
/api/v2/navarea/and/api/v2/coastal/menjawab seperti v1 dan juga menerapkandate_from,date_to,keywordandhas_coordinateske pesan yang mereka kembalikan. - Pengaturan disimpan pada setiap token: pilih token di Profile > API > API v2 builder, buat respons dengan menu dan pratinjau langsung, lalu simpan. Setiap panggilan /api/v2/ dengan token itu mengembalikan bentuk tersebut; panggilan /api/v1/ mengabaikan pengaturan yang disimpan dan menanggapi persis seperti sebelumnya.
- prompt filter (Full API):deskripsikan peringatan yang harus dikembalikan oleh token dengan kata-kata Anda sendiri, misalnya "only space debris warnings around the USA".
- Integrate: the kit on GitHub (OpenAPI spec, clients, MCP server, Action) is the way in; a README.md per token, with its settings, plan and every parameter and field, is there for any program that wants one file.
- Settings file:instead of ticking options, ask LagoPal (with the README) for a settings file: a small JSON file with the token's endpoint, parameters and prompt. Load it on Profile > API (Load settings file); it fills the builder so you can check the live preview before saving. Download settings file gives the current settings in the same form. JSON Schema:
/api/public/api-settings-schema/.
GET /api/v2/messages/
| Parameter | Paket | Fungsinya |
|---|---|---|
| scope | Semua | navarea, coastal atau all (default). |
| navarea_id | Semua | Satu atau lebih NAVAREA id (ulang atau pisahkan dengan koma). |
| coastal_id | Semua | Satu atau lebih id wilayah coastal. |
| country | Semua | Nama negara, pencocokan parsial (mis. France). |
| q | Semua | Kata-kata dalam teks peringatan (asli atau English). |
| date_from, date_to | Semua | Ditambahkan pada atau setelah / pada atau sebelum, YYYY-MM-DD. |
| keyword | Semua | Kategori kata kunci atau kata apa saja dalam teks; ulangi untuk beberapa. |
| has_coordinates | Semua | true: hanya peringatan yang memiliki posisi. |
| include_locals | Semua | true: juga peringatan lokal Prancis (AVURNAV). |
| include_archived, only_archived | API berbayar | Aktif dan diarsipkan, atau hanya diarsipkan. |
| status, message_class, station, lat, lon, radius_nm, bbox | Semua | Filter arsip: in_force, cancelled, atau expired; jenis; stasiun NAVTEX; posisi dengan radius dalam mil laut, atau kotak west,south,east,north. |
| include_coordinates | API berbayar | Posisi yang dibaca dari setiap peringatan. |
| include_enhanced_coordinates | Full API | Desimal, DMS, GeoJSON dan tautan peta untuk setiap posisi. |
| include_keywords | Full API | Peta kata kunci per peringatan. |
| include_geo_features | Full API | Area, lingkaran, garis, jalur, sektor sebagai GeoJSON. |
| include_ai_analysis | Full API | The analysis object per warning. |
| ai_severity | Full API | critical, high, moderate, low, info (ulang untuk beberapa). |
| ai_category | Full API | category ids, e.g. firing_practice, piracy_or_security. |
| ai_status | Full API | Live status: active, scheduled, expired, withdrawn (archived), cancellation_notice, informational. |
| ai_in_force | Full API | true: hanya peringatan yang berlaku sekarang. |
| expires_within_hours | Full API | Hanya peringatan yang valid_until-nya jatuh dalam N jam ke depan. |
| expires_after, expires_before | Full API | valid_until pada atau setelah / pada atau sebelum sebuah tanggal (YYYY-MM-DD) atau waktu ISO. |
| exclude_routine | Full API | true: kecualikan laporan rutin (laporan es, daftar rig, daftar yang berlaku). |
| ai_has | Full API | Hanya analisis dengan: contacts, vessels, aids, keep_clear, time_windows, charts, hazards. |
| min_keep_clear_nm | Full API | Jarak keep-clear minimal N nautical miles. |
| page, page_size | Semua | Default 50 per halaman; hingga 200 pada paket berbayar, 50 pada gratis. |
| prompt_filter | Full API | off: ignore the token's prompt filter for this call. |
| topic | Full API | Sebuah feed: ice, military, space, cables, offshore, survey, hazards, aton, sar, security (lihat Themed feeds). |
| settings | Semua | off: abaikan pengaturan tersimpan token untuk panggilan ini (panggilan biasa). |
Bidang atau filter yang tidak termasuk dalam paket Anda dibiarkan keluar dan tercantum dalam meta.warnings, tidak pernah menjadi error.
content adalah teks seperti yang disiarkan; content_en is the English text (the official English version or a machine translation) for sources that broadcast in another language, such as China or Turkey, and source_language menamai bahasa aslinya.
The US Coast Guard Local Notices to Mariners (10 distrik, diperbarui mingguan) adalah wilayah pesisir berjudul US Coast Guard LNM, negara US. They are not analysed, so their automatic fields are empty; each district also has one message, number LNMxx-DISCREPANCIES, mencantumkan bantu navigasinya dengan ketidaksesuaian.
curl "https://www.sealagom.com/api/v2/messages/?country=France&include_coordinates=true&include_ai_analysis=true" \
-H "X-API-Token: YOUR_API_TOKEN"
{
"count": 42,
"page": 1,
"page_size": 50,
"next": null,
"previous": null,
"results": [
{
"scope": "coastal",
"region_id": 57,
"region_title": "FRANCE Atlantic",
"country": "France",
"is_archived": false,
"archived_on": null,
"id": 90211,
"number": "AVURNAV 1234/26",
"content": "BAY OF BISCAY. DRIFTING BUOY ...",
"content_en": "BAY OF BISCAY. DRIFTING BUOY ...",
"source_language": "en",
"added_on": "2026-09-27T08:10:00Z",
"coordinates": ["45-10.0N 002-05.0W"],
"ai_analysis": { "headline": "...", "severity": "moderate", "valid_until": null }
}
]
}Pengaturan yang disimpan pada token
- Satu token, satu bentuk: each token keeps its own endpoint and parameters. Need a second shape (say France coastal with coordinates, and a worldwide feed)? Create a second token.
- Setiap opsi ditampilkan, Termasuk yang Full API, beserta paket yang diperlukan masing-masing. Menyimpan membutuhkan paket API aktif.
- URL menang: setiap parameter yang Anda letakkan di URL menggantikan nilai tersimpan untuk panggilan itu;
?settings=offmembuat panggilan biasa. - Periode relatif: "30 hari terakhir" mengirimkan
date_fromsebagai hari ini dikurangi 30 hari pada setiap panggilan. - Respons membawa sebuah
X-API-Token-Settingsheader yang menamakan token yang pengaturannya diterapkan.
Ice feed: GET /api/v2/ice/
- Every warning about ice at sea, from NAVAREA, coastal and NAVTEX sources: icebergs and iceberg limits, sea ice, ice edge, vessel icing and freezing spray, ice reports, icebreaker operations and ice navigation rules. An model reads each warning that mentions ice and keeps only those really about it, with its kind in
ice.type. - Positions, shapes (iceberg limit lines, ice areas) and the analysis are included by default.
?output=geojsonmengembalikan sebuah GeoJSON FeatureCollection, satu feature per bentuk, siap untuk pemeriksaan rute dan overlay pada peta. ice_typemempersempitnya: iceberg, sea_ice, ice_edge, icing, ice_report, icebreaker, ice_navigation, other_ice (ulang atau pisahkan dengan koma). Setiap parameter /api/v2/messages/ juga berfungsi, dan/api/v2/messages/?topic=iceadalah feed yang sama.- Rencana Full API, atau lisensi feed es (tahunan, ditagihkan): hubungi kami.
curl "https://www.sealagom.com/api/v2/ice/?output=geojson&ice_type=iceberg,ice_edge" -H "X-API-Token: YOUR_API_TOKEN"Themed feeds: GET /api/v2/feeds/<feed>/
- Ready-made feeds built from the category the analysis gives every warning: military exercises and firing, rocket launches and space debris, cable and pipeline work, offshore works and rigs, surveys, wrecks and drifting hazards, aids to navigation, search and rescue, security and restricted areas.
- Same output as the ice feed: positions, shapes and the analysis by default, the category in
feed.category,?output=geojsonuntuk sebuah FeatureCollection dan?category=untuk menyimpan hanya beberapa kategori dari sebuah feed. Setiap parameter /api/v2/messages/ juga berfungsi, dan/api/v2/messages/?topic=militaryadalah feed yang sama. - Only warnings with an analysis are included.
GET /api/v2/feeds/(tidak perlu token) mencantumkan setiap feed dengan berapa banyak peringatannya yang sedang berlaku. - Rencana Full API, atau lisensi feed untuk satu feed (tahunan, ditagihkan): hubungi kami.
- Free and without a token, for feed readers and scripts: RSS at
/feeds/warnings.xml,/feeds/navarea/<id>.xmland/feeds/coastal/<id>.xml; the same three as Atom (.atom) and JSON Feed 1.1 (.json); plain text at/feeds/warnings.txt. The newest 100 warnings, text only, a warning keeps its id when it is updated. Region pages carry the feed links in their head, so a reader finds the feed from the page address.
Memuat feed…
curl "https://www.sealagom.com/api/v2/feeds/military/?output=geojson&navarea_id=3" -H "X-API-Token: YOUR_API_TOKEN"prompt filter
- Write what you want in plain words on the token (Full API plan). When you save, a model checks every warning in force against it; each new warning is checked within about 10 minutes of arriving.
/api/v2/messages/panggilan dengan token itu kemudian hanya mengembalikan peringatan yang cocok. Sebuah peringatan yang cocok saat masih berlaku tetap cocok setelah diarsipkan.- Respons menambahkan
meta.prompt_filterdengan prompt, statusnya (matchingtepat setelah menyimpan,readysesudahnya) dan berapa banyak peringatan yang cocok.?prompt_filter=offmelewatkannya untuk satu panggilan. - The filter can miss or over-include a warning. Use it to narrow a feed, not as the only safety check; the official broadcast stays the authority.
# Token with saved settings: nothing else needed
curl "https://www.sealagom.com/api/v2/messages/" -H "X-API-Token: YOUR_API_TOKEN"
# Same token, override the period for one call
curl "https://www.sealagom.com/api/v2/messages/?date_from=2026-09-01" -H "X-API-Token: YOUR_API_TOKEN"
# Token with the prompt "only space debris warnings around the USA"
{
"count": 3,
"results": [ ... ],
"meta": {
"prompt_filter": {
"prompt": "only space debris warnings around the USA",
"status": "ready",
"matched": 3
}
}
}Fitur geo terstruktur
Langganan Full APIPermintaan dengan include_messages=true and include_geo_features=true pada endpoint daftar/detail NAVAREA atau Coastal. Setiap pesan mungkin menyertakan sebuah geo_features objek dengan geometri terstruktur siap untuk chart dan GIS.
- features[].kind:
point,line,lane,area,circle,sector,displacement - circle / sector: sertakan
radius_nm, titik pusat, dan batas bearing opsional - lane: garis tengah ditambah lebar koridor dalam
corridor_nmorcorridors_nm points[]: derajat desimal;coordinates_raw[]: string koordinat asli dari peringatan- Peringatan multi-zona:
message_profile,multi_zone,zone_labels, dan per-fiturmetadata.zone_label - Zona keselamatan opsional:
safety_zone_meters,safety_zone_nm - Ekspor file: Kontributor menerima geometri penuh dalam ECDIS dan KML. Format ekspor lain menyertakan geometri terstruktur ketika akun Anda memiliki akses Full API (lihat rencana).
Field pesan contoh
{
"id": 123,
"number": "105/26",
"content": "HAZARDOUS OPERATIONS IN AREAS BOUND BY: A. 25-40.00N 096-47.00W, ... B. 25-58.00N ...",
"coordinates": ["25-40.00N 096-47.00W", "..."],
"geo_features": {
"version": 1,
"message_profile": "labeled_areas",
"multi_zone": true,
"zone_labels": ["A", "B"],
"features": [
{
"id": "feat-a1b2c3d4",
"kind": "area",
"label": "Area A",
"source": "labeled_zone",
"coordinates_raw": ["25-40.00N 096-47.00W", "..."],
"points": [{ "lat": 25.6667, "lon": -96.7833, "text": "25-40.00N 096-47.00W" }],
"closed": true,
"metadata": { "zone_label": "A" }
},
{
"id": "feat-b2c3d4e5",
"kind": "area",
"label": "Area B",
"source": "labeled_zone",
"metadata": { "zone_label": "B" }
}
]
}
}Contoh permintaan
curl -X GET "https://www.sealagom.com/api/v1/navarea/4/?include_messages=true&include_geo_features=true&include_coordinates=true" \
-H "X-API-Token: YOUR_API_TOKEN"analysis
Langganan Full APIEvery new or changed warning is read by a model and turned into structured data. Add include_ai_analysis=true (dengan include_messages=true) pada endpoint daftar/detail NAVAREA atau Coastal dan setiap pesan membawa sebuah ai_analysis object, or null sementara peringatan baru masih menunggu untuk dianalisis.
- headline, summary: deskripsi dalam bahasa sederhana (peringatan non-Inggris diterjemahkan)
- status:
active,scheduled,expired,withdrawn(tidak lagi ada dalam daftar yang masih berlaku dari penerbit),cancellation_notice,informational. Dihitung ulang pada setiap permintaan dari tanggal berlaku, sehingga sebuah peringatan bergerak dari terjadwal ke aktif ke kedaluwarsa dengan sendirinya. - valid_from / valid_until (ISO 8601 UTC) dan
time_windows[]: periode aktivitas dan waktu pembatalan otomatis;validity_textmengutip frasa sumbernya - category, severity (kritis, tinggi, sedang, rendah, info),
hazards[],mariner_action,location newsworthy/background: for events the wider public would care about (space launches, missile tests, conflict, disasters), a few sentences of general context. It comes from general knowledge, not from the warning text, and can be wrong; empty for routine warningscancels[]/references[]: nomor peringatan yang dibatalkan atau dirujuk oleh pesan ini- Rincian operasional:
keep_clear_nm(jarak aman terbesar, NM),contacts[](saluran VHF, stasiun, telepon),vessels[](nama, call sign, MMSI, IMO, peran),depth_m(kedalaman terdangkal di atas sebuah bangkai),observed_at(kapan objek hanyut dilaporkan),aids[](sinyal cahaya dan pelampung yang terpengaruh, dengan kondisi),charts[] translations: judul utama, ringkasan dan tindakan dalam bahasa Tionghoa, Spanyol, Rusia, Portugis, Yunani, Ukraina, Turki, Prancis dan Filipinocoord_check: positions the automatic read compared with the parser's (ok,mismatchdengan posisi hanya satu pihak yang menemukan)- Juga:
status_label,category_label,status_at_analysis(status sebagaimana dinilai saat dianalisis),positions_read[](positions as the automatic read them),confidence(0 sampai 1),analyzed_atandmodel - Seri berulang:
is_routine,series_keyandseries_labelmengelompokkan buletin berulang (laporan es, daftar posisi rig, daftar peringatan yang masih berlaku) sehingga Anda dapat menyimpan hanya terbitan terbaru
On the website, everyone sees each warning's headline and status; the full analysis on message pages and the map is part of the Contributor plan, and the full LagoPal (warning search, PDF reports, reading attached files and images) plus watch alerts are part of Full Contributor. Through the API the analysis comes with the Full API plan.
Dengan API v2 Anda juga dapat memfilter berdasarkan data ini: status langsung, kedaluwarsa (misalnya semua yang kedaluwarsa dalam 24 jam ke depan), sedang berlaku sekarang, tingkat keparahan, kategori, jarak aman, dan analisis yang menamakan kontak, kapal atau lampu.
Analisis dihasilkan secara otomatis dan bisa salah. Teks peringatan asli dalam content tetap merupakan sumber otoritatif.
Field pesan contoh
{
"id": 123,
"number": "1234/26",
"content": "NAVAREA III 1234/26 ... GUNNERY EXERCISES ... CANCEL THIS MSG 301600 UTC SEP 26.",
"ai_analysis": {
"headline": "Gunnery firing exercises south of Crete, 28-30 Sep",
"summary": "Live gunnery firing south of Crete daily 0600-1500 UTC from 28 to 30 September. Ships should keep clear of the area.",
"category": "firing_practice",
"category_label": "Firing practice",
"subject": "firing",
"subject_label": "Firing exercise",
"severity": "high",
"status": "active",
"status_label": "Active",
"status_at_analysis": "scheduled",
"valid_from": "2026-09-28T06:00:00+00:00",
"valid_until": "2026-09-30T16:00:00+00:00",
"validity_text": "280600 UTC TO 301500 UTC SEP 26. CANCEL THIS MSG 301600 UTC SEP 26",
"time_windows": [{ "start": "2026-09-28T06:00:00+00:00", "end": "2026-09-30T15:00:00+00:00", "note": "daily 0600-1500 UTC" }],
"location": "South of Crete",
"hazards": ["live firing"],
"mariner_action": "Keep clear of the area during the firing periods.",
"newsworthy": false,
"background": "",
"keep_clear_nm": 3,
"contacts": [{ "type": "vhf", "value": "VHF 16", "note": "HN warship" }],
"vessels": [],
"depth_m": null,
"observed_at": null,
"aids": [],
"charts": [],
"coord_check": { "status": "ok", "ai_count": 4, "parser_count": 4, "ai_only": [], "parser_only": [] },
"translations": { "es": { "headline": "Ejercicios de tiro al sur de Creta, 28-30 sep", "summary": "...", "mariner_action": "..." } },
"cancels": ["1198/26"],
"references": [],
"is_routine": false,
"series_key": "",
"series_label": "",
"confidence": 0.92,
"analyzed_at": "2026-09-27T08:10:00+00:00",
"model": "gpt-5-mini"
}
}Contoh permintaan
curl -X GET "https://www.sealagom.com/api/v1/navarea/3/?include_messages=true&include_ai_analysis=true" \
-H "X-API-Token: YOUR_API_TOKEN"Objek peta (rig & MODU)
Peringatan yang menyertakan daftar posisi rig atau MODU mungkin mengembalikan sebuah map_objects field pada setiap pesan ketika Anda menggunakan include_messages=true.
Message field: map_objects.oil_rigs[]
name: nama rig atau unit seperti yang dipublikasikancoordinate: string koordinat dari peringatanlat,lon: derajat desimalis_new_rig,is_new_position: ketika ditandai dalam teks sumbercatalog(opsional): entri katalog yang cocok dengan slug, href, MMSI, navigation area
Katalog publik (tanpa token API)
- GET /api/public/modu/?q=&page=1 - search active rigs
- GET /api/public/modu/s/{slug}/ - detail rig dan peringatan terkait
- GET /api/public/map-rigs/ - all active rigs for map overlays
stasiun radio pantai dan pusat penyelamatan
Pusat koordinasi penyelamatan (RCC, MRCC, MRSC, JRCC) dan stasiun DSC pantai dari 70 negara, berdasarkan NGA Pub 117 Radio Navigational Aids (bab 4), dengan stasiun uji DSC MF/HF SeaLagom ditandai. Tidak perlu token API.
- GET /api/public/coast-stations/ - every station with a position, short rows (id, k, n, c, m, la, lo, r, b, t)
- GET /api/public/coast-stations/{id}/ - satu stasiun: MMSI, band dan jangkauan, waktu siaga, area, kontak
- GET /api/public/coast-stations/near/?lat=&lon=&radius_nm=200&limit=12 - nearest stations
near returns rcc_covering (pusat penyelamatan yang areanya memuat posisi), rcc_near, dsc_near and test_nearest, masing-masing dengan distance_nm. position_approximate adalah benar ketika Pub 117 tidak memberikan posisi dan stasiun ditempatkan di pelabuhan dengan nama yang sama. Periksa setiap entri terhadap daftar radio resmi Anda.
curl "https://www.sealagom.com/api/public/coast-stations/near/?lat=36.8&lon=3.1&radius_nm=150"Space: launches, hazard warnings, re-entries, objects in orbit
Rocket launches of every agency and company from Launch Library 2 (The Space Devs), refreshed hourly, each with the NAVAREA and coastal warnings of its hazard areas at sea (stage, booster and fairing drop zones, landing zones), SpaceX droneships and capsule splashdowns. A warning is linked only when its wording is a launch, one of its windows holds the launch time and opens within an hour of the launch window, an area lies within 1,000 nm of the pad and no other launch fits as well. No API token needed.
- GET /api/public/space/launches/?from=&to=&provider=&limit= - launches (default 7 days back to 60 ahead) with warnings
- GET /api/public/space/launches/{id}/ - one launch, its description and the warning page line
- GET /api/public/space/reentries/ - re-entry predictions (Space-Track TIP) when available
- GET /api/public/sky/space/?g=bright|stations|recent|rocket|debris - positions now and a minute later (SGP4)
- GET /api/public/sky/space/meta/?g= - names, owners, launch dates and sizes (SATCAT)
Sources: Launch Library 2 (thespacedevs.com), CelesTrak, Space-Track.org (USSPACECOM). The warnings themselves stay the authority for navigation.
curl "https://www.sealagom.com/api/public/space/launches/?provider=SpaceX&limit=10"Finlandia dan Baltik: navigasi di es, lampu dan pelampung rusak
Navigasi musim dingin layanan pemecah es Finlandia-Swedia (pelabuhan dengan pembatasan es atau ditutup, kapal pemecah es dan tugasnya, rute di es) serta lampu dan pelampung yang rusak di perairan Finlandia, dari Fintraffic Digitraffic, diperbarui setiap 10 menit. Tidak perlu token API. Lisensi CC BY 4.0: tampilkan kredit yang menyertai data.
- GET /api/public/winter-navigation/
- GET /api/public/aton-faults/
Pembatasan seperti IA 2000 berarti bantuan pemecah es hanya untuk kapal dengan setidaknya kelas es dan bobot mati (ton) tersebut. Di luar musim, daftar kosong. Pemberitahuan resmi layanan navigasi musim dingin yang berlaku.
curl "https://www.sealagom.com/api/public/winter-navigation/"Your own vessels: positions in by API or webhook
Push the positions of your own vessels from trackers, satellite AIS, Noon or the bridge. They show live in your sky view and on the chart, for your account only, drawn at their real size, with a Fleet panel: status (under way, at anchor or stopped, no update), the last position and its age, speed and course, the ETA when a route is set, the warnings in force near each vessel and along her route, and the approximate under-keel clearance. Private by default; showing a vessel to everyone is a paid placement labelled Sponsored. Not for navigation.
- POST /api/v2/fleet/positions/: one position, a list, or {positions: [...]}, at most 500 a request
- GET /api/v2/fleet/vessels/: every vessel with her live state (?detail=1)
- GET /api/v2/fleet/vessels/{vessel}/: one vessel: our id, MMSI, IMO, your own id or her name; her last 24 hours
- PUT|DELETE /api/v2/fleet/vessels/{vessel}/route/: her route for the ETA and the warnings along it
- GET|POST /api/v2/fleet/webhook/: your webhook receiver; {rotate: true} makes a new signing secret, shown once
- GET /api/v2/fleet/access/, POST /api/v2/fleet/trial/: what your account may do; the free trial
A position
The vessel by vessel_id (our id, or your own id for her), mmsi or imo, with her name the first time; lat and lon in decimal degrees; time in UTC as ISO 8601 or Unix seconds. Optional: speed (knots), course, heading, draught (metres, as reported), length and beam (metres), destination, nav_status (the AIS number). The spellings providers use are read too: latitude, lng, sog, cog, hdg, timestamp, a nested position, a GeoJSON Point.
curl -X POST https://www.sealagom.com/api/v2/fleet/positions/ \
-H "Authorization: Bearer YOUR_KEY" -H "Content-Type: application/json" \
-d '{"positions": [
{"mmsi": "244123456", "name": "NORTH STAR", "lat": 51.9512, "lon": 4.0417,
"time": "2026-10-31T12:00:00Z", "speed": 12.1, "course": 271, "heading": 270,
"draught": 9.4, "length": 182, "beam": 28},
{"vessel_id": "TRK-0042", "name": "SEA BIRD", "lat": 1.2402, "lon": 103.8523,
"time": 1793448000}
]}'Each position is checked and refused with a plain reason in the answer (refused: [{index, why}]): no vessel named, out of range or 0, 0, no time, older than 24 hours or more than 5 minutes ahead of our clock, a speed over 80 knots, an impossible jump from her last position (over 60 knots), a second position within 10 seconds of the last one or older than it (send them in time order), a new vessel over your plan's number of vessels. 200 when any was kept, 422 when none was.
Reading your fleet
curl https://www.sealagom.com/api/v2/fleet/vessels/ -H "Authorization: Bearer YOUR_KEY"
curl https://www.sealagom.com/api/v2/fleet/vessels/244123456/ -H "Authorization: Bearer YOUR_KEY"
curl -X PUT https://www.sealagom.com/api/v2/fleet/vessels/244123456/route/ \
-H "Authorization: Bearer YOUR_KEY" -H "Content-Type: application/json" \
-d '{"name": "Rotterdam to Felixstowe", "speed_kn": 14,
"waypoints": [[51.95, 4.05], [51.98, 2.90], [51.93, 1.40]]}'import datetime, requests
KEY = "YOUR_KEY"
now = datetime.datetime.now(datetime.timezone.utc).isoformat()
r = requests.post(
"https://www.sealagom.com/api/v2/fleet/positions/",
headers={"Authorization": f"Bearer {KEY}"},
json={"positions": [{"imo": "9074729", "name": "ALPHA", "lat": 36.84, "lon": -6.42,
"time": now, "speed": 11.4, "course": 145, "draught": 8.2}]},
timeout=20,
)
print(r.status_code, r.json()) # accepted, refused [{index, why}], vessels
for v in requests.get("https://www.sealagom.com/api/v2/fleet/vessels/",
headers={"Authorization": f"Bearer {KEY}"}, timeout=20).json()["vessels"]:
print(v["name"], v["status"], v["position"]["age_s"], v["speed_kn"],
(v["route"] or {}).get("eta"), v["warnings_near"]["count"])The ETA is worked out along the rest of her route at her reported speed, or at the route's planned speed while she reports none. The warnings near her are those in force within 50 nm; along her route, those within 10 nm of the rest of it, in the order she meets them. The under-keel clearance is an estimate, never a safety value: GEBCO is not a nautical chart, depths are not reduced to chart datum, tides are not included, the draught is what the crew reported.
Webhook for providers that push
Your account has its own receiver address (GET /api/v2/fleet/webhook/ or the Fleet panel). Point your tracker, satellite AIS provider or Noon at it; any JSON with positions is read (our format, a list, data or items envelopes, a GeoJSON FeatureCollection). Sign every push with your secret: the header X-SeaLagom-Signature: t=<Unix seconds>,v1=<hex HMAC-SHA256 of t, a dot and the raw body>, within 5 minutes of our clock; or X-Hub-Signature-256: sha256=<hex HMAC-SHA256 of the raw body>. ?provider= names the source.
import hashlib, hmac, json, time, requests
SECRET = "flsec_..." # Fleet panel, Make the signing secret
URL = "https://www.sealagom.com/api/fleet/hook/flh_.../" # GET /api/v2/fleet/webhook/
body = json.dumps({"data": [{"MMSI": "244123456", "LATITUDE": 51.95, "LONGITUDE": 4.05,
"SOG": 12.1, "COG": 271, "TIMESTAMP": int(time.time())}]}).encode()
t = int(time.time())
sig = hmac.new(SECRET.encode(), f"{t}.".encode() + body, hashlib.sha256).hexdigest()
r = requests.post(URL + "?provider=MyTracker", data=body, timeout=20, headers={
"Content-Type": "application/json", "X-SeaLagom-Signature": f"t={t},v1={sig}"})
print(r.status_code, r.json())Agents (MCP)
The same as an MCP server: tools fleet_access, fleet_vessels, fleet_vessel, fleet_push_positions, fleet_set_route and fleet_start_trial, with your key as Bearer.
{
"mcpServers": {
"sealagom-fleet": {
"url": "https://www.sealagom.com/mcp/fleet",
"headers": { "Authorization": "Bearer YOUR_KEY" }
}
}
}Who may use it
The plans that include fleets (Fleet, All In, Fleet Pro and the Fleet unlimited license) and company licences. People can try it free for 7 days with up to 3 vessels, once per account (POST /api/v2/fleet/trial/ or the Fleet panel). Limits: 120 requests a minute per account and a number of positions a day by the access. These calls never use the requests of a data plan. Plans with fleets
API pesisir
peringatan navigasi pesisir menurut wilayah hidrogrrafi, biasanya lebih lokal daripada NAVAREA, mencakup operasi pelabuhan, bahaya pesisir, dan pemberitahuan keselamatan maritim lokal.
- GET /api/v1/coastal/
- GET /api/v1/coastal/{id}/
- GET /api/v1/coastal/{id}/messages/
- GET /api/v1/coastal/{id}/archived_messages/
Permintaan dasar
curl -X GET "https://www.sealagom.com/api/v1/coastal/?include_messages=true" \
-H "X-API-Token: YOUR_API_TOKEN"Parameter kueri pesisir
Endpoint daftar / detail pesisir menerima gaya filter yang sama seperti NAVAREA jika berlaku.
| Parameter | Tipe | Deskripsi |
|---|---|---|
| id | integer | Filter berdasarkan ID wilayah pesisir. |
| title | string | Filter berdasarkan judul. |
| sub_title | string | Filter berdasarkan sub_title. |
| include_messages | boolean | Sertakan pesan pesisir aktif. |
| include_archived | boolean | Sertakan pesan yang diarsipkan (Full / Custom). |
| include_coordinates | boolean | Koordinat dalam respons (Full / Custom). |
| include_enhanced_coordinates | boolean | Format Decimal, Google Maps, GeoJSON, DMS (Full / Custom). |
| include_keywords | boolean | Peta kata kunci dalam respons (Full / Custom). |
| include_geo_features | boolean | geo_features JSON terstruktur per pesan (hanya Full API). |
| include_ai_analysis | boolean | ai_analysis JSON per pesan (hanya Full API). |
| date_from | date | Semantik sama seperti NAVAREA (Full / Custom). |
| date_to | date | Semantik sama seperti NAVAREA (Full / Custom). |
| keyword | string | Filter kata kunci (Full / Custom). |
| has_coordinates | boolean | Saring pesan yang memiliki koordinat (Full / Custom). |
| country | string | Saring menurut nama negara (cocok sebagian). |
| content_search | string | Cari isi pesan (parsial). |
| title_search | string | Cari di dalam judul (cocok sebagian). |
Integrasi webhook
Pelanggan Full API dan Custom dapat mengonfigurasi URL webhook untuk menerima notifikasi POST real-time kapan pun peringatan NAVAREA atau Pesisir ditambahkan, diperbarui, atau diarsipkan (tanpa polling).
Cara kerja webhook
- Konfigurasikan URL webhook di pengaturan langganan Anda.
- Saat peringatan diterbitkan atau diperbarui, kami mengirim POST yang ditandatangani ke URL Anda.
- Verifikasi permintaan menggunakan webhook secret Anda.
- Server Anda memproses payload dan mengambil tindakan (perbarui DB, kirim notifikasi, dll.).
Security
- Only public https:// URLs are called (no private or local addresses, port 443, no redirects followed).
X-Sealagom-Signatureis HMAC-SHA256 of the body with your secret;X-Sealagom-Signature-256issha256=+ HMAC-SHA256 of<X-Sealagom-Timestamp>.<body>. Check one of them, and reject deliveries whose timestamp is older than five minutes.X-Sealagom-Deliveryis unique per call: keep the last ids to drop a repeated delivery.- Alerts can also go to a Slack, Discord or Teams incoming webhook, or to Zapier, Make, n8n and IFTTT: Integrations.
Konfigurasikan webhook
curl -X POST "https://www.sealagom.com/api/v1/subscriptions/1/webhook/" \
-H "Authorization: Bearer YOUR_JWT_TOKEN" \
-H "Content-Type: application/json" \
-d '{"webhook_url": "https://your-server.com/webhook", "webhook_secret": "your_secret_key"}'Contoh payload webhook
{
"event_type": "navarea_message_added",
"timestamp": "2024-06-01T12:34:56Z",
"data": {
"navarea_id": 1,
"message_id": 123,
"title": "NAVAREA I",
"number": "123/24",
"content": "Message content...",
"added_on": "2024-06-01T12:30:00Z"
},
"signature": "generated_signature_for_verification"
}Kasus penggunaan
API SeaLag.om cocok untuk berbagai aplikasi maritim. Beberapa contoh:
Perangkat lunak navigasi
Lapisi peringatan NAVAREA dan Pesisir langsung pada peta elektronik. Gunakan penyaringan koordinat untuk menampilkan hanya bahaya yang relevan dengan posisi kapal atau rute yang direncanakan.
Aplikasi seluler untuk pelaut
Notifikasi push tentang peringatan baru di area yang diminati. Gabungkan penyaringan geografis dengan webhook untuk memberi tahu pengguna hanya untuk wilayah yang mereka tentukan.
Alat penilaian risiko
Masukkan data peringatan ke dalam perencanaan rute dan analisis keselamatan. Penyaringan kata kunci memungkinkan Anda mengisolasi jenis bahaya seperti SUBMARINE CABLES, MILITARY EXERCISES, atau PIRACY.
Analisis historis
Gunakan penyaringan tanggal dan feed pesan yang diarsipkan untuk mengidentifikasi pola peringatan musiman, bahaya yang berulang, atau koridor berisiko tinggi dari waktu ke waktu.
Integrasi GIS
Masukkan data koordinat (decimal, GeoJSON, DMS) ke ArcGIS, QGIS, atau lapisan peta kustom untuk membuat visualisasi bahaya maritim yang dinamis.
Sistem peringatan kustom
Bangun sistem peringatan otomatis untuk perusahaan pelayaran, operator lepas pantai, atau otoritas pelabuhan. Webhooks akan memicu secara instan ketika peringatan baru cocok dengan kriteria Anda.
Perlu sesuatu yang tidak tercantum di sini? contact@sealagom.com
Pola integrasi data
Pola umum untuk mengintegrasikan data peringatan maritim ke dalam sistem Anda:
| Pola | Deskripsi | Tingkat yang disarankan |
|---|---|---|
| Sinkronisasi berkala | Jadwalkan panggilan API rutin untuk menyinkronkan peringatan ke basis data Anda. Cocok ketika pengiriman waktu nyata tidak diperlukan. | Full API |
| Pembaruan waktu nyata | Integrasi webhook mengirimkan notifikasi segera pada peristiwa terbit / pembaruan. | Full atau Kustom |
| Penyaringan geografis | Saring berdasarkan koordinat untuk mengambil hanya data yang relevan dengan area operasi tertentu. | Full atau Kustom |
| Peringatan berbasis kata kunci | Peringatan otomatis dipicu oleh kata kunci tertentu dalam pesan peringatan (mis. kabel bawah laut, latihan militer). | Full atau Kustom |
| Penyimpanan data | Masukkan data peringatan ke pipeline BI dan analitik menggunakan endpoint rentang-tanggal dan arsip. | Full atau Kustom |
| Plot / tumpang-tindih GIS | Plot peringatan yang diperkaya koordinat pada chart elektronik atau sistem pemetaan. | Full atau Kustom |
| Bentuk respons kustom | Pemilihan field tertentu, format spasial khusus, atau struktur JSON non-standar. | Kustom |
Tip pengembang: Gunakan filter lanjutan untuk meminimalkan transfer dan pemrosesan data. Dengan begitu jawaban tingkat gratis tetap dalam jumlah catatan yang diizinkan per panggilan, dan ukuran jawaban berkurang pada paket Full / Custom.
Pembatasan laju & penggunaan token
The free tier counts calls a day (above). The Full API plans count no tokens and have a daily fair use (UTC): 20,000 calls and 2,000,000 warnings on API Default, 60,000 calls and 6,000,000 warnings on every Full API plan, shown in X-API-Daily-Calls-Limit and X-API-Daily-Calls-Remaining; past it the API answers 429 until 00:00 UTC. No limit at all comes with the Fleet unlimited license: yearly, by a proposal to [email protected].
| Paket | Permintaan | Arsip / Koordinat / Kata kunci |
|---|---|---|
| Free tier | API tanpa kunci: 100 panggilan per hari, hingga 50 peringatan per panggilan, selama 3 hari atau 300 panggilan, mana yang lebih dulu | Tidak termasuk |
| API Default | Tidak terbatas | Archived + raw coordinates; no keywords, enhanced coordinates, geo_features or analysis |
| Full API | Tidak terbatas | Semua termasuk |
| Kustom | Disepakati per kontrak | Sepenuhnya dapat dikustomisasi |
Sisa panggilan API gratis Anda ditampilkan di Profil → API.
Contoh
Permintaan koleksi dasar
curl -X GET "https://www.sealagom.com/api/v1/navarea/?include_messages=true" \
-H "X-API-Token: YOUR_API_TOKEN"Contoh respons daftar (dipangkas)
{
"count": 21,
"next": "https://www.sealagom.com/api/v1/navarea/?page=2",
"previous": null,
"results": [
{
"id": 1,
"title": "NAVAREA I",
"time_upd": "2024-06-01T12:30:00Z",
"active_messages": [
{
"id": 123,
"number": "123/24",
"content": "Full warning text as published...",
"added_on": "2024-06-01T12:30:00Z",
"cancel_date": null
}
]
}
]
}Filter lanjutan (Lengkap / Kustom)
curl -X GET "https://www.sealagom.com/api/v1/navarea/?include_messages=true&date_from=2024-01-01&date_to=2024-12-31&keyword=GUNNERY%20EXERCISE&country=United%20Kingdom" \
-H "X-API-Token: YOUR_API_TOKEN"Respons Full API dengan koordinat & kata kunci
{
"count": 21,
"next": "https://www.sealagom.com/api/v1/navarea/?page=2&include_messages=true&include_coordinates=true&include_keywords=true",
"previous": null,
"results": [
{
"id": 1,
"title": "NAVAREA I",
"country": "United Kingdom",
"time_upd": "2024-06-01T12:30:00Z",
"active_messages": [
{
"id": 123,
"number": "123/24",
"content": "NORTH SEA. UNIT ORCADES FIELD...",
"added_on": "2024-06-01T12:30:00Z",
"cancel_date": null,
"coordinates": {
"text_coordinates": ["59-08.0N 000-34.0E"],
"decimal_coordinates": [[59.1333, 0.5667]],
"google_coordinates": ["59.1333 0.5667"],
"geojson_coordinates": [[0.5667, 59.1333]],
"dms_coordinates": [["59°08'00"N", "0°34'00"E"]]
},
"keywords": {
"hazard": "HAZARD TO NAVIGATION",
"location": "NORTH SEA, ORCADES FIELD",
"action": "CANCEL"
}
}
]
}
]
}Filter pesan dengan koordinat, semua format
curl -X GET "https://www.sealagom.com/api/v1/navarea/?include_messages=true&has_coordinates=true&include_coordinates=true&include_enhanced_coordinates=true" \
-H "X-API-Token: YOUR_API_TOKEN"Filter gabungan
curl -X GET "https://www.sealagom.com/api/v1/navarea/?include_messages=true&date_from=2024-01-01&keyword=GUNNERY%20EXERCISE&has_coordinates=true&country=United%20Kingdom" \
-H "X-API-Token: YOUR_API_TOKEN"