HomeMapSky mapAlpha
More
Account
Loading…
Language: English

Deniz Navigasyon API'si

NAVAREA ve kıyı uyarılarına programatik erişim. Subscription REST şurada /api/v1/ başlığı ile X-API-Token. Üst seviyeler koordinatları, anahtar sözcük haritalarını, arşivin tamamını tek seferde ve gelişmiş filtreleri açar.

Geliştiriciler: GitHub ile giriş yapın, on saniyede API sekmenizde bir Developer anahtarı olur; yürürlükteki uyarılar için 2.000 ücretsiz istek. Arşivler ve tam analiz ücretli planlarla gelir.

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 overview

Everything 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.py and js/sealagom.mjs, no dependencies beyond requests or fetch; generate any other language from openapi.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-Token or Authorization: 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= (or mmsi, warning and region, port, locode, lat and lon) 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).

Başlarken

  1. Buradan bir plan seçin Contributor planları.
  2. Altında bir API token oluşturun Profile → API.
  3. Gönder X-API-Token her /api/v1/ çağrıda.
  4. Liste endpointlerinde sayfalandırmaya ve token kullanımına uyun.

API abonelik planları

Ham metin ve koordinatlar için API Default a, yapılandırılmış geometri (geo_features) için Full API ye yükseltin veya özel entegrasyon için bizimle iletişime geçin.

Ücretsiz API katmanı

Anahtarsız API: günde 100 çağrı, çağrı başına en fazla 50 uyarı, 3 gün veya 300 çağrı, hangisi önce dolarsa.

Bir kota dolduğunda API, neyin kullanıldığını, ne zaman yenileneceğini ve hemen ödeme bağlantılarını içeren HTTP 402 yanıtı verir: ödeme sayfası, kripto veya bir betikten POST /api/agent/checkout/.

API planı olmadan oturum açtıysanız aynı ücretsiz katman hesabınızdan sayılır. GitHub Geliştirici hakkı kendi isteklerini korur.

Yalnızca canlı mesajlar. Arşiv, koordinat, gelişmiş koordinat, anahtar kelime, webhook veya gelişmiş filtre yok.

API Default

Limitsiz istekler, İlk ay $20, sonra otomatik yenileme ile ayda $18

  • Limitsiz API istekleri
  • NAVAREA & Kıyı canlı mesajları
  • Arşivlenmiş mesajlara erişim
  • Ham mesaj metni ve koordinatlar
  • Gerçek zamanlı güncellemeler için Webhook entegrasyonu

Not included: geo_features (areas, circles, sectors, lanes, safety zones), analysis, keywords, or enhanced coordinate formats. Those need Full API.

API Default a abone olun

Full API

Limitsiz istekler, $100 first month, then $90 / month with auto-renew

  • Limitsiz API istekleri
  • NAVAREA & Kıyı canlı mesajları
  • Arşivlenmiş mesajlara erişim
  • Koordinatlar (tüm formatlar: decimal, GeoJSON, DMS, Google Maps)
  • geo_features: noktalar, çizgiler, şeritler, alanlar, çemberler, sektörler, yer değiştirme, emniyet bölgeleri
  • analysis of every warning: summary, status, validity / expiry, hazards, recurring series
  • GeoJSON, CSV, Shapefile, WKT de yapılandırılmış geometri (Contributor da ECDIS & KML tam geometri)
  • Anahtar kelime haritası çıkarımı
  • Gelişmiş filtreler (tarih, anahtar kelime, ülke, tür, has_coordinates)
  • Gerçek zamanlı güncellemeler için Webhook entegrasyonu
Full API ye abone olun

Özel API

İhtiyaçlarınıza göre uyarlanır; bizimle iletişime geçin

  • Full API deki her şey
  • Özel yanıt biçimleri ve veri formatları
  • Talep üzerine belirli alanlar, yapılar veya mekansal formatlar
  • Özel destek ve entegrasyon rehberliği
  • Kurumsal veya yüksek hacimli düzenlemeler
  • SLA ve özel webhook yükleri
Bize ulaşın

Özel bir şeye mi ihtiyacınız var? E-posta gönderin contact@sealagom.com API yanıtları herhangi bir format veya mekansal yapıya göre özelleştirilebilir.

