Datalastic Vessel Tracking & Maritime Intelligence

Vessel tracking for 750,000+ ships, with ownership, inspections, port records, routes, and more.

사용해야 할까요

품질 및 안전성

A
설명 품질
100%
스키마 완전성
87%
이름 품질
88%
오염 위험
100%
권한 일치
100%
프로토콜 준수
100%

도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.

컨텍스트 비용

~14,354토큰 (도구 정의)
~5.0 KB일반적인 응답 크기
상당한 주의 영향 (128k 컨텍스트의 11.21%)

이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.

설치

원클릭 설치

`claude_desktop_config.json` 파일에 다음을 추가하세요:

{
  "mcpServers": {
    "vessel-tracking": {
      "url": "https://mcp.datalastic.com/mcp"
    }
  }
}

원격 엔드포인트

https://mcp.datalastic.com/mcpstreamable-http

할 수 있는 일

도구 목록

도구 (25)

🟢 읽기 전용🟡 쓰기🔴 삭제⚪ 알 수 없음
🟢estimated_vessel_position(mmsi, imo, uuid)

Estimate where a vessel is right now when its last AIS position is stale — Datalastic uses terrestrial AIS only, so a ship in open ocean can be many hours old. The position is calculated from the last known fix, the recognized destination port, and the route-based ETA. It is an ESTIMATE, not an observed position. Tool selection — use this LAST: prefer get_vessel for a live position (cheapest); prefer get_vessel_pro when the user wants the ETA or recognized destination. Only reach for this tool when BOTH hold: (1) a prior get_vessel/get_vessel_pro lookup shows the last known position is old, and (2) the vessel has a destination and an ETA. It is the heaviest call (it builds a route) and adds nothing when get_vessel already returns a recent position. Because it is an estimate, OFFER it to the user first rather than calling it silently, and when you present the result make clear it is an estimated position, not a real fix. If estimated_position equals the last known lat/lon, the system could not extrapolate (the position is recent, or the ETA is missing/outdated) — say so instead of implying movement.

입력 스키마

{
  "type": "object",
  "properties": {
    "mmsi": {
      "type": "string",
      "description": "Vessel MMSI identifier, exactly 9 digits. Provide exactly one of mmsi, imo, or uuid."
    },
    "imo": {
      "type": "string",
      "description": "Vessel IMO number, exactly 7 digits. Provide exactly one of mmsi, imo, or uuid."
    },
    "uuid": {
      "type": "string",
      "description": "Datalastic internal vessel UUID. Provide exactly one of mmsi, imo, or uuid."
    }
  },
  "additionalProperties": false
}

출력 스키마

{
  "type": "object",
  "properties": {
    "uuid": {
      "type": "string"
    },
    "name": {
      "type": [
        "null",
        "string"
      ]
    },
    "mmsi": {
      "type": [
        "null",
        "string"
      ]
    },
    "imo": {
      "type": [
        "null",
        "string"
      ]
    },
    "eni": {
      "type": [
        "null",
        "string"
      ]
    },
    "country_iso": {
      "type": [
        "null",
        "string"
      ]
    },
    "type": {
      "type": [
        "null",
        "string"
      ]
    },
    "type_specific": {
      "type": [
        "null",
        "string"
      ]
    },
    "lat": {
      "type": [
        "null",
        "number"
      ]
    },
    "lon": {
      "type": [
        "null",
        "number"
      ]
    },
    "speed": {
      "type": [
        "null",
        "number"
      ]
    },
    "course": {
      "type": [
        "null",
        "number"
      ]
    },
    "heading": {
      "type": [
        "null",
        "integer"
      ]
    },
    "current_draught": {
      "type": [
        "null",
        "number"
      ]
    },
    "navigation_status": {
      "type": [
        "null",
        "string"
      ]
    },
    "destination": {
      "type": [
        "null",
        "string"
      ]
    },
    "dest_port_uuid": {
      "type": [
        "null",
        "string"
      ]
    },
    "dest_port": {
      "type": [
        "null",
        "string"
      ]
    },
    "dest_port_unlocode": {
      "type": [
        "null",
        "string"
      ]
    },
    "dep_port_uuid": {
      "type": [
        "null",
        "string"
      ]
    },
    "dep_port": {
      "type": [
        "null",
        "string"
      ]
    },
    "dep_port_unlocode": {
      "type": [
        "null",
        "string"
      ]
    },
    "last_position_epoch": {
      "type": [
        "null",
        "integer"
      ]
    },
    "last_position_UTC": {
      "type": [
        "null",
        "string"
      ]
    },
    "atd_epoch": {
      "type": [
        "null",
        "integer"
      ]
    },
    "atd_UTC": {
      "type": [
        "null",
        "string"
      ]
    },
    "eta_epoch": {
      "type": [
        "null",
        "integer"
      ]
    },
    "eta_UTC": {
      "type": [
        "null",
        "string"
      ]
    },
    "timezone_offset_sec": {
      "type": [
        "null",
        "integer"
      ]
    },
    "timezone": {
      "type": [
        "null",
        "string"
      ]
    },
    "estimated_position": {
      "type": [
        "null",
        "object"
      ],
      "properties": {
        "lat": {
          "type": [
            "null",
            "number"
          ]
        },
        "lon": {
          "type": [
            "null",
            "number"
          ]
        }
      },
      "required": [
        "lat",
        "lon"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "uuid",
    "name",
    "mmsi",
    "imo",
    "eni",
    "country_iso",
    "type",
    "type_specific",
    "lat",
    "lon",
    "speed",
    "course",
    "heading",
    "current_draught",
    "navigation_status",
    "destination",
    "dest_port_uuid",
    "dest_port",
    "dest_port_unlocode",
    "dep_port_uuid",
    "dep_port",
    "dep_port_unlocode",
    "last_position_epoch",
    "last_position_UTC",
    "atd_epoch",
    "atd_UTC",
    "eta_epoch",
    "eta_UTC",
    "timezone_offset_sec",
    "timezone",
    "estimated_position"
  ],
  "additionalProperties": false
}
🟢find_ports(name, uuid, fuzzy, port_type, country_iso, ...)

Search the port registry and return matching ports (identity, country, UN/LOCODE, classification, coordinates, maritime area). Search by name (optionally fuzzy), UN/LOCODE, classification, country, or geographically (lat + lon + radius in nautical miles). Always returns a list, even for a single match. Use this to discover ports or resolve a name to a UN/LOCODE/uuid; for full detail on one known port (including terminals) use get_port.

입력 스키마

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "description": "Port name to search for (set fuzzy for approximate matching)."
    },
    "uuid": {
      "type": "string",
      "description": "Datalastic port UUID."
    },
    "fuzzy": {
      "type": "boolean",
      "description": "Match the name approximately instead of exactly."
    },
    "port_type": {
      "type": "string",
      "description": "Filter by classification. One of: Port, Anchorage, Marina, Offshore Terminal, Shelter, Demolition Yard, Canal, Fishing Harbour."
    },
    "country_iso": {
      "type": "string",
      "description": "2-letter ISO country code (e.g. GB)."
    },
    "unlocode": {
      "type": "string",
      "description": "Port UN/LOCODE: 5 alphanumeric characters (case-insensitive)."
    },
    "lat": {
      "type": [
        "null",
        "number"
      ],
      "description": "Center latitude for a geographic search (use with lon and radius)."
    },
    "lon": {
      "type": [
        "null",
        "number"
      ],
      "description": "Center longitude for a geographic search (use with lat and radius)."
    },
    "radius": {
      "type": "number",
      "description": "Search radius in nautical miles (max 50); requires lat and lon."
    }
  },
  "additionalProperties": false
}

출력 스키마

{
  "type": "object",
  "properties": {
    "ports": {
      "type": [
        "null",
        "array"
      ],
      "items": {
        "type": "object",
        "properties": {
          "uuid": {
            "type": "string"
          },
          "port_name": {
            "type": [
              "null",
              "string"
            ]
          },
          "country_iso": {
            "type": [
              "null",
              "string"
            ]
          },
          "country_name": {
            "type": [
              "null",
              "string"
            ]
          },
          "unlocode": {
            "type": [
              "null",
              "string"
            ]
          },
          "port_type": {
            "type": [
              "null",
              "string"
            ]
          },
          "lat": {
            "type": [
              "null",
              "number"
            ]
          },
          "lon": {
            "type": [
              "null",
              "number"
            ]
          },
          "area_lvl1": {
            "type": [
              "null",
              "string"
            ]
          },
          "area_lvl2": {
            "type": [
              "null",
              "string"
            ]
          }
        },
        "required": [
          "uuid",
          "port_name",
          "country_iso",
          "country_name",
          "unlocode",
          "port_type",
          "lat",
          "lon",
          "area_lvl1",
          "area_lvl2"
        ],
        "additionalProperties": false
      }
    }
  },
  "required": [
    "ports"
  ],
  "additionalProperties": false
}
🟢find_vessels(name, fuzzy, type, type_specific, country_iso, ...)

Search the vessel registry by any combination of name (optionally fuzzy), type, flag country, dimensions, tonnage, or year built — no MMSI or IMO needed. Returns up to 500 static specification records per page (tonnage, dimensions, year built, home port, callsign, etc.) — this is reference data, NOT live position. Provide at least one search criterion; use the response's next token via the next argument to page. Credits: 1 per vessel found. For a vessel's live position use get_vessel; for vessels currently in an area use get_vessels_in_radius.

