Getting Started

Sections

Theme switcher

Dry Polygon Events

The Polygon Event API enables historical and real-time tracking of dry bulk vessels as they enter or exit defined maritime zones, such as ports, canals, anchorages, terminals, shipyards. By leveraging over 12 years of AXSMarine’s proprietary AIS data, this API provides structured insights into vessel movements across 60 000+ AXSMarine proprietary polygons.

A Polygon Event represents a vessel's movement through a strategically defined maritime zone, triggered when the vessel enters and exits the area. Each event is captured through two key AIS signals: entry (the first AIS signal detected within the polygon) and out (the last AIS signal before the vessel leaves the polygon), as reflected in the API response.

Key Features

🚢 Vessel Activity Insights – Identify when a vessel enters and exits a geofenced area using the first and last AIS signals within the polygon. Each “Polygon Event” captures both entry and exit parameters, providing a detailed snapshot of the event.

📍 Geofenced Tracking – Track vessel movements through custom-defined zones including anchorages, canals, terminals, and more using polygon-based detection.

Event Duration – Calculate time spent within the polygon to support congestion analysis or loading duration metrics.

📊 Time Series Ready – Use historical event data to generate time series charts of port activity, vessel counts, and duration.

🚨 Activity Alerts – Monitor live “open” events to trigger alerts when vessels enter specific zones or are still present within them.

🎯 Flexible Filtering – Apply filters by:

  • Vessel IMO, DWT, or other specifications
  • Polygon ID, name, or type (e.g., anchorage, canal)
  • Entry or exit timestamps and AIS attributes
  • Filtering with is_open_event = true is recommended for tracking real-time vessel activity.

📚 Data Depth – Access a comprehensive archive of over 12 years of dry bulk vessel tracking data, suitable for trend analysis and predictive modeling.

📦 Efficient Pagination – Manage large datasets using link-based pagination via the "links" object (e.g., { "next": "" }). Results are limited to 10,000 events per page. For handling large datasets, refer to the pagination section.

🧾 Flat Response Format – Structured output designed for easy integration and visualization, compatible with spreadsheets, BI tools, and time series databases.


Filter by ancestors

The ancestor_polygons parameter is a new filter introduced in the v5 API. It allows you to target events based on the parent (or “ancestor”) of the polygons that contain the event, something that wasn’t possible with the existing parameters in v4.

What it does exactly

  • Filters events whose polygon lies inside a parent polygon (e.g., a port, zone).
  • Considers the parent polygon’s type via the polygon_types option. In other words, you must first specify the type of polygon you’re looking for (port, berth, etc.) and then provide the corresponding parent identifiers.

Accepted value formats

Format
Example
Explanation

UN/LOCODE

NLRTM

International port code (e.g., Rotterdam).

Numeric ID

3989

Internal ID of the parent polygon.

Human‑readable name

Rotterdam

Name of the port or zone.

You can provide these values in two ways:

  1. Comma‑separated list ancestor_polygons=NL,NLRTM
  2. Repeated parameter ancestor_polygons=NL&ancestor_polygons=NLRTM

Example request

https://apihub.axsmarine.com/dry/ais/event/polygon/v5?polygon_types=zone&ancestor_polygons=NLRTM&page_size=50

In this example, the call will return events located in zone polygons that are contained within the parent polygons identified by the LOCODE NLRTM.

Why it’s useful

  • Hierarchical geographic search – you can filter events not only by the polygon of interest but also by the larger geographic area that surrounds it.
  • Noise reduction – by combining polygon_types and ancestor_polygons, you limit results to relevant child polygons of a given geographic structure.

In summary, ancestor_polygons adds a layer of hierarchical filtering to requests, improving the accuracy and relevance of results obtained via the v5 API.


Want more control over your data? Our GraphQL API offers advanced querying capabilities, allowing users to retrieve exactly the information they need. Unlike this REST API, which is dedicated to dry bulk vessels, the GraphQL API provides real-time data across all vessel segments, including tankers, gas carriers, liners, and more. Users can customize queries to select specific fields, ensuring efficient data retrieval tailored to their operational needs.

Header Parameters

Authorizationstring Required