Mevcut planları görüntüleyin ve abone olun

Etkileşimli istek oluşturucu

Bir GET URL si oluşturun ve örnekleri kopyalayın (cURL, Python, JavaScript, Java, Rust). Token ı kendi token ınızla değiştirin.

Aynı parametreleri her seferinde mi kullanıyorsunuz? Onları token üzerinde şu ile kaydedin API v2 builder profilinizde, canlı önizleme ile.

Oluşturulan URL

https://www.sealagom.com/api/v1/navarea/?include_messages=true
curl -X GET "https://www.sealagom.com/api/v1/navarea/?include_messages=true" \
  -H "X-API-Token: YOUR_API_TOKEN"

Genel bakış

SeaLag.om Denizcilik Seyir API'sine hoş geldiniz!

Bu API, deniz güvenliği ve seyir için hayati öneme sahip NAVAREA ve kıyı uyarılarına programatik erişim sağlar.

Full API aboneleri koordinatlar (birden çok biçim), anahtar sözcükler, arşivin tamamı tek seferde ve gelişmiş filtreler dahil zengin veri alır. Özel bir biçime veya mekânsal yapıya mı ihtiyacınız var? Bize ulaşın özelleştirilmiş bir entegrasyon için.

Yanıtlar JSON liste / detay biçimlerindedir. Kullanın page and page_size destekleniyorsa.

Kimlik doğrulama

Başlık gönderin X-API-Token: <token> her /api/v1/ isteği. Eksik veya geçersiz tokenler döner 401 Unauthorized. Tokenler profilinizde oluşturulur; aynı ekrandan döndürün veya iptal edin.

X-API-Token: YOUR_API_TOKEN
Güvenlik: Tokenleri gizli tutun. Uygulama başına ayrı tokenler kullanın. Periyodik olarak veya ele geçirildiğini düşünürseniz hemen yeniden üretin.

Token yönetimi

  • GET /api/v1/tokens/ - tokenlerinizi listeleyin
  • POST /api/v1/tokens/ - bir token oluşturun
  • POST /api/v1/tokens/{id}/regenerate/ - döndür (eski değeri geçersiz kılar)
# 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 ve token ayarları

API v2, v1 ile aynı token, planlar ve istek muhasebesini kullanır. Altında olan her şey /api/v1/ aynı şekilde çalışmaya devam eder, bu yüzden mevcut entegrasyonların değişiklik yapmasına gerek yoktur. v2 şunları ekler:

  • Her uyarının tek bir listesi: GET /api/v2/messages/, NAVAREA ve kıyı uyarılarını birlikte, en yeniden en eskiye, her mesaj bölgesi, ülke ve arşiv durumu ile.
  • bölge uç noktalarındaki mesaj filtreleri: /api/v2/navarea/ and /api/v2/coastal/ v1 gibi cevap verir ve ayrıca uygulayın date_from, date_to, keyword and has_coordinates döndürdükleri mesajlara.
  • Her token üzerinde kaydedilen ayarlar: bir token seçin Profile > API > API v2 builder, menüler ve canlı önizleme ile yanıtı oluşturun ve kaydedin. O token ile yapılan her /api/v2/ çağrısı o biçimi döndürür; /api/v1/ çağrıları kaydedilmiş ayarları görmezden gelir ve tam olarak eskisi gibi cevap verir.
  • prompt filter (Full API):tokenin döndürmesi gereken uyarıları kendi kelimelerinizle tanımlayın, örneğin "sadece ABD çevresindeki uzay çöpü uyarıları".
  • 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/