입력 스키마

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "description": "Vessel name to search for. Combine with fuzzy for similar-name matching."
    },
    "fuzzy": {
      "type": "boolean",
      "description": "If true, match similar/approximate names; if false (default) the name must match exactly. Only meaningful together with name."
    },
    "type": {
      "type": "string",
      "description": "Filter by vessel type (e.g. Cargo, Tanker)."
    },
    "type_specific": {
      "type": "string",
      "description": "Filter by vessel subtype (e.g. Bulk Carrier)."
    },
    "country_iso": {
      "type": "string",
      "description": "Filter by flag country, 2-letter ISO code (e.g. MT)."
    },
    "gross_tonnage_min": {
      "type": [
        "null",
        "integer"
      ],
      "description": "Minimum gross tonnage."
    },
    "gross_tonnage_max": {
      "type": [
        "null",
        "integer"
      ],
      "description": "Maximum gross tonnage."
    },
    "deadweight_min": {
      "type": [
        "null",
        "integer"
      ],
      "description": "Minimum deadweight (tonnes)."
    },
    "deadweight_max": {
      "type": [
        "null",
        "integer"
      ],
      "description": "Maximum deadweight (tonnes)."
    },
    "length_min": {
      "type": [
        "null",
        "number"
      ],
      "description": "Minimum length (meters)."
    },
    "length_max": {
      "type": [
        "null",
        "number"
      ],
      "description": "Maximum length (meters)."
    },
    "breadth_min": {
      "type": [
        "null",
        "number"
      ],
      "description": "Minimum breadth (meters)."
    },
    "breadth_max": {
      "type": [
        "null",
        "number"
      ],
      "description": "Maximum breadth (meters)."
    },
    "year_built_min": {
      "type": [
        "null",
        "integer"
      ],
      "description": "Earliest year built."
    },
    "year_built_max": {
      "type": [
        "null",
        "integer"
      ],
      "description": "Latest year built."
    },
    "include_unknown_type": {
      "type": [
        "null",
        "boolean"
      ],
      "description": "Include vessels with no/unknown type. Maps to the API's _empty_."
    },
    "next": {
      "type": "string",
      "description": "Pagination token from a previous response's next field, to fetch the next page (up to 500 results per page)."
    }
  },
  "additionalProperties": false
}

출력 스키마

{
  "type": "object",
  "properties": {
    "vessels": {
      "type": [
        "null",
        "array"
      ],
      "items": {
        "type": "object",
        "properties": {
          "uuid": {
            "type": "string"
          },
          "name": {
            "type": [
              "null",
              "string"
            ]
          },
          "name_ais": {
            "type": [
              "null",
              "string"
            ]
          },
          "mmsi": {
            "type": [
              "null",
              "string"
            ]
          },
          "imo": {
            "type": [
              "null",
              "string"
            ]
          },
          "eni": {
            "type": [
              "null",
              "string"
            ]
          },
          "country_iso": {
            "type": [
              "null",
              "string"
            ]
          },
          "country_name": {
            "type": [
              "null",
              "string"
            ]
          },
          "callsign": {
            "type": [
              "null",
              "string"
            ]
          },
          "type": {
            "type": [
              "null",
              "string"
            ]
          },
          "type_specific": {
            "type": [
              "null",
              "string"
            ]
          },
          "gross_tonnage": {
            "type": [
              "null",
              "integer"
            ]
          },
          "deadweight": {
            "type": [
              "null",
              "integer"
            ]
          },
          "teu": {
            "type": [
              "null",
              "string"
            ]
          },
          "liquid_gas": {
            "type": [
              "null",
              "string"
            ]
          },
          "length": {
            "type": [
              "null",
              "number"
            ]
          },
          "breadth": {
            "type": [
              "null",
              "number"
            ]
          },
          "draught_avg": {
            "type": [
              "null",
              "number"
            ]
          },
          "draught_max": {
            "type": [
              "null",
              "number"
            ]
          },
          "speed_avg": {
            "type": [
              "null",
              "number"
            ]
          },
          "speed_max": {
            "type": [
              "null",
              "number"
            ]
          },
          "year_built": {
            "type": [
              "null",
              "string"
            ]
          },
          "is_navaid": {
            "type": [
              "null",
              "boolean"
            ]
          },
          "home_port": {
            "type": [
              "null",
              "string"
            ]
          }
        },
        "required": [
          "uuid",
          "name",
          "name_ais",
          "mmsi",
          "imo",
          "eni",
          "country_iso",
          "country_name",
          "callsign",
          "type",
          "type_specific",
          "gross_tonnage",
          "deadweight",
          "teu",
          "liquid_gas",
          "length",
          "breadth",
          "draught_avg",
          "draught_max",
          "speed_avg",
          "speed_max",
          "year_built",
          "is_navaid",
          "home_port"
        ],
        "additionalProperties": false
      }
    },
    "next": {
      "type": [
        "null",
        "string"
      ]
    }
  },
  "required": [
    "vessels",
    "next"
  ],
  "additionalProperties": false
}
🟢get_port(uuid, unlocode)

Return detailed information for a single port — identity, country, UN/LOCODE, classification, coordinates, maritime area, and the list of terminals (name, operating company, coordinates, address, website). Look up the port by its Datalastic uuid or its UN/LOCODE (exactly one). To search for a port by name or location, or when you don't have an exact identifier, use find_ports first.

입력 스키마

{
  "type": "object",
  "properties": {
    "uuid": {
      "type": "string",
      "description": "Datalastic port UUID. Provide exactly one of uuid or unlocode."
    },
    "unlocode": {
      "type": "string",
      "description": "Port UN/LOCODE: 5 alphanumeric characters, e.g. ESMPG (case-insensitive). Provide exactly one of uuid or unlocode."
    }
  },
  "additionalProperties": false
}

출력 스키마

{
  "type": "object",
  "properties": {
    "uuid": {
      "type": "string"
    },
    "port_name": {
      "type": [
        "null",
        "string"
      ]
    },
    "country_iso": {
      "type": [
        "null",
        "string"
      ]
    },
    "country_name": {
      "type": [
        "null",
        "string"
      ]
    },
    "unlocode": {
      "type": [
        "null",
        "string"
      ]
    },
    "port_type": {
      "type": [
        "null",
        "string"
      ]
    },
    "lat": {
      "type": [
        "null",
        "number"
      ]
    },
    "lon": {
      "type": [
        "null",
        "number"
      ]
    },
    "area_lvl1": {
      "type": [
        "null",
        "string"
      ]
    },
    "area_lvl2": {
      "type": [
        "null",
        "string"
      ]
    },
    "terminals": {
      "type": [
        "null",
        "array"
      ],
      "items": {
        "type": "object",
        "properties": {
          "terminal_code": {
            "type": [
              "null",
              "string"
            ]
          },
          "terminal_name": {
            "type": [
              "null",
              "string"
            ]
          },
          "company_name": {
            "type": [
              "null",
              "string"
            ]
          },
          "lat": {
            "type": [
              "null",
              "number"
            ]
          },
          "lon": {
            "type": [
              "null",
              "number"
            ]
          },
          "url": {
            "type": [
              "null",
              "string"
            ]
          },
          "address": {
            "type": [
              "null",
              "string"
            ]
          }
        },
        "required": [
          "terminal_code",
          "terminal_name",
          "company_name",
          "lat",
          "lon",
          "url",
          "address"
        ],
        "additionalProperties": false
      }
    }
  },
  "required": [
    "uuid",
    "port_name",
    "country_iso",
    "country_name",
    "unlocode",
    "port_type",
    "lat",
    "lon",
    "area_lvl1",
    "area_lvl2",
    "terminals"
  ],
  "additionalProperties": false
}
🟢get_vessel(mmsi, imo, uuid)

Return the current position and basic information for a single vessel, identified by exactly one of: MMSI (9 digits), IMO (7 digits), or Datalastic UUID. Includes live coordinates, speed, course, heading, navigation status and the raw AIS destination text. This is the default tool for vessel lookups. For the recognized destination or origin port (name + UNLOCODE), actual departure time (ATD), a reliable estimated time of arrival (ETA), or draught, use get_vessel_pro instead.

입력 스키마

{
  "type": "object",
  "properties": {
    "mmsi": {
      "type": "string",
      "description": "Vessel MMSI identifier, exactly 9 digits (e.g. 477553000). Provide exactly one of mmsi, imo, or uuid."
    },
    "imo": {
      "type": "string",
      "description": "Vessel IMO number, exactly 7 digits (e.g. 9839179). Provide exactly one of mmsi, imo, or uuid."
    },
    "uuid": {
      "type": "string",
      "description": "Datalastic internal vessel UUID. Provide exactly one of mmsi, imo, or uuid."
    }
  },
  "additionalProperties": false
}

출력 스키마

{
  "type": "object",
  "properties": {
    "uuid": {
      "type": "string"
    },
    "name": {
      "type": [
        "null",
        "string"
      ]
    },
    "mmsi": {
      "type": [
        "null",
        "string"
      ]
    },
    "imo": {
      "type": [
        "null",
        "string"
      ]
    },
    "eni": {
      "type": [
        "null",
        "string"
      ]
    },
    "country_iso": {
      "type": [
        "null",
        "string"
      ]
    },
    "type": {
      "type": [
        "null",
        "string"
      ]
    },
    "type_specific": {
      "type": [
        "null",
        "string"
      ]
    },
    "lat": {
      "type": [
        "null",
        "number"
      ]
    },
    "lon": {
      "type": [
        "null",
        "number"
      ]
    },
    "speed": {
      "type": [
        "null",
        "number"
      ]
    },
    "course": {
      "type": [
        "null",
        "number"
      ]
    },
    "heading": {
      "type": [
        "null",
        "integer"
      ]
    },
    "navigation_status": {
      "type": [
        "null",
        "string"
      ]
    },
    "destination": {
      "type": [
        "null",
        "string"
      ]
    },
    "last_position_epoch": {
      "type": [
        "null",
        "integer"
      ]
    },
    "last_position_UTC": {
      "type": [
        "null",
        "string"
      ]
    },
    "eta_epoch": {
      "type": [
        "null",
        "integer"
      ]
    },
    "eta_UTC": {
      "type": [
        "null",
        "string"
      ]
    }
  },
  "required": [
    "uuid",
    "name",
    "mmsi",
    "imo",
    "eni",
    "country_iso",
    "type",
    "type_specific",
    "lat",
    "lon",
    "speed",
    "course",
    "heading",
    "navigation_status",
    "destination",
    "last_position_epoch",
    "last_position_UTC",
    "eta_epoch",
    "eta_UTC"
  ],
  "additionalProperties": false
}
🟢get_vessel_history(mmsi, imo, uuid, days, from, ...)

Return the historical track (ordered position records) for a single vessel, identified by exactly one of: MMSI (9 digits), IMO (7 digits), or Datalastic UUID. Specify the time range with either 'days' (last N days) or 'from'/'to' dates (YYYY-MM-DD, 'to' at most 30 days after 'from'). Data is available since 2021-08-10; only position changes are stored, so stationary periods may have gaps.

