Getting Started

Sections

Theme switcher

Liner Polygon Events

The Polygon Event API enables historical and real-time tracking of containers and passenger vessels as they enter or exit defined maritime zones such as ports, canals, anchorages, terminals, and shipyards. Leveraging over 12 years of AXSMarine’s proprietary AIS data, this API provides structured insights into vessel movements across 60,000+ geofenced 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 out parameters, providing a detailed snapshot of vessel operations.

📍 Geofenced Tracking – Monitor tanker and gas vessel movements across anchorages, canals, terminals, and more, using AXSMarine’s polygon-based detection system.

📌 Service Identification – Each event includes vessel_service_name and vessel_service_id, representing the service the vessel is part of. This enables deeper segmentation of vessel activity based on service context.

Event Duration – Calculate how long a vessel remains in a given zone, supporting congestion assessment, operational benchmarking, or loading/discharging activity tracking.

📊 Time Series Ready – Leverage historical Polygon Events to generate time series charts showing port activity, vessel throughput, and duration trends.

🚨 Activity Alerts – Detect live “open” events and trigger alerts when vessels enter or remain in key maritime zones.

🎯 Flexible Filtering – Query by:

  • Vessel specifications (IMO, DWT, etc.)
  • Polygon attributes (ID, name, type)
  • Entry/exit timestamps and AIS signal data
  • Filtering with is_open_event = true is recommended for tracking real-time vessel activity.

📚 Deep Historical Coverage – Access over 12 years of event data for tanker and gas vessels—ideal for forecasting, trend analysis, and operational intelligence.

📦 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 – Designed for easy integration with spreadsheets, BI dashboards, and time series platforms. The API returns a flat, structured response ideal for analytics and reporting.


Filter by ancestors

The ancestor_polygons parameter is a new filter introduced in the v6 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 v5.

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/liner/ais/event/polygon/v6?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 v6 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 liner vessels, the GraphQL API provides real-time data across all vessel segments, including dry bulk, 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: 108728,4105
  • parameterRepeated: vessel_ids=108728&vessel_ids=4105
imosstring

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

Examples

  • commaSeparated: 9388534,9996680
  • parameterRepeated: imos=9388534&imos=9996680
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

vessel_teu_frominteger

Vessel TEU from.

Example 2000

vessel_teu_tointeger

Vessel TEU to.

Example 20000

vessel_service_idsstring

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

  • commaSeparated: 666,291
  • parameterRepeated: vessel_service_ids=666&vessel_service_ids=291
vessel_service_region_idsstring

List of service region ids as array. Can be used either as a string, separated by commas, or by repeating the parameter.

Examples

  • commaSeparated: 35,68
  • parameterRepeated: vessel_service_region_ids=35&vessel_service_region_ids=68
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