ParametrePlanNe yapar
scopeHepsinavarea, coastal veya all (varsayılan).
navarea_idHepsiBir veya daha fazla NAVAREA id'si (tekrar veya virgülle ayırarak).
coastal_idHepsiBir veya daha fazla kıyı bölgesi id'si.
countryHepsiÜlke adı, kısmi eşleşme (ör. France).
qHepsiUyarı metnindeki kelimeler (orijinal veya İngilizce).
date_from, date_toHepsiEklenme tarihi veya sonrası / önce, YYYY-MM-DD.
keywordHepsiAnahtar kelime kategorisi veya metindeki herhangi bir kelime; birden fazlası için tekrar edin.
has_coordinatesHepsitrue: sadece pozisyonlu uyarılar.
include_localsHepsitrue: Fransız yerel (AVURNAV) uyarıları da.
include_archived, only_archivedÜcretli APIAktif ve arşivlenmiş, veya sadece arşivlenmiş.
status, message_class, station, lat, lon, radius_nm, bboxHepsiArşiv filtreleri: in_force, cancelled veya expired; tür; bir NAVTEX istasyonu; deniz mili cinsinden yarıçaplı bir mevki ya da west,south,east,north kutusu.
include_coordinatesÜcretli APIHer uyarıdan okunan pozisyonlar.
include_enhanced_coordinatesFull APIHer pozisyon için Decimal, DMS, GeoJSON ve harita bağlantıları.
include_keywordsFull APIHer uyarı için anahtar kelime haritası.
include_geo_featuresFull APIAlanlar, daireler, çizgiler, şeritler, sektörler olarak GeoJSON.
include_ai_analysisFull APIThe analysis object per warning.
ai_severityFull APIcritical, high, moderate, low, info (birden fazlası için tekrar edin).
ai_categoryFull APIcategory ids, e.g. firing_practice, piracy_or_security.
ai_statusFull APICanlı durum: active, scheduled, expired, withdrawn (archived), cancellation_notice, informational.
ai_in_forceFull APItrue: şu anda yürürlükte olan uyarılarla sınırlı.
expires_within_hoursFull APIYalnızca valid_until değeri önümüzdeki N saat içinde olan uyarılar.
expires_after, expires_beforeFull APIvalid_until tarihi veya sonrası / önce bir tarih (YYYY-MM-DD) veya ISO zaman.
exclude_routineFull APItrue: rutin raporları hariç tut (buz raporları, platform listeleri, yürürlükteki listeler).
ai_hasFull APIYalnızca şu analizler: contacts, vessels, aids, keep_clear, time_windows, charts, hazards.
min_keep_clear_nmFull APIEn az N deniz mili boşluk mesafesi.
page, page_sizeHepsiVarsayılan sayfa başına 50; ücretli planlarda en fazla 200, ücretsizde 50.
prompt_filterFull APIoff: ignore the token's prompt filter for this call.
topicFull APIBir besleme: ice, military, space, cables, offshore, survey, hazards, aton, sar, security (Themed feeds bakınız).
settingsHepsioff: bu çağrı için token'ın kaydedilmiş ayarlarını yok say (sade çağrı).

Planınızın içermediği alanlar veya filtreler çıkarılır ve şurada listelenir meta.warnings, asla bir hata değil.

content yayınlanan metindir; 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 orijinal dili adlandırır.

US Coast Guard Local Notices to Mariners (10 bölge, haftalık güncellenir) kıyısal bölgeler başlıklı US Coast Guard LNM, country US. They are not analysed, so their automatic fields are empty; each district also has one message, number LNMxx-DISCREPANCIES, yardımcı denizcilik işaretlerinde bir uyumsuzluğu listeler.

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 }
    }
  ]
}

Bir token üzerinde kaydedilmiş ayarlar

  • Bir token, bir şekil: 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.
  • Her seçenek gösterilir, Full API olanlar dahil, her birinin ihtiyaç duyduğu paket belirtilmiştir. Kaydetme için aktif bir API paketi gerekir.
  • URL önceliklidir: URL'ye koyduğunuz herhangi bir parametre, o çağrı için kaydedilmiş değerin yerini alır; ?settings=off düz bir çağrı yapar.
  • Göreli dönemler: "son 30 gün" gönderir date_from her çağrıda bugünden 30 gün öncesini.
  • Cevaplar bir X-API-Token-Settings başlığı taşır; uygulanan ayarların hangi token'e ait olduğunu belirtir.

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=geojson bir GeoJSON FeatureCollection döndürür, şekil başına bir feature, rota kontrolleri ve harita üstü bindirmeler için hazır.
  • ice_type daraltır: iceberg, sea_ice, ice_edge, icing, ice_report, icebreaker, ice_navigation, other_ice (tekrarla veya virgülle ayır). Her /api/v2/messages/ parametresi de çalışır ve /api/v2/messages/?topic=ice aynı beslemedir.
  • Full API paketi, veya bir ice feed lisansı (yıllık, faturalandırılır): bizimle iletişime geçin.
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=geojson bir FeatureCollection için ve ?category=bir beslemenin sadece bazı kategorilerini tutmak için. Her /api/v2/messages/ parametresi de çalışır ve /api/v2/messages/?topic=military aynı beslemedir.
  • Only warnings with an analysis are included. GET /api/v2/feeds/ (token gerekmez) her bir beslemeyi, uygulamada kaç uyarısının olduğunu listeleyerek gösterir.
  • Full API paketi, veya tek bir besleme için bir feed lisansı (yıllık, faturalandırılır): bizimle iletişime geçin.
  • Free and without a token, for feed readers and scripts: RSS at /feeds/warnings.xml, /feeds/navarea/<id>.xml and /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.