입력 스키마

{
  "type": "object",
  "properties": {
    "mmsi": {
      "type": "string",
      "description": "Vessel MMSI identifier, exactly 9 digits. Provide exactly one of mmsi, imo, or uuid."
    },
    "imo": {
      "type": "string",
      "description": "Vessel IMO number, exactly 7 digits. Provide exactly one of mmsi, imo, or uuid."
    },
    "uuid": {
      "type": "string",
      "description": "Datalastic internal vessel UUID. Provide exactly one of mmsi, imo, or uuid."
    },
    "days": {
      "type": "integer",
      "description": "Number of past days from today to include (e.g. 3). Use either days OR from/to, not both."
    },
    "from": {
      "type": "string",
      "description": "Start date YYYY-MM-DD. Data is available since 2021-08-10. Use either from/to OR days, not both."
    },
    "to": {
      "type": "string",
      "description": "End date YYYY-MM-DD (at most 30 days after 'from'). Requires 'from'. Defaults to now if omitted."
    }
  },
  "additionalProperties": false
}

출력 스키마

{
  "type": "object",
  "properties": {
    "uuid": {
      "type": "string"
    },
    "name": {
      "type": [
        "null",
        "string"
      ]
    },
    "mmsi": {
      "type": [
        "null",
        "string"
      ]
    },
    "imo": {
      "type": [
        "null",
        "string"
      ]
    },
    "eni": {
      "type": [
        "null",
        "string"
      ]
    },
    "country_iso": {
      "type": [
        "null",
        "string"
      ]
    },
    "type": {
      "type": [
        "null",
        "string"
      ]
    },
    "type_specific": {
      "type": [
        "null",
        "string"
      ]
    },
    "positions": {
      "type": [
        "null",
        "array"
      ],
      "items": {
        "type": "object",
        "properties": {
          "lat": {
            "type": [
              "null",
              "number"
            ]
          },
          "lon": {
            "type": [
              "null",
              "number"
            ]
          },
          "speed": {
            "type": [
              "null",
              "number"
            ]
          },
          "course": {
            "type": [
              "null",
              "number"
            ]
          },
          "heading": {
            "type": [
              "null",
              "integer"
            ]
          },
          "destination": {
            "type": [
              "null",
              "string"
            ]
          },
          "last_position_epoch": {
            "type": [
              "null",
              "integer"
            ]
          },
          "last_position_UTC": {
            "type": [
              "null",
              "string"
            ]
          }
        },
        "required": [
          "lat",
          "lon",
          "speed",
          "course",
          "heading",
          "destination",
          "last_position_epoch",
          "last_position_UTC"
        ],
        "additionalProperties": false
      }
    }
  },
  "required": [
    "uuid",
    "name",
    "mmsi",
    "imo",
    "eni",
    "country_iso",
    "type",
    "type_specific",
    "positions"
  ],
  "additionalProperties": false
}
🟢get_vessel_info(mmsi, imo, uuid)

Return static specifications for a single vessel, identified by exactly one of: MMSI (9 digits), IMO (7 digits), or Datalastic UUID. Includes physical dimensions (length, breadth, draught), tonnage and cargo capacity (gross tonnage, deadweight, TEU, liquid gas), speed characteristics, year built, flag country, callsign and home port. This is reference data, NOT live position — use get_vessel for the current position, or find_vessels to search the registry by attributes.

입력 스키마

{
  "type": "object",
  "properties": {
    "mmsi": {
      "type": "string",
      "description": "Vessel MMSI identifier, exactly 9 digits (e.g. 566093000). Provide exactly one of mmsi, imo, or uuid."
    },
    "imo": {
      "type": "string",
      "description": "Vessel IMO number, exactly 7 digits (e.g. 9525338). Provide exactly one of mmsi, imo, or uuid."
    },
    "uuid": {
      "type": "string",
      "description": "Datalastic internal vessel UUID. Provide exactly one of mmsi, imo, or uuid."
    }
  },
  "additionalProperties": false
}

출력 스키마

{
  "type": "object",
  "properties": {
    "uuid": {
      "type": "string"
    },
    "name": {
      "type": [
        "null",
        "string"
      ]
    },
    "name_ais": {
      "type": [
        "null",
        "string"
      ]
    },
    "mmsi": {
      "type": [
        "null",
        "string"
      ]
    },
    "imo": {
      "type": [
        "null",
        "string"
      ]
    },
    "eni": {
      "type": [
        "null",
        "string"
      ]
    },
    "country_iso": {
      "type": [
        "null",
        "string"
      ]
    },
    "country_name": {
      "type": [
        "null",
        "string"
      ]
    },
    "callsign": {
      "type": [
        "null",
        "string"
      ]
    },
    "type": {
      "type": [
        "null",
        "string"
      ]
    },
    "type_specific": {
      "type": [
        "null",
        "string"
      ]
    },
    "gross_tonnage": {
      "type": [
        "null",
        "integer"
      ]
    },
    "deadweight": {
      "type": [
        "null",
        "integer"
      ]
    },
    "teu": {
      "type": [
        "null",
        "string"
      ]
    },
    "liquid_gas": {
      "type": [
        "null",
        "string"
      ]
    },
    "length": {
      "type": [
        "null",
        "number"
      ]
    },
    "breadth": {
      "type": [
        "null",
        "number"
      ]
    },
    "draught_avg": {
      "type": [
        "null",
        "number"
      ]
    },
    "draught_max": {
      "type": [
        "null",
        "number"
      ]
    },
    "speed_avg": {
      "type": [
        "null",
        "number"
      ]
    },
    "speed_max": {
      "type": [
        "null",
        "number"
      ]
    },
    "year_built": {
      "type": [
        "null",
        "string"
      ]
    },
    "is_navaid": {
      "type": [
        "null",
        "boolean"
      ]
    },
    "home_port": {
      "type": [
        "null",
        "string"
      ]
    }
  },
  "required": [
    "uuid",
    "name",
    "name_ais",
    "mmsi",
    "imo",
    "eni",
    "country_iso",
    "country_name",
    "callsign",
    "type",
    "type_specific",
    "gross_tonnage",
    "deadweight",
    "teu",
    "liquid_gas",
    "length",
    "breadth",
    "draught_avg",
    "draught_max",
    "speed_avg",
    "speed_max",
    "year_built",
    "is_navaid",
    "home_port"
  ],
  "additionalProperties": false
}
🟢get_vessel_pro(mmsi, imo, uuid)

Richer, heavier variant of get_vessel for a single vessel, identified by exactly one of: MMSI (9 digits), IMO (7 digits), or Datalastic UUID. In addition to the basic position and identity, it returns the recognized destination port and origin port (name + UNLOCODE), the actual time of departure (ATD), a reliable estimated time of arrival (ETA), and current draught. Prefer get_vessel for ordinary position or identity lookups; use get_vessel_pro only when the user asks about the destination or origin port, departure time, arrival time or ETA, or draught, as it is heavier on the backend. If the last known position is stale (the vessel may be out of terrestrial AIS range) and it has a destination and ETA, consider offering estimated_vessel_position to estimate where it is now.

입력 스키마

{
  "type": "object",
  "properties": {
    "mmsi": {
      "type": "string",
      "description": "Vessel MMSI identifier, exactly 9 digits (e.g. 477553000). Provide exactly one of mmsi, imo, or uuid."
    },
    "imo": {
      "type": "string",
      "description": "Vessel IMO number, exactly 7 digits (e.g. 9839179). Provide exactly one of mmsi, imo, or uuid."
    },
    "uuid": {
      "type": "string",
      "description": "Datalastic internal vessel UUID. Provide exactly one of mmsi, imo, or uuid."
    }
  },
  "additionalProperties": false
}

출력 스키마

{
  "type": "object",
  "properties": {
    "uuid": {
      "type": "string"
    },
    "name": {
      "type": [
        "null",
        "string"
      ]
    },
    "mmsi": {
      "type": [
        "null",
        "string"
      ]
    },
    "imo": {
      "type": [
        "null",
        "string"
      ]
    },
    "eni": {
      "type": [
        "null",
        "string"
      ]
    },
    "country_iso": {
      "type": [
        "null",
        "string"
      ]
    },
    "type": {
      "type": [
        "null",
        "string"
      ]
    },
    "type_specific": {
      "type": [
        "null",
        "string"
      ]
    },
    "lat": {
      "type": [
        "null",
        "number"
      ]
    },
    "lon": {
      "type": [
        "null",
        "number"
      ]
    },
    "speed": {
      "type": [
        "null",
        "number"
      ]
    },
    "course": {
      "type": [
        "null",
        "number"
      ]
    },
    "heading": {
      "type": [
        "null",
        "integer"
      ]
    },
    "current_draught": {
      "type": [
        "null",
        "number"
      ]
    },
    "navigation_status": {
      "type": [
        "null",
        "string"
      ]
    },
    "destination": {
      "type": [
        "null",
        "string"
      ]
    },
    "dest_port_uuid": {
      "type": [
        "null",
        "string"
      ]
    },
    "dest_port": {
      "type": [
        "null",
        "string"
      ]
    },
    "dest_port_unlocode": {
      "type": [
        "null",
        "string"
      ]
    },
    "dep_port_uuid": {
      "type": [
        "null",
        "string"
      ]
    },
    "dep_port": {
      "type": [
        "null",
        "string"
      ]
    },
    "dep_port_unlocode": {
      "type": [
        "null",
        "string"
      ]
    },
    "last_position_epoch": {
      "type": [
        "null",
        "integer"
      ]
    },
    "last_position_UTC": {
      "type": [
        "null",
        "string"
      ]
    },
    "atd_epoch": {
      "type": [
        "null",
        "integer"
      ]
    },
    "atd_UTC": {
      "type": [
        "null",
        "string"
      ]
    },
    "eta_epoch": {
      "type": [
        "null",
        "integer"
      ]
    },
    "eta_UTC": {
      "type": [
        "null",
        "string"
      ]
    },
    "timezone_offset_sec": {
      "type": [
        "null",
        "integer"
      ]
    },
    "timezone": {
      "type": [
        "null",
        "string"
      ]
    }
  },
  "required": [
    "uuid",
    "name",
    "mmsi",
    "imo",
    "eni",
    "country_iso",
    "type",
    "type_specific",
    "lat",
    "lon",
    "speed",
    "course",
    "heading",
    "current_draught",
    "navigation_status",
    "destination",
    "dest_port_uuid",
    "dest_port",
    "dest_port_unlocode",
    "dep_port_uuid",
    "dep_port",
    "dep_port_unlocode",
    "last_position_epoch",
    "last_position_UTC",
    "atd_epoch",
    "atd_UTC",
    "eta_epoch",
    "eta_UTC",
    "timezone_offset_sec",
    "timezone"
  ],
  "additionalProperties": false
}
🟢get_vessels_bulk(mmsi, imo, uuid)