Bearer token used for authentication.

Query Parameters

page_sizeinteger

Maximum number of results per page.

Example 10

Maximum
10000
polygon_idsstring

List of polygon Ids as array. Can be used either as an integer, separated by commas, or by repeating the parameter.

Examples

  • commaSeparated: 19896,9242
  • parameterRepeated: polygon_ids=19896&polygon_ids=9242
polygon_typesstring

List of polygon types as array. Can be used either as an string, separated by commas, or by repeating the parameter.

Examples

  • commaSeparated: zone,anchorage
  • parameterRepeated: polygon_types=zone&polygon_types=anchorage
ancestor_polygonsstring

List of ancestor polygons as array. Can be used either as an string, separated by commas, or by repeating the parameter. Filters polygonEvents by the parent polygons that contain the event. Must be combined with polygon_types to narrow the search to specific child types. Values may be UN/LOCODE, Numeric ID, Human-readable name.

Examples

  • commaSeparated: NL,NLRTM
  • parameterRepeated: ancestor_polygons=NL&ancestor_polygons=NLRTM
vessel_idsstring

List of vessel unique IDs as array. Can be used either as a string, separated by commas, or by repeating the parameter. Examples

  • commaSeparated: 50881,98331
  • parameterRepeated: vessel_ids=50881&vessel_ids=98331
imosstring

List of vessel IMOs as array. Can be used either as a string, separated by commas, or by repeating the parameter.

Examples

  • commaSeparated: 9281906,8419520
  • parameterRepeated: imos=9281906&imos=8419520
vessel_built_fromstring

Vessel built from.

Recognized date format is YYYY-MM-DD

Example 2005-01-01

vessel_built_tostring

Vessel built to.

Recognized date format is YYYY-MM-DD

Example 2006-01-01

vessel_beam_fromnumber

Vessel beam from.

Example 45

vessel_beam_tonumber

Vessel beam to.

Example 55

vessel_loa_fromnumber

Vessel loa from.

Example 200

vessel_loa_tonumber

Vessel loa to.

Example 300

vessel_draft_fromnumber

Vessel draft from.

Example 10

vessel_draft_tonumber

Vessel draft to.

Example 20

vessel_dwt_frominteger

Vessel dwt from.

Example 200000

vessel_dwt_tointeger

Vessel dwt to.

Example 300000

entry_date_fromstring

Entry date from. Date-time in ISO 8601 format (YYYY-MM-DDTHH:mm:ss) and UTC.

Example 2025-04-01T00:00:00

entry_date_tostring

Entry date to. Date-time in ISO 8601 format (YYYY-MM-DDTHH:mm:ss) and UTC.

Example 2025-04-10T00:00:00

entry_heading_frominteger

Entry heading from.

Example 0

entry_heading_tointeger

Entry heading to.

Example 180

entry_draft_fromnumber

Entry draft from.

Example 5

entry_draft_tonumber

Entry draft to.

Example 15

entry_speed_fromnumber

Entry speed from.

Example 5

entry_speed_tonumber

Entry speed to.

Example 15

out_date_fromstring

Out date from. Date-time in ISO 8601 format (YYYY-MM-DDTHH:mm:ss) and UTC.

Example 2025-04-01T00:00:00

out_date_tostring

Out date to. Date-time in ISO 8601 format (YYYY-MM-DDTHH:mm:ss) and UTC.

Example 2025-04-10T00:00:00

out_heading_frominteger

Out heading from.

Example 60

out_heading_tointeger

Out heading to.

Example 180

out_draft_fromnumber

Out draft from.

Example 5

out_draft_tonumber

Out draft to.

Example 15

out_speed_fromnumber

Out speed from.

Example 5

out_speed_tonumber

Out speed to.

Example 15

is_open_eventboolean

Is the event opened?

Example false """

updated_afterstring

Polygon event updated after. Date-time in ISO 8601 format (YYYY-MM-DDTHH:mm:ss) and UTC.

Example 2025-06-01T00:00:00

Response

200
Object
OK

Response Attributes

linksobject

Object containing useful links for the API.

Show child attributes

resultsarray

Show child attributes

GET

/

Select
1

Response