Yayınlar yükleniyor…

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/ o token ile yapılan çağrılar sadece eşleşen uyarıları döndürür. Yürürlükteyken eşleşen bir uyarı arşivlendikten sonra da eşleşmiş olarak kalır.
  • Cevap, şunu ekler meta.prompt_filter prompta, durumuna (matching kaydettikten hemen sonra, ready sonrasında) ve kaç uyarının eşleştiğine dair bilgiyi. ?prompt_filter=off bir çağrı için bunu atlar.
  • 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
    }
  }
}

Yapılandırılmış coğrafi öğeler

Full API aboneliği

İstek ile include_messages=true and include_geo_features=true NAVAREA veya Coastal list/detail endpoint'lerinde. Her mesaj bir geo_features nesnesi içerebilir; grafikler ve GIS için hazır yapılandırılmış geometriler.

  • features[].kind: point, line, lane, area, circle, sector, displacement
  • circle / sector: dahil et radius_nm, merkez nokta ve isteğe bağlı rota limitleri
  • lane: merkez hattı ve koridor genişliği corridor_nm or corridors_nm
  • points[]: ondalık derece; coordinates_raw[]: uyarıdan gelen orijinal koordinat dizeleri
  • Çok bölgeli uyarılar: message_profile, multi_zone, zone_labels, ve özellik başına metadata.zone_label
  • İsteğe bağlı emniyet bölgeleri: safety_zone_meters, safety_zone_nm
  • Dosya dışa aktarımları: Katkıda bulunanlar ECDIS ve KML içinde tam geometri alır. Diğer dışa aktarma formatları, hesabınız Full API erişimine sahip olduğunda yapılandırılmış geometriyi içerir (bakınız plans).

Örnek mesaj alanı

{
  "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" }
      }
    ]
  }
}

Örnek istek

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

Full API aboneliği

Every new or changed warning is read by a model and turned into structured data. Add include_ai_analysis=true (ile include_messages=true) NAVAREA veya Coastal liste/detay uç noktalarına ve her mesaj bir ai_analysis object, or null yeni bir uyarı hâlâ analiz beklerken.

  • headline, summary: düz İngilizce açıklama (İngilizce dışı uyarılar çevrilir)
  • status: active, scheduled, expired, withdrawn (artık yayınlayanın yürürlükteki listesinde değil), cancellation_notice, informational. Geçerlilik tarihlerinden her istekte yeniden hesaplanır, böylece bir uyarı otomatik olarak programlıdan aktif hale ve oradan süresi dolmuş hale geçer.
  • valid_from / valid_until (ISO 8601 UTC) ve time_windows[]: faaliyet dönemleri ve kendiliğinden iptal zamanı; validity_text kaynağın ifadesini alıntılar
  • category, severity (kritik, yüksek, orta, düşük, bilgi), 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 warnings
  • cancels[] / references[]: bu mesajın iptal ettiği veya atıfta bulunduğu uyarı numaraları
  • Operasyonel detaylar: keep_clear_nm (en geniş uzak durma mesafesi, NM), contacts[] (VHF kanalları, istasyonlar, telefonlar), vessels[] (isim, çağrı işareti, MMSI, IMO, rol), depth_m (bir batığın üzerindeki en az derinlik), observed_at (sürülen bir cismin ne zaman bildirildiği), aids[] (etkilenen fener ve şamandıralar, durum ile birlikte), charts[]
  • translations: başlık, özet ve eylem Çince, İspanyolca, Rusça, Portekizce, Yunanca, Ukraynaca, Türkçe, Fransızca ve Filipino dillerinde
  • coord_check: positions the automatic read compared with the parser's (ok, mismatch sadece bir tarafta bulunan pozisyonlarla)
  • Ayrıca: status_label, category_label, status_at_analysis (analiz anında değerlendirilen durum), positions_read[] (positions as the automatic read them), confidence (0 ile 1 arası), analyzed_at and model
  • Tekrarlayan seri: is_routine, series_key and series_label tekrarlayan bültenleri (buz raporları, platform pozisyon listeleri, yürürlükteki uyarı listeleri) gruplayarak yalnızca en son sayıyı tutmanızı sağlar

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.