Return the current position and basic information for many vessels in a single call — supply any mix of MMSI, IMO and UUID lists, up to 100 identifiers in total. Each result has the same fields as get_vessel. Only successfully found vessels are returned (the response includes how many were found). Use this instead of many get_vessel calls when looking up a known set of vessels; for a single vessel use get_vessel.

입력 스키마

{
  "type": "object",
  "properties": {
    "mmsi": {
      "type": [
        "null",
        "array"
      ],
      "items": {
        "type": "string"
      },
      "description": "List of vessel MMSI identifiers (each exactly 9 digits)."
    },
    "imo": {
      "type": [
        "null",
        "array"
      ],
      "items": {
        "type": "string"
      },
      "description": "List of vessel IMO numbers (each exactly 7 digits)."
    },
    "uuid": {
      "type": [
        "null",
        "array"
      ],
      "items": {
        "type": "string"
      },
      "description": "List of Datalastic vessel UUIDs."
    }
  },
  "additionalProperties": false
}

출력 스키마

{
  "type": "object",
  "properties": {
    "total": {
      "type": [
        "null",
        "integer"
      ]
    },
    "vessels": {
      "type": [
        "null",
        "array"
      ],
      "items": {
        "type": "object",
        "properties": {
          "uuid": {
            "type": "string"
          },
          "name": {
            "type": [
              "null",
              "string"
            ]
          },
          "mmsi": {
            "type": [
              "null",
              "string"
            ]
          },
          "imo": {
            "type": [
              "null",
              "string"
            ]
          },
          "eni": {
            "type": [
              "null",
              "string"
            ]
          },
          "country_iso": {
            "type": [
              "null",
              "string"
            ]
          },
          "type": {
            "type": [
              "null",
              "string"
            ]
          },
          "type_specific": {
            "type": [
              "null",
              "string"
            ]
          },
          "lat": {
            "type": [
              "null",
              "number"
            ]
          },
          "lon": {
            "type": [
              "null",
              "number"
            ]
          },
          "speed": {
            "type": [
              "null",
              "number"
            ]
          },
          "course": {
            "type": [
              "null",
              "number"
            ]
          },
          "heading": {
            "type": [
              "null",
              "integer"
            ]
          },
          "navigation_status": {
            "type": [
              "null",
              "string"
            ]
          },
          "destination": {
            "type": [
              "null",
              "string"
            ]
          },
          "last_position_epoch": {
            "type": [
              "null",
              "integer"
            ]
          },
          "last_position_UTC": {
            "type": [
              "null",
              "string"
            ]
          },
          "eta_epoch": {
            "type": [
              "null",
              "integer"
            ]
          },
          "eta_UTC": {
            "type": [
              "null",
              "string"
            ]
          }
        },
        "required": [
          "uuid",
          "name",
          "mmsi",
          "imo",
          "eni",
          "country_iso",
          "type",
          "type_specific",
          "lat",
          "lon",
          "speed",
          "course",
          "heading",
          "navigation_status",
          "destination",
          "last_position_epoch",
          "last_position_UTC",
          "eta_epoch",
          "eta_UTC"
        ],
        "additionalProperties": false
      }
    }
  },
  "required": [
    "total",
    "vessels"
  ],
  "additionalProperties": false
}
🟢get_vessels_in_radius(lat, lon, port_unlocode, port_uuid, mmsi, ...)

Scan a circular area and return all vessels currently within a given radius (nautical miles, greater than 0 and at most 50). Specify the center in exactly one way: lat+lon coordinates, a port (port_unlocode or port_uuid), or a vessel to center on (mmsi/imo/uuid). Optional filters: type, type_specific, exclude, nav_status, and include_unknown_type. Returns up to 500 vessels per page, each with its distance (nautical miles) from the center; if more remain, pass the response's 'next' token via the 'next' argument to page through them. Credits are charged per vessel found.

입력 스키마

{
  "type": "object",
  "properties": {
    "lat": {
      "type": [
        "null",
        "number"
      ],
      "description": "Center latitude (-90..90). Must be used together with lon. Provide exactly one center: lat+lon, a port, or a vessel identifier."
    },
    "lon": {
      "type": [
        "null",
        "number"
      ],
      "description": "Center longitude (-180..180). Must be used together with lat."
    },
    "port_unlocode": {
      "type": "string",
      "description": "Center the scan on a port, by UN/LOCODE (e.g. ESVLC)."
    },
    "port_uuid": {
      "type": "string",
      "description": "Center the scan on a port, by Datalastic port UUID."
    },
    "mmsi": {
      "type": "string",
      "description": "Center the scan on a vessel, by MMSI (exactly 9 digits)."
    },
    "imo": {
      "type": "string",
      "description": "Center the scan on a vessel, by IMO (exactly 7 digits)."
    },
    "uuid": {
      "type": "string",
      "description": "Center the scan on a vessel, by Datalastic vessel UUID."
    },
    "radius": {
      "type": "number",
      "description": "Required. Scan radius in nautical miles, greater than 0 and at most 50."
    },
    "type": {
      "type": "string",
      "description": "Optional: only include vessels of this type (e.g. Tanker, Cargo)."
    },
    "type_specific": {
      "type": "string",
      "description": "Optional: only include vessels of this specific subtype (e.g. LPG Tanker)."
    },
    "exclude": {
      "type": "string",
      "description": "Optional: exclude vessels of this type."
    },
    "nav_status": {
      "type": [
        "null",
        "integer"
      ],
      "description": "Optional: filter by AIS navigational status number (e.g. 0 = under way using engine)."
    },
    "include_unknown_type": {
      "type": [
        "null",
        "boolean"
      ],
      "description": "Optional: include vessels that have no/unknown type. Defaults to the API default when omitted."
    },
    "next": {
      "type": "string",
      "description": "Optional: pagination token from a previous response's 'next' field, to fetch the next page (up to 500 vessels per page)."
    }
  },
  "required": [
    "radius"
  ],
  "additionalProperties": false
}

출력 스키마

{
  "type": "object",
  "properties": {
    "point": {
      "type": [
        "null",
        "object"
      ],
      "properties": {
        "lat": {
          "type": [
            "null",
            "number"
          ]
        },
        "lon": {
          "type": [
            "null",
            "number"
          ]
        },
        "radius": {
          "type": [
            "null",
            "number"
          ]
        }
      },
      "required": [
        "lat",
        "lon",
        "radius"
      ],
      "additionalProperties": false
    },
    "total": {
      "type": [
        "null",
        "integer"
      ]
    },
    "vessels": {
      "type": [
        "null",
        "array"
      ],
      "items": {
        "type": "object",
        "properties": {
          "uuid": {
            "type": "string"
          },
          "name": {
            "type": [
              "null",
              "string"
            ]
          },
          "mmsi": {
            "type": [
              "null",
              "string"
            ]
          },
          "imo": {
            "type": [
              "null",
              "string"
            ]
          },
          "eni": {
            "type": [
              "null",
              "string"
            ]
          },
          "country_iso": {
            "type": [
              "null",
              "string"
            ]
          },
          "type": {
            "type": [
              "null",
              "string"
            ]
          },
          "type_specific": {
            "type": [
              "null",
              "string"
            ]
          },
          "lat": {
            "type": [
              "null",
              "number"
            ]
          },
          "lon": {
            "type": [
              "null",
              "number"
            ]
          },
          "speed": {
            "type": [
              "null",
              "number"
            ]
          },
          "course": {
            "type": [
              "null",
              "number"
            ]
          },
          "heading": {
            "type": [
              "null",
              "integer"
            ]
          },
          "navigation_status": {
            "type": [
              "null",
              "string"
            ]
          },
          "destination": {
            "type": [
              "null",
              "string"
            ]
          },
          "last_position_epoch": {
            "type": [
              "null",
              "integer"
            ]
          },
          "last_position_UTC": {
            "type": [
              "null",
              "string"
            ]
          },
          "eta_epoch": {
            "type": [
              "null",
              "integer"
            ]
          },
          "eta_UTC": {
            "type": [
              "null",
              "string"
            ]
          },
          "distance": {
            "type": [
              "null",
              "number"
            ]
          }
        },
        "required": [
          "uuid",
          "name",
          "mmsi",
          "imo",
          "eni",
          "country_iso",
          "type",
          "type_specific",
          "lat",
          "lon",
          "speed",
          "course",
          "heading",
          "navigation_status",
          "destination",
          "last_position_epoch",
          "last_position_UTC",
          "eta_epoch",
          "eta_UTC",
          "distance"
        ],
        "additionalProperties": false
      }
    },
    "next": {
      "type": [
        "null",
        "string"
      ]
    }
  },
  "required": [
    "point",
    "total",
    "vessels",
    "next"
  ],
  "additionalProperties": false
}
🟢get_weather(lat, lon, mmsi, imo, uuid, ...)

Return weather for one location: marine conditions (wave height/direction/period, swell, sea-surface temperature, ocean currents, sea level, …) plus general atmospheric conditions (air temperature, precipitation, wind speed/direction/gusts, humidity, cloud cover, visibility, pressure, weather code, …). Specify the location as exactly one of: coordinates (lat+lon), a vessel (mmsi/imo/uuid — weather near its last known position), or a port (port_unlocode/port_uuid). Use mode to choose current conditions (default), a 7-day daily forecast, a 7-day hourly forecast, or any combination. Each weather field has a matching entry in the corresponding *_units object.

입력 스키마

{
  "type": "object",
  "properties": {
    "lat": {
      "type": [
        "null",
        "number"
      ],
      "description": "Latitude of the location (use together with lon)."
    },
    "lon": {
      "type": [
        "null",
        "number"
      ],
      "description": "Longitude of the location (use together with lat)."
    },
    "mmsi": {
      "type": "string",
      "description": "Weather near this vessel by MMSI (9 digits)."
    },
    "imo": {
      "type": "string",
      "description": "Weather near this vessel by IMO (7 digits)."
    },
    "uuid": {
      "type": "string",
      "description": "Weather near this vessel by Datalastic UUID."
    },
    "port_unlocode": {
      "type": "string",
      "description": "Weather near this port by UN/LOCODE (5 alphanumeric, case-insensitive)."
    },
    "port_uuid": {
      "type": "string",
      "description": "Weather near this port by Datalastic port UUID."
    },
    "mode": {
      "type": [
        "null",
        "array"
      ],
      "items": {
        "type": "string"
      },
      "description": "Forecast mode(s); omit for current. One or more of: current (now), daily (7-day daily forecast), hourly (7-day hourly forecast). Combine for several at once."
    }
  },
  "additionalProperties": false
}

출력 스키마

{
  "type": "object",
  "properties": {
    "location": {
      "type": [
        "null",
        "object"
      ],
      "properties": {
        "type": {
          "type": "string"
        },
        "geometry": {
          "type": "object",
          "properties": {
            "type": {
              "type": "string"
            },
            "coordinates": {
              "type": [
                "null",
                "array"
              ],
              "items": {
                "type": "number"
              }
            }
          },
          "required": [
            "type",
            "coordinates"
          ],
          "additionalProperties": false
        },
        "properties": {
          "type": "object",
          "properties": {
            "type": {
              "type": "string"
            },
            "mmsi": {
              "type": [
                "null",
                "string"
              ]
            },
            "imo": {
              "type": [
                "null",
                "string"
              ]
            },
            "uuid": {
              "type": [
                "null",
                "string"
              ]
            },
            "port_name": {
              "type": [
                "null",
                "string"
              ]
            },
            "port_uuid": {
              "type": [
                "null",
                "string"
              ]
            },
            "port_unlocode": {
              "type": [
                "null",
                "string"
              ]
            }
          },
          "required": [
            "type",
            "mmsi",
            "imo",
            "uuid",
            "port_name",
            "port_uuid",
            "port_unlocode"
          ],
          "additionalProperties": false
        }
      },
      "required": [
        "type",
        "geometry",
        "properties"
      ],
      "additionalProperties": false
    },
    "weather": {
      "type": "object",
      "additionalProperties": true
    }
  },
  "required": [
    "location",
    "weather"
  ],
  "additionalProperties": false
}
🟢intel_casualties(imo, name, from, to)

Retrieve a vessel's recorded maritime incidents — groundings, collisions, fires, machinery breakdowns, detentions and similar events — each with a date, category and a narrative description. Useful for risk and condition assessment. Identify the vessel by imo or name, and optionally bound the period with from / to. Part of the Maritime Reports add-on.

입력 스키마

{
  "type": "object",
  "properties": {
    "imo": {
      "type": "string",
      "description": "Vessel IMO number (exactly 7 digits) to look up."
    },
    "name": {
      "type": "string",
      "description": "Vessel name to look up (use when the IMO is unknown)."
    },
    "from": {
      "type": "string",
      "description": "Only include incidents on or after this date (YYYY-MM-DD)."
    },
    "to": {
      "type": "string",
      "description": "Only include incidents on or before this date (YYYY-MM-DD)."
    }
  },
  "additionalProperties": false
}

출력 스키마

{
  "type": "object",
  "properties": {
    "records": {
      "type": [
        "null",
        "array"
      ],
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": [
              "null",
              "integer"
            ]
          },
          "imo": {
            "type": [
              "null",
              "string"
            ]
          },
          "vessel_name": {
            "type": [
              "null",
              "string"
            ]
          },
          "casualty_date": {
            "type": [
              "null",
              "string"
            ]
          },
          "casualty_type": {
            "type": [
              "null",
              "string"
            ]
          },
          "casualty_details": {
            "type": [
              "null",
              "string"
            ]
          },
          "modified_at": {
            "type": [
              "null",
              "string"
            ]
          }
        },
        "required": [
          "id",
          "imo",
          "vessel_name",
          "casualty_date",
          "casualty_type",
          "casualty_details",
          "modified_at"
        ],
        "additionalProperties": false
      }
    }
  },
  "required": [
    "records"
  ],
  "additionalProperties": false
}
🟢intel_class(imo, name, fuzzy, beneficial_owner, beneficial_owner_imo, ...)

Return a vessel's classification society together with its principal technical particulars: gross and net tonnage, deadweight, length overall, length between perpendiculars, beam, depth, design draft, propulsion and engine maker, plus owner/manager and next survey dates. Identify the vessel by imo or name (set fuzzy for loose name matching), or filter by owner/manager. Part of the Maritime Reports add-on.

입력 스키마

{
  "type": "object",
  "properties": {
    "imo": {
      "type": "string",
      "description": "Vessel IMO number (exactly 7 digits) to look up."
    },
    "name": {
      "type": "string",
      "description": "Vessel name to look up (use when the IMO is unknown)."
    },
    "fuzzy": {
      "type": "boolean",
      "description": "Match the name loosely instead of exactly."
    },
    "beneficial_owner": {
      "type": "string",
      "description": "Filter by beneficial owner company name."
    },
    "beneficial_owner_imo": {
      "type": "string",
      "description": "Filter by beneficial owner company IMO number."
    },
    "technical_manager": {
      "type": "string",
      "description": "Filter by technical manager company name."
    },
    "technical_manager_imo": {
      "type": "string",
      "description": "Filter by technical manager company IMO number."
    },
    "updated_from": {
      "type": "string",
      "description": "Only include records updated on or after this date (YYYY-MM-DD)."
    }
  },
  "additionalProperties": false
}

출력 스키마

{
  "type": "object",
  "properties": {
    "records": {
      "type": [
        "null",
        "array"
      ],
      "items": {
        "type": "object",
        "properties": {
          "imo": {
            "type": [
              "null",
              "string"
            ]
          },
          "vessel_name": {
            "type": [
              "null",
              "string"
            ]
          },
          "vessel_type_code": {
            "type": [
              "null",
              "string"
            ]
          },
          "flag_name": {
            "type": [
              "null",
              "string"
            ]
          },
          "built_year": {
            "type": [
              "null",
              "string"
            ]
          },
          "dwt_design": {
            "type": [
              "null",
              "integer"
            ]
          },
          "special_survey_date": {
            "type": [
              "null",
              "string"
            ]
          },
          "dry_dock_date": {
            "type": [
              "null",
              "string"
            ]
          },
          "class1_code": {
            "type": [
              "null",
              "string"
            ]
          },
          "beneficial_owner_imo": {
            "type": [
              "null",
              "string"
            ]
          },
          "beneficial_owner": {
            "type": [
              "null",
              "string"
            ]
          },
          "technical_manager_imo": {
            "type": [
              "null",
              "string"
            ]
          },
          "technical_manager": {
            "type": [
              "null",
              "string"
            ]
          },
          "draft_design": {
            "type": [
              "null",
              "number"
            ]
          },
          "nt": {
            "type": [
              "null",
              "integer"
            ]
          },
          "gt": {
            "type": [
              "null",
              "integer"
            ]
          },
          "loa": {
            "type": [
              "null",
              "number"
            ]
          },
          "lbp": {
            "type": [
              "null",
              "number"
            ]
          },
          "depth": {
            "type": [
              "null",
              "number"
            ]
          },
          "beam_moduled": {
            "type": [
              "null",
              "number"
            ]
          },
          "engine_builder": {
            "type": [
              "null",
              "string"
            ]
          },
          "engine_designer": {
            "type": [
              "null",
              "string"
            ]
          },
          "propulsion_type_code": {
            "type": [
              "null",
              "string"
            ]
          },
          "modified_at": {
            "type": [
              "null",
              "string"
            ]
          }
        },
        "required": [
          "imo",
          "vessel_name",
          "vessel_type_code",
          "flag_name",
          "built_year",
          "dwt_design",
          "special_survey_date",
          "dry_dock_date",
          "class1_code",
          "beneficial_owner_imo",
          "beneficial_owner",
          "technical_manager_imo",
          "technical_manager",
          "draft_design",
          "nt",
          "gt",
          "loa",
          "lbp",
          "depth",
          "beam_moduled",
          "engine_builder",
          "engine_designer",
          "propulsion_type_code",
          "modified_at"
        ],
        "additionalProperties": false
      }
    }
  },
  "required": [
    "records"
  ],
  "additionalProperties": false
}
🟢intel_companies(company_imo, name, updated_from)

Look up a maritime company profile — owners, operators, managers and charterers — returning its full and short name, company type, registration country, operating status, contact details, and parent company. Search by the company's own IMO number (company_imo) or by name. This is a company directory, so company_imo refers to the company (not a vessel); to find the companies behind a specific ship use intel_ownership. Part of the Maritime Reports add-on.

입력 스키마

{
  "type": "object",
  "properties": {
    "company_imo": {
      "type": "string",
      "description": "Company IMO number (exactly 7 digits). Note this is the company's own IMO, not a vessel IMO."
    },
    "name": {
      "type": "string",
      "description": "Company name to search for."
    },
    "updated_from": {
      "type": "string",
      "description": "Only include records updated on or after this date (YYYY-MM-DD)."
    }
  },
  "additionalProperties": false
}

출력 스키마