ile API v2 ayrıca şu verilere göre filtreleyebilirsiniz: canlı durum, sona erme (örneğin önümüzdeki 24 saatte sona erecek her şey), şu anda yürürlükte, şiddet, kategori, uzak durma mesafesi ve kişileri, gemileri veya fenerleri adlandıran analizler.

Analiz otomatik olarak üretilir ve yanlış olabilir. Orijinal uyarı metni content yetkili kaynak olarak kalır.

Örnek mesaj alanı

{
  "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"
  }
}

Örnek istek

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"

Harita nesneleri (platformlar & MODU)

Platform veya MODU pozisyon listelerini içeren uyarılar bir map_objects alanını her mesajda döndürebilir, kullanırken include_messages=true.

Mesaj alanı: map_objects.oil_rigs[]

  • name: yayımlandığı şekilde platform veya ünitenin adı
  • coordinate: uyarıdan alınan koordinat dizgesi
  • lat, lon: ondalık derece
  • is_new_rig, is_new_position: kaynak metninde işaretlendiği zaman
  • catalog (opsiyonel): slug, href, MMSI, navigation area içeren eşleşen katalog girişi

Genel katalog (API belirteci yok)

  • GET /api/public/modu/?q=&page=1 - search active rigs
  • GET /api/public/modu/s/{slug}/ - platform detayı ve bağlantılı uyarılar
  • GET /api/public/map-rigs/ - all active rigs for map overlays

Kıyı telsiz istasyonları ve kurtarma merkezleri

Kurtarma koordine merkezleri (RCC, MRCC, MRSC, JRCC) ve 70 ülkenin DSC kıyı istasyonları, NGA Pub 117 Radio Navigational Aids (bölüm 4) kaynaklı; SeaLagom'un MF/HF DSC test istasyonları işaretlenmiş. API belirteci gerekmez.

  • 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}/ - bir istasyon: MMSI, bandlar ve menziller, nöbet saatleri, alan, iletişimler
  • GET /api/public/coast-stations/near/?lat=&lon=&radius_nm=200&limit=12 - nearest stations

near returns rcc_covering (pozisyonu kapsayan alanı olan kurtarma merkezleri), rcc_near, dsc_near and test_nearest, her biri ile distance_nm. position_approximate Pub 117 hiçbir pozisyon vermediğinde ve istasyon aynı isimli limanda konumlandırıldığında bu true olur. Her girişi resmi telsiz listenizle kontrol edin.

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"

Finlandiya ve Baltık: buzda seyir, arızalı fenerler ve şamandıralar

Fin-İsveç buzkıran hizmetinin kış seyri (buz kısıtlaması olan veya kapalı limanlar, buzkıranlar ve görevleri, buzdaki rotalar) ve Fin sularındaki arızalı fenerler ve şamandıralar; Fintraffic Digitraffic'ten, her 10 dakikada bir güncellenir. API anahtarı gerekmez. Lisans CC BY 4.0: verilerle gelen kaynak bilgisini gösterin.

  • GET /api/public/winter-navigation/
  • GET /api/public/aton-faults/