{
  "type": "object",
  "properties": {
    "records": {
      "type": [
        "null",
        "array"
      ],
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": [
              "null",
              "integer"
            ]
          },
          "short_name": {
            "type": [
              "null",
              "string"
            ]
          },
          "long_name": {
            "type": [
              "null",
              "string"
            ]
          },
          "company_type": {
            "type": [
              "null",
              "string"
            ]
          },
          "country_code": {
            "type": [
              "null",
              "string"
            ]
          },
          "company_imo": {
            "type": [
              "null",
              "string"
            ]
          },
          "website": {
            "type": [
              "null",
              "string"
            ]
          },
          "company_status": {
            "type": [
              "null",
              "string"
            ]
          },
          "email": {
            "type": [
              "null",
              "string"
            ]
          },
          "phone": {
            "type": [
              "null",
              "string"
            ]
          },
          "address": {
            "type": [
              "null",
              "string"
            ]
          },
          "linkedin": {
            "type": [
              "null",
              "string"
            ]
          },
          "parent_company_imo": {
            "type": [
              "null",
              "string"
            ]
          },
          "parent_company_name": {
            "type": [
              "null",
              "string"
            ]
          },
          "modified_at": {
            "type": [
              "null",
              "string"
            ]
          }
        },
        "required": [
          "id",
          "short_name",
          "long_name",
          "company_type",
          "country_code",
          "company_imo",
          "website",
          "company_status",
          "email",
          "phone",
          "address",
          "linkedin",
          "parent_company_imo",
          "parent_company_name",
          "modified_at"
        ],
        "additionalProperties": false
      }
    }
  },
  "required": [
    "records"
  ],
  "additionalProperties": false
}
🟢intel_drydock(imo, name, dry_dock_from, dry_dock_to)

Look up planned and past dry-dock dates, special-survey dates, and IOPP (oil-pollution) certificate dates for a vessel, along with its technical manager's contact details. Target a single vessel by imo or name, or scan a forward window across the fleet with dry_dock_from / dry_dock_to to find vessels due for drydocking in a date range. Part of the Maritime Reports add-on.

입력 스키마

{
  "type": "object",
  "properties": {
    "imo": {
      "type": "string",
      "description": "Vessel IMO number (exactly 7 digits) to look up."
    },
    "name": {
      "type": "string",
      "description": "Vessel name to look up (use when the IMO is unknown)."
    },
    "dry_dock_from": {
      "type": "string",
      "description": "Only include vessels whose next dry dock falls on or after this date (YYYY-MM-DD)."
    },
    "dry_dock_to": {
      "type": "string",
      "description": "Only include vessels whose next dry dock falls on or before this date (YYYY-MM-DD)."
    }
  },
  "additionalProperties": false
}

출력 스키마

{
  "type": "object",
  "properties": {
    "records": {
      "type": [
        "null",
        "array"
      ],
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": [
              "null",
              "integer"
            ]
          },
          "imo": {
            "type": [
              "null",
              "string"
            ]
          },
          "vessel_name": {
            "type": [
              "null",
              "string"
            ]
          },
          "special_survey_date": {
            "type": [
              "null",
              "string"
            ]
          },
          "dry_dock_date": {
            "type": [
              "null",
              "string"
            ]
          },
          "iopp_issue_date": {
            "type": [
              "null",
              "string"
            ]
          },
          "iopp_exp_date": {
            "type": [
              "null",
              "string"
            ]
          },
          "country_name": {
            "type": [
              "null",
              "string"
            ]
          },
          "technical_manager": {
            "type": [
              "null",
              "string"
            ]
          },
          "country_code": {
            "type": [
              "null",
              "string"
            ]
          },
          "website": {
            "type": [
              "null",
              "string"
            ]
          },
          "email": {
            "type": [
              "null",
              "string"
            ]
          },
          "phone": {
            "type": [
              "null",
              "string"
            ]
          },
          "address": {
            "type": [
              "null",
              "string"
            ]
          },
          "linkedin": {
            "type": [
              "null",
              "string"
            ]
          },
          "modified_at": {
            "type": [
              "null",
              "string"
            ]
          }
        },
        "required": [
          "id",
          "imo",
          "vessel_name",
          "special_survey_date",
          "dry_dock_date",
          "iopp_issue_date",
          "iopp_exp_date",
          "country_name",
          "technical_manager",
          "country_code",
          "website",
          "email",
          "phone",
          "address",
          "linkedin",
          "modified_at"
        ],
        "additionalProperties": false
      }
    }
  },
  "required": [
    "records"
  ],
  "additionalProperties": false
}
🟢intel_engine(imo, name, fuzzy, updated_from)

Return the main-engine specification for a vessel: engine designation (model), builder and designer, propulsion type, and maximum continuous output (MCO) with its unit and rpm. Identify the vessel by imo or name (set fuzzy for loose name matching). Part of the Maritime Reports add-on.

입력 스키마

{
  "type": "object",
  "properties": {
    "imo": {
      "type": "string",
      "description": "Vessel IMO number (exactly 7 digits) to look up."
    },
    "name": {
      "type": "string",
      "description": "Vessel name to look up (use when the IMO is unknown)."
    },
    "fuzzy": {
      "type": "boolean",
      "description": "Match the name loosely instead of exactly."
    },
    "updated_from": {
      "type": "string",
      "description": "Only include records updated on or after this date (YYYY-MM-DD)."
    }
  },
  "additionalProperties": false
}

출력 스키마

{
  "type": "object",
  "properties": {
    "records": {
      "type": [
        "null",
        "array"
      ],
      "items": {
        "type": "object",
        "properties": {
          "imo": {
            "type": [
              "null",
              "string"
            ]
          },
          "vessel_name": {
            "type": [
              "null",
              "string"
            ]
          },
          "vessel_type_code": {
            "type": [
              "null",
              "string"
            ]
          },
          "propulsion_type_code": {
            "type": [
              "null",
              "string"
            ]
          },
          "mco": {
            "type": [
              "null",
              "number"
            ]
          },
          "mco_unit": {
            "type": [
              "null",
              "string"
            ]
          },
          "mco_rpm": {
            "type": [
              "null",
              "integer"
            ]
          },
          "trading_category_code": {
            "type": [
              "null",
              "string"
            ]
          },
          "built_year": {
            "type": [
              "null",
              "string"
            ]
          },
          "gt": {
            "type": [
              "null",
              "integer"
            ]
          },
          "engine_designation": {
            "type": [
              "null",
              "string"
            ]
          },
          "engine_builder": {
            "type": [
              "null",
              "string"
            ]
          },
          "engine_designer": {
            "type": [
              "null",
              "string"
            ]
          },
          "modified_at": {
            "type": [
              "null",
              "string"
            ]
          }
        },
        "required": [
          "imo",
          "vessel_name",
          "vessel_type_code",
          "propulsion_type_code",
          "mco",
          "mco_unit",
          "mco_rpm",
          "trading_category_code",
          "built_year",
          "gt",
          "engine_designation",
          "engine_builder",
          "engine_designer",
          "modified_at"
        ],
        "additionalProperties": false
      }
    }
  },
  "required": [
    "records"
  ],
  "additionalProperties": false
}
🟢intel_info

Check whether the Maritime Reports add-on is active on the connected Datalastic account, and what it offers: vessel ownership/management, classification, engine specs, Port State Control inspections, casualties, drydock schedules, sale & purchase records, company profiles, sea routes, estimated out-of-AIS positions, and bulk dataset exports. Use this when the user asks whether they have (or what is included in) the add-on, when an intel_* tool reports the add-on is missing, or after the user says they have purchased or updated their subscription.

입력 스키마

{
  "type": "object",
  "additionalProperties": false
}

출력 스키마

{
  "type": "object",
  "properties": {
    "addon_active": {
      "type": "boolean"
    },
    "message": {
      "type": "string"
    },
    "capabilities": {
      "type": [
        "null",
        "array"
      ],
      "items": {
        "type": "string"
      }
    }
  },
  "required": [
    "addon_active",
    "message",
    "capabilities"
  ],
  "additionalProperties": false
}
🟢intel_inspections(imo, name, from, to)

Retrieve a vessel's Port State Control (PSC) inspection record: the inspecting authority and port, the inspection type and date, whether the vessel was detained, and the number and description of any deficiencies found. Identify the vessel by imo or name, and optionally bound the period with from / to. Part of the Maritime Reports add-on.

입력 스키마

{
  "type": "object",
  "properties": {
    "imo": {
      "type": "string",
      "description": "Vessel IMO number (exactly 7 digits) to look up."
    },
    "name": {
      "type": "string",
      "description": "Vessel name to look up (use when the IMO is unknown)."
    },
    "from": {
      "type": "string",
      "description": "Only include inspections on or after this date (YYYY-MM-DD)."
    },
    "to": {
      "type": "string",
      "description": "Only include inspections on or before this date (YYYY-MM-DD)."
    }
  },
  "additionalProperties": false
}

출력 스키마

{
  "type": "object",
  "properties": {
    "records": {
      "type": [
        "null",
        "array"
      ],
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": [
              "null",
              "integer"
            ]
          },
          "imo": {
            "type": [
              "null",
              "string"
            ]
          },
          "vessel_name": {
            "type": [
              "null",
              "string"
            ]
          },
          "vessel_type_code": {
            "type": [
              "null",
              "string"
            ]
          },
          "flag_code": {
            "type": [
              "null",
              "string"
            ]
          },
          "inspection_date": {
            "type": [
              "null",
              "string"
            ]
          },
          "inspection_authority": {
            "type": [
              "null",
              "string"
            ]
          },
          "inspection_port": {
            "type": [
              "null",
              "string"
            ]
          },
          "inspection_type": {
            "type": [
              "null",
              "string"
            ]
          },
          "detention": {
            "type": [
              "null",
              "string"
            ]
          },
          "ship_deficiencies": {
            "type": [
              "null",
              "string"
            ]
          },
          "deficiency_description": {
            "type": [
              "null",
              "string"
            ]
          },
          "technical_ism_manager": {
            "type": [
              "null",
              "string"
            ]
          },
          "country_code": {
            "type": [
              "null",
              "string"
            ]
          },
          "website": {
            "type": [
              "null",
              "string"
            ]
          },
          "email": {
            "type": [
              "null",
              "string"
            ]
          },
          "phone": {
            "type": [
              "null",
              "string"
            ]
          },
          "address": {
            "type": [
              "null",
              "string"
            ]
          },
          "company_imo": {
            "type": [
              "null",
              "string"
            ]
          },
          "modified_at": {
            "type": [
              "null",
              "string"
            ]
          }
        },
        "required": [
          "id",
          "imo",
          "vessel_name",
          "vessel_type_code",
          "flag_code",
          "inspection_date",
          "inspection_authority",
          "inspection_port",
          "inspection_type",
          "detention",
          "ship_deficiencies",
          "deficiency_description",
          "technical_ism_manager",
          "country_code",
          "website",
          "email",
          "phone",
          "address",
          "company_imo",
          "modified_at"
        ],
        "additionalProperties": false
      }
    }
  },
  "required": [
    "records"
  ],
  "additionalProperties": false
}
🟢intel_ownership(imo, name, beneficial_owner, operator, technical_manager, ...)

Reveal the commercial control behind a vessel: beneficial owner, operator, technical manager and commercial manager — each with its company IMO and country — plus the P&I club and flag. Look up one vessel by imo or name, or turn the question around and pass a company name (beneficial_owner, operator, technical_manager or commercial_manager) to list every vessel that company controls. Part of the Maritime Reports add-on.

입력 스키마

{
  "type": "object",
  "properties": {
    "imo": {
      "type": "string",
      "description": "Vessel IMO number (exactly 7 digits) to look up."
    },
    "name": {
      "type": "string",
      "description": "Vessel name to look up (use when the IMO is unknown)."
    },
    "beneficial_owner": {
      "type": "string",
      "description": "Company name of the beneficial owner; returns every vessel under that owner."
    },
    "operator": {
      "type": "string",
      "description": "Company name of the operator; returns every vessel under that operator."
    },
    "technical_manager": {
      "type": "string",
      "description": "Company name of the technical manager; returns every vessel under that manager."
    },
    "commercial_manager": {
      "type": "string",
      "description": "Company name of the commercial manager; returns every vessel under that manager."
    },
    "updated_from": {
      "type": "string",
      "description": "Only include records updated on or after this date (YYYY-MM-DD)."
    }
  },
  "additionalProperties": false
}

출력 스키마

{
  "type": "object",
  "properties": {
    "records": {
      "type": [
        "null",
        "array"
      ],
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": [
              "null",
              "integer"
            ]
          },
          "imo": {
            "type": [
              "null",
              "string"
            ]
          },
          "vessel_name": {
            "type": [
              "null",
              "string"
            ]
          },
          "beneficial_owner": {
            "type": [
              "null",
              "string"
            ]
          },
          "beneficial_owner_imo": {
            "type": [
              "null",
              "string"
            ]
          },
          "beneficial_owner_country": {
            "type": [
              "null",
              "string"
            ]
          },
          "operator": {
            "type": [
              "null",
              "string"
            ]
          },
          "operator_imo": {
            "type": [
              "null",
              "string"
            ]
          },
          "operator_country": {
            "type": [
              "null",
              "string"
            ]
          },
          "flag_name": {
            "type": [
              "null",
              "string"
            ]
          },
          "vessel_type_code": {
            "type": [
              "null",
              "string"
            ]
          },
          "built_year": {
            "type": [
              "null",
              "string"
            ]
          },
          "buyer": {
            "type": [
              "null",
              "string"
            ]
          },
          "dwt_design": {
            "type": [
              "null",
              "integer"
            ]
          },
          "class1_code": {
            "type": [
              "null",
              "string"
            ]
          },
          "technical_manager": {
            "type": [
              "null",
              "string"
            ]
          },
          "technical_manager_imo": {
            "type": [
              "null",
              "string"
            ]
          },
          "technical_manager_country": {
            "type": [
              "null",
              "string"
            ]
          },
          "commercial_manager": {
            "type": [
              "null",
              "string"
            ]
          },
          "commercial_manager_imo": {
            "type": [
              "null",
              "string"
            ]
          },
          "commercial_manager_country": {
            "type": [
              "null",
              "string"
            ]
          },
          "pi_club": {
            "type": [
              "null",
              "string"
            ]
          },
          "modified_at": {
            "type": [
              "null",
              "string"
            ]
          }
        },
        "required": [
          "id",
          "imo",
          "vessel_name",
          "beneficial_owner",
          "beneficial_owner_imo",
          "beneficial_owner_country",
          "operator",
          "operator_imo",
          "operator_country",
          "flag_name",
          "vessel_type_code",
          "built_year",
          "buyer",
          "dwt_design",
          "class1_code",
          "technical_manager",
          "technical_manager_imo",
          "technical_manager_country",
          "commercial_manager",
          "commercial_manager_imo",
          "commercial_manager_country",
          "pi_club",
          "modified_at"
        ],
        "additionalProperties": false
      }
    }
  },
  "required": [
    "records"
  ],
  "additionalProperties": false
}
🟡intel_report_request(report_type)

Submit an async job to export a FULL bulk dataset for one of the Maritime Reports add-on datasets (dry_dock_dates, casualty, inspections, sales_purchase_demolitions, ownership, class_society, engine, companies). This returns the ENTIRE dataset (all records), not one vessel — for a single vessel use the matching lookup tool instead (e.g. intel_ownership, intel_inspections). Like all reports it is asynchronous: this returns a report_id and a _PENDING_ status without waiting; submit ONCE, then poll report_status with that report_id until _DONE_, which yields a result_url to hand to the user to download. Do not resubmit while a job is running, and if a report comes back _FAILED_, do not automatically submit a replacement — report the message to the user first. At most 10 reports may be pending per account at once (across every report type), so a retry loop can exhaust the queue. The server never downloads the file itself. Part of the Maritime Reports add-on.

입력 스키마

{
  "type": "object",
  "properties": {
    "report_type": {
      "type": "string",
      "description": "Which bulk dataset report to generate. One of: dry_dock_dates, casualty, inspections, sales_purchase_demolitions, ownership, class_society, engine, companies."
    }
  },
  "required": [
    "report_type"
  ],
  "additionalProperties": false
}

출력 스키마

{
  "type": "object",
  "properties": {
    "report_id": {
      "type": "string"
    },
    "report_type": {
      "type": [
        "null",
        "string"
      ]
    },
    "status": {
      "type": [
        "null",
        "string"
      ]
    },
    "message": {
      "type": [
        "null",
        "string"
      ]
    },
    "result_url": {
      "type": [
        "null",
        "string"
      ]
    },
    "created_at": {
      "type": [
        "null",
        "string"
      ]
    },
    "updated_at": {
      "type": [
        "null",
        "string"
      ]
    }
  },
  "required": [
    "report_id",
    "report_type",
    "status",
    "message",
    "result_url",
    "created_at",
    "updated_at"
  ],
  "additionalProperties": false
}
🟢intel_spd(imo, name, from, to)

Retrieve ship sale-and-purchase transactions for a vessel: second-hand sales, newbuilding deliveries and demolition (scrap) sales, including seller, buyer, reported price, price per lightweight ton, and demolition destination. Useful for asset valuation and market tracking. Identify the vessel by imo or name, and optionally bound the period with from / to. Part of the Maritime Reports add-on.

입력 스키마

{
  "type": "object",
  "properties": {
    "imo": {
      "type": "string",
      "description": "Vessel IMO number (exactly 7 digits) to look up."
    },
    "name": {
      "type": "string",
      "description": "Vessel name to look up (use when the IMO is unknown)."
    },
    "from": {
      "type": "string",
      "description": "Only include transactions reported on or after this date (YYYY-MM-DD)."
    },
    "to": {
      "type": "string",
      "description": "Only include transactions reported on or before this date (YYYY-MM-DD)."
    }
  },
  "additionalProperties": false
}

출력 스키마

{
  "type": "object",
  "properties": {
    "records": {
      "type": [
        "null",
        "array"
      ],
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": [
              "null",
              "integer"
            ]
          },
          "sales_report_date": {
            "type": [
              "null",
              "string"
            ]
          },
          "imo": {
            "type": [
              "null",
              "string"
            ]
          },
          "vessel_name": {
            "type": [
              "null",
              "string"
            ]
          },
          "flag_name": {
            "type": [
              "null",
              "string"
            ]
          },
          "vessel_type_code": {
            "type": [
              "null",
              "string"
            ]
          },
          "built_year": {
            "type": [
              "null",
              "string"
            ]
          },
          "dwt_design": {
            "type": [
              "null",
              "integer"
            ]
          },
          "gt": {
            "type": [
              "null",
              "integer"
            ]
          },
          "ldt": {
            "type": [
              "null",
              "integer"
            ]
          },
          "seller": {
            "type": [
              "null",
              "string"
            ]
          },
          "buyer": {
            "type": [
              "null",
              "string"
            ]
          },
          "sales_price_usd_mio": {
            "type": [
              "null",
              "number"
            ]
          },
          "sales_price_usd/ldt": {
            "type": [
              "null",
              "number"
            ]
          },
          "destination": {
            "type": [
              "null",
              "string"
            ]
          },
          "sales_type": {
            "type": [
              "null",
              "string"
            ]
          },
          "dry_dock_date": {
            "type": [
              "null",
              "string"
            ]
          },
          "special_survey_date": {
            "type": [
              "null",
              "string"
            ]
          },
          "sales_note": {
            "type": [
              "null",
              "string"
            ]
          },
          "previous_sales_record": {
            "type": [
              "null",
              "string"
            ]
          },
          "modified_at": {
            "type": [
              "null",
              "string"
            ]
          }
        },
        "required": [
          "id",
          "sales_report_date",
          "imo",
          "vessel_name",
          "flag_name",
          "vessel_type_code",
          "built_year",
          "dwt_design",
          "gt",
          "ldt",
          "seller",
          "buyer",
          "sales_price_usd_mio",
          "sales_price_usd/ldt",
          "destination",
          "sales_type",
          "dry_dock_date",
          "special_survey_date",
          "sales_note",
          "previous_sales_record",
          "modified_at"
        ],
        "additionalProperties": false
      }
    }
  },
  "required": [
    "records"
  ],
  "additionalProperties": false
}
🟢report_list

List the caller's recent async report jobs with their statuses — result_url on the ones that are _DONE_, and message explaining the cause on any that are _FAILED_. Use this to recover a report_id, see which reports have finished, or find out why one failed — for example if a report was submitted earlier and its id was lost. Listing is free and never re-runs a report.

입력 스키마

{
  "type": "object",
  "additionalProperties": false
}

출력 스키마