IA 2000 gibi bir kısıtlama, buzkıran yardımının yalnızca en az o buz sınıfında ve o dedveytte (ton) olan gemilere verildiği anlamına gelir. Sezon dışında listeler boştur. Kış seyri hizmetlerinin resmi duyuruları esastır.

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

Kıyı API'si

Hidroğrafik bölge bazında kıyısal seyir uyarıları; genellikle NAVAREA'dan daha yereldir, liman işlemleri, kıyısal tehlikeler ve yerel deniz güvenliği duyurularını kapsar.

  • GET /api/v1/coastal/
  • GET /api/v1/coastal/{id}/
  • GET /api/v1/coastal/{id}/messages/
  • GET /api/v1/coastal/{id}/archived_messages/

Temel istek

curl -X GET "https://www.sealagom.com/api/v1/coastal/?include_messages=true" \
  -H "X-API-Token: YOUR_API_TOKEN"

Kıyısal sorgu parametreleri

Kıyısal liste / detay uç noktaları, uygulanabildiği yerlerde NAVAREA ile aynı filtre stilini kabul eder.

ParametreTürAçıklama
idintegerKıyı bölgesi ID ile filtrele.
titlestringBaşlığa göre filtrele.
sub_titlestringAlt_başlığa göre filtrele.
include_messagesbooleanAktif kıyı mesajlarını dahil et.
include_archivedbooleanArşivlenmiş mesajları dahil et (Full / Custom).
include_coordinatesbooleanYanıtta koordinatlar (Full / Custom).
include_enhanced_coordinatesbooleanOndalık, Google Maps, GeoJSON, DMS formatları (Full / Custom).
include_keywordsbooleanYanıtta anahtar kelime haritası (Full / Custom).
include_geo_featuresbooleanMesaj başına yapılandırılmış geo_features JSON (yalnızca Full API).
include_ai_analysisbooleanMesaj başına ai_analysis JSON (yalnızca Full API).
date_fromdateNAVAREA ile aynı anlambilim (Full / Custom).
date_todateNAVAREA ile aynı anlambilim (Full / Custom).
keywordstringAnahtar kelime filtresi (Full / Custom).
has_coordinatesbooleanKoordinatları olan mesajları filtrele (Full / Custom).
countrystringÜlke adına göre filtrele (kısmî eşleşme).
content_searchstringMesaj gövdesinde ara (kısmî).
title_searchstringBaşlıklarda ara (kısmî eşleşme).

Webhook entegrasyonu

Full API ve Custom aboneleri, NAVAREA veya Kıyısal uyarılar eklendiğinde, güncellendiğinde veya arşivlendiğinde gerçek zamanlı POST bildirimleri almak için bir webhook URL'si yapılandırabilir (polling gerekli değildir).

Webhook'lar nasıl çalışır

  1. Abonelik ayarlarınızda bir webhook URL'si yapılandırın.
  2. Bir uyarı yayımlandığında veya güncellendiğinde, URL'nize imzalı bir POST göndeririz.
  3. Webhook secret'inizi kullanarak isteği doğrulayın.
  4. Sunucunuz payload'u işler ve işlem yapar (veritabanını güncelleme, push bildirimi vb.).

Security

  • Only public https:// URLs are called (no private or local addresses, port 443, no redirects followed).
  • X-Sealagom-Signature is HMAC-SHA256 of the body with your secret; X-Sealagom-Signature-256 is sha256= + HMAC-SHA256 of <X-Sealagom-Timestamp>.<body>. Check one of them, and reject deliveries whose timestamp is older than five minutes.
  • X-Sealagom-Delivery is 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.

Webhook yapılandır

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"}'

Webhook yükü örneği

{
  "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"
}

Kullanım örnekleri

SeaLagom API geniş bir denizcilik uygulamaları yelpazesi için uygundur. Birkaç örnek:

Navigasyon yazılımı

Canlı NAVAREA ve Kıyı uyarılarını elektronik haritalar üzerine doğrudan bindirin. Sadece geminin konumuna veya planlı rotasına ilişkin tehlikeleri göstermek için koordinat filtrelemesi kullanın.

Denizciler için mobil uygulamalar

İlgi alanlarındaki yeni uyarılar hakkında push bildirimleri. Coğrafi filtrelemeyi webhoklarla eşleştirerek kullanıcılara yalnızca belirledikleri bölgeler için bildirim gönderin.