{
  "type": "object",
  "properties": {
    "reports": {
      "type": [
        "null",
        "array"
      ],
      "items": {
        "type": "object",
        "properties": {
          "report_id": {
            "type": "string"
          },
          "report_type": {
            "type": [
              "null",
              "string"
            ]
          },
          "status": {
            "type": [
              "null",
              "string"
            ]
          },
          "message": {
            "type": [
              "null",
              "string"
            ]
          },
          "result_url": {
            "type": [
              "null",
              "string"
            ]
          },
          "created_at": {
            "type": [
              "null",
              "string"
            ]
          },
          "updated_at": {
            "type": [
              "null",
              "string"
            ]
          }
        },
        "required": [
          "report_id",
          "report_type",
          "status",
          "message",
          "result_url",
          "created_at",
          "updated_at"
        ],
        "additionalProperties": false
      }
    }
  },
  "required": [
    "reports"
  ],
  "additionalProperties": false
}
🟡report_request(report_type, from, to, lat, lon, ...)

Submit an async report job. Reports are generated in the background and can take a while (seconds to many minutes), so this returns a report_id and an initial status (_PENDING_) — it does NOT wait. Submit ONCE, then poll report_status with the returned report_id until _DONE_, which yields a result_url. Do not resubmit while a job is running. If a report comes back _FAILED_, do not automatically submit a replacement — report the message to the user first. At most 10 reports may be pending per account at once; further submissions are rejected until some finish. When done, give the user the result_url to download; the server never downloads report files itself. Supported report_type values: - request_usage: a FREE log of your account's API usage (endpoint, credits, timestamp); optional from/to (<=31 days), default last month. - vessel_list: the full vessel database (no other parameters). - port_list: the full ports database (no other parameters). - inradius_history: all vessels that passed through an area in a time window; REQUIRES lat, lon, radius (<=50 NM), from and to (<=7 days apart). Note: vessel_list, port_list and inradius_history consume API credits (vessel_list and inradius_history can be substantial) — it's good to tell the user before submitting. For the add-on bulk datasets (ownership, inspections, etc.) use intel_report_request instead.

입력 스키마

{
  "type": "object",
  "properties": {
    "report_type": {
      "type": "string",
      "description": "Which report to generate: request_usage, vessel_list, port_list, or inradius_history."
    },
    "from": {
      "type": "string",
      "description": "Start date YYYY-MM-DD. Optional for request_usage; required for inradius_history."
    },
    "to": {
      "type": "string",
      "description": "End date YYYY-MM-DD. Optional for request_usage (<=31 days after from); required for inradius_history (<=7 days after from)."
    },
    "lat": {
      "type": [
        "null",
        "number"
      ],
      "description": "Center latitude. Required for inradius_history."
    },
    "lon": {
      "type": [
        "null",
        "number"
      ],
      "description": "Center longitude. Required for inradius_history."
    },
    "radius": {
      "type": [
        "null",
        "number"
      ],
      "description": "Radius in nautical miles, max 50. Required for inradius_history."
    }
  },
  "required": [
    "report_type"
  ],
  "additionalProperties": false
}

출력 스키마

{
  "type": "object",
  "properties": {
    "report_id": {
      "type": "string"
    },
    "report_type": {
      "type": [
        "null",
        "string"
      ]
    },
    "status": {
      "type": [
        "null",
        "string"
      ]
    },
    "message": {
      "type": [
        "null",
        "string"
      ]
    },
    "result_url": {
      "type": [
        "null",
        "string"
      ]
    },
    "created_at": {
      "type": [
        "null",
        "string"
      ]
    },
    "updated_at": {
      "type": [
        "null",
        "string"
      ]
    }
  },
  "required": [
    "report_id",
    "report_type",
    "status",
    "message",
    "result_url",
    "created_at",
    "updated_at"
  ],
  "additionalProperties": false
}
🟢report_status(report_id)

Check an async report job by report_id (from report_request or report_list). Returns its status: _PENDING_ or _IN_PROGRESS_ (still generating — wait and check again), _DONE_, or _FAILED_. When _DONE_, result_url is a download link for the result ZIP; hand it to the user. Links are time-limited — if one has expired, run report_status again for a fresh link. The server never downloads the file itself. _FAILED_ is terminal. Stop polling: it will never become _DONE_ and there will be no result_url. Read the message field and relay it to the user — it is written for a person and explains the cause. Do not resubmit on your own: tell the user what failed and let them decide. If the message points at a parameter the user can correct, offer the corrected submission rather than making it silently. A report going from _IN_PROGRESS_ back to _PENDING_ is an automatic retry, not a failure. Keep polling. Failed reports are not charged, and polling is free — it never re-runs the report or deducts credits.

입력 스키마

{
  "type": "object",
  "properties": {
    "report_id": {
      "type": "string",
      "description": "The report_id returned by report_request (or seen in report_list)."
    }
  },
  "required": [
    "report_id"
  ],
  "additionalProperties": false
}

출력 스키마

{
  "type": "object",
  "properties": {
    "report_id": {
      "type": "string"
    },
    "report_type": {
      "type": [
        "null",
        "string"
      ]
    },
    "status": {
      "type": [
        "null",
        "string"
      ]
    },
    "message": {
      "type": [
        "null",
        "string"
      ]
    },
    "result_url": {
      "type": [
        "null",
        "string"
      ]
    },
    "created_at": {
      "type": [
        "null",
        "string"
      ]
    },
    "updated_at": {
      "type": [
        "null",
        "string"
      ]
    }
  },
  "required": [
    "report_id",
    "report_type",
    "status",
    "message",
    "result_url",
    "created_at",
    "updated_at"
  ],
  "additionalProperties": false
}
🟢sea_route(lat_from, lon_from, port_uuid_from, port_unlocode_from, lat_to, ...)

Calculate a schematic sea route between two points and return it as GeoJSON (a LineString of waypoints) with the total distance in kilometres and nautical miles. Specify the origin and destination each as either coordinates (lat+lon), a port UUID, or a port UN/LOCODE. ⚠️ This is a SCHEMATIC sea route, not a navigable one. It does not account for actual navigation, hazards, traffic separation, drafts or local rules — do NOT use it for real-world sailing. Use it for estimating distance and travel time, visualizing the approximate path/shape, and similar analysis. Part of the Maritime Reports add-on.

입력 스키마

{
  "type": "object",
  "properties": {
    "lat_from": {
      "type": [
        "null",
        "number"
      ],
      "description": "Origin latitude (use together with lon_from)."
    },
    "lon_from": {
      "type": [
        "null",
        "number"
      ],
      "description": "Origin longitude (use together with lat_from)."
    },
    "port_uuid_from": {
      "type": "string",
      "description": "Origin port UUID."
    },
    "port_unlocode_from": {
      "type": "string",
      "description": "Origin port UN/LOCODE (5 alphanumeric, case-insensitive)."
    },
    "lat_to": {
      "type": [
        "null",
        "number"
      ],
      "description": "Destination latitude (use together with lon_to)."
    },
    "lon_to": {
      "type": [
        "null",
        "number"
      ],
      "description": "Destination longitude (use together with lat_to)."
    },
    "port_uuid_to": {
      "type": "string",
      "description": "Destination port UUID."
    },
    "port_unlocode_to": {
      "type": "string",
      "description": "Destination port UN/LOCODE (5 alphanumeric, case-insensitive)."
    }
  },
  "additionalProperties": false
}

출력 스키마

{
  "type": "object",
  "properties": {
    "from": {
      "type": [
        "null",
        "object"
      ],
      "properties": {
        "type": {
          "type": "string"
        },
        "geometry": {
          "type": "object",
          "properties": {
            "type": {
              "type": "string"
            },
            "coordinates": {
              "type": [
                "null",
                "array"
              ],
              "items": {
                "type": "number"
              }
            }
          },
          "required": [
            "type",
            "coordinates"
          ],
          "additionalProperties": false
        },
        "properties": {
          "type": "object",
          "properties": {
            "type": {
              "type": "string"
            },
            "port_name": {
              "type": [
                "null",
                "string"
              ]
            },
            "port_uuid": {
              "type": [
                "null",
                "string"
              ]
            },
            "port_unlocode": {
              "type": [
                "null",
                "string"
              ]
            }
          },
          "required": [
            "type",
            "port_name",
            "port_uuid",
            "port_unlocode"
          ],
          "additionalProperties": false
        }
      },
      "required": [
        "type",
        "geometry",
        "properties"
      ],
      "additionalProperties": false
    },
    "route": {
      "type": [
        "null",
        "object"
      ],
      "properties": {
        "type": {
          "type": "string"
        },
        "geometry": {
          "type": "object",
          "properties": {
            "type": {
              "type": "string"
            },
            "coordinates": {
              "type": [
                "null",
                "array"
              ],
              "items": {
                "type": [
                  "null",
                  "array"
                ],
                "items": {
                  "type": "number"
                }
              }
            }
          },
          "required": [
            "type",
            "coordinates"
          ],
          "additionalProperties": false
        },
        "properties": {
          "type": "object",
          "properties": {
            "total_dist": {
              "type": [
                "null",
                "number"
              ]
            },
            "total_dist_nm": {
              "type": [
                "null",
                "number"
              ]
            }
          },
          "required": [
            "total_dist",
            "total_dist_nm"
          ],
          "additionalProperties": false
        }
      },
      "required": [
        "type",
        "geometry",
        "properties"
      ],
      "additionalProperties": false
    },
    "to": {
      "type": [
        "null",
        "object"
      ],
      "properties": {
        "type": {
          "type": "string"
        },
        "geometry": {
          "type": "object",
          "properties": {
            "type": {
              "type": "string"
            },
            "coordinates": {
              "type": [
                "null",
                "array"
              ],
              "items": {
                "type": "number"
              }
            }
          },
          "required": [
            "type",
            "coordinates"
          ],
          "additionalProperties": false
        },
        "properties": {
          "type": "object",
          "properties": {
            "type": {
              "type": "string"
            },
            "port_name": {
              "type": [
                "null",
                "string"
              ]
            },
            "port_uuid": {
              "type": [
                "null",
                "string"
              ]
            },
            "port_unlocode": {
              "type": [
                "null",
                "string"
              ]
            }
          },
          "required": [
            "type",
            "port_name",
            "port_uuid",
            "port_unlocode"
          ],
          "additionalProperties": false
        }
      },
      "required": [
        "type",
        "geometry",
        "properties"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "from",
    "route",
    "to"
  ],
  "additionalProperties": false
}

커뮤니티

이 서버 평가하기

증거

최근 관측

검증됨버전이 기록되지 않음도구 25개
검증됨버전이 기록되지 않음도구 25개