Risk değerlendirme araçları

Uyarı verilerini rota planlaması ve güvenlik analizine dahil edin. Anahtar kelime filtrelemesi ile denizaltı kabloları, askeri tatbikatlar veya korsanlık gibi tehlike türlerini izole edebilirsiniz.

Tarihsel analiz

Mevsimsel uyarı kalıplarını, tekrarlayan tehlikeleri veya zaman içinde yüksek riskli koridorları tespit etmek için tarih filtrelemesi ve arşivlenmiş mesajlar akışını kullanın.

GIS entegrasyonu

Koordinat verilerini (ondalık, GeoJSON, DMS) ArcGIS, QGIS veya özel harita katmanlarına besleyerek dinamik denizcilik tehlike görselleştirmeleri oluşturun.

Özel alarm sistemleri

Denizcilik şirketleri, offshore operatörleri veya liman otoriteleri için otomatik alarm sistemleri kurun. Yeni uyarılar kriterlerinize uyduğunda webhoklar anında tetiklenir.

Burada listelenmeyen bir şeye mi ihtiyacınız var? contact@sealagom.com

Veri entegrasyon desenleri

Denizcilik uyarı verilerini sistemlerinize entegre etmek için yaygın desenler:

DesenAçıklamaÖnerilen seviye
Periyodik senkronizasyonUyarıları veritabanınıza senkronize etmek için düzenli API çağrıları planlayın. Gerçek zamanlı teslimat gerekmediğinde uygundur.Full API
Gerçek zamanlı güncellemelerWebhook entegrasyonu yayımlama/güncelleme olaylarında anlık bildirimler sağlar.Full veya Custom
Coğrafi filtrelemeSadece operasyon alanlarına ilişkin verileri almak için koordinatlara göre filtreleyin.Full veya Custom
Anahtar kelime tabanlı uyarılarUyarı mesajlarındaki belirli anahtar kelimeler tarafından tetiklenen otomatik uyarılar (ör. denizaltı kabloları, askeri tatbikatlar).Full veya Custom
Veri ambarlamaTarih aralığı ve arşiv uç noktalarını kullanarak uyarı verilerini BI ve analiz hatlarına besleyin.Full veya Custom
Harita / GIS bindirmesiKoordinat zenginleştirilmiş uyarıları elektronik haritalar veya haritalama sistemleri üzerinde gösterin.Full veya Custom
Özel yanıt biçimleriBelirli alan seçimi, özel uzamsal formatlar veya standart dışı JSON yapıları.Custom

Geliştirici ipucu: Veri aktarımını ve işlemeyi en aza indirmek için gelişmiş filtreleri kullanın. Böylece ücretsiz katmanın yanıtları bir çağrının izin verdiği kayıt sayısı içinde kalır ve Full / Custom planlarında yanıt boyutu küçülür.

Oran sınırlaması ve token kullanımı

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].

PlanİsteklerArşivlenmiş / Koordinatlar / Anahtar kelimeler
Ücretsiz katmanAnahtarsız API: günde 100 çağrı, çağrı başına en fazla 50 uyarı, 3 gün veya 300 çağrı, hangisi önce dolarsaDahil değil
API DefaultLimitsizArchived + raw coordinates; no keywords, enhanced coordinates, geo_features or analysis
Full APILimitsizHepsi dahil
CustomSözleşme ile kararlaştırılırTamamen özelleştirilebilir

Kalan ücretsiz API çağrılarınız şurada gösterilir: Profile → API.

Örnekler

Temel koleksiyon isteği

curl -X GET "https://www.sealagom.com/api/v1/navarea/?include_messages=true" \
  -H "X-API-Token: YOUR_API_TOKEN"

Örnek liste yanıtı (kısaltılmış)

{
  "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
        }
      ]
    }
  ]
}

Gelişmiş filtreler (Full / Custom)

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"

Koordinatlar ve anahtar kelimeler ile Full API yanıtı

{
  "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"
          }
        }
      ]
    }
  ]
}

Koordinatları olan mesajları, tüm formatlarda filtrele

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"

Birleştirilmiş filtreler

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"
Beta look