Every API here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for apis
7 MCP tools reach this
find_apisBrowse and filter every API in the catalog.
get_api_artifactsOne API's artifacts, grouped by type.
get_openapiThe primary OpenAPI for this API.
find_similar_apisAPIs that look like this one.
apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
resolveTurn a domain, URL or GitHub org into the provider it belongs to.
find_cohortsEvery scored population of providers in the catalog.
All 92 tools →
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/digitraffic-fi:digitraffic-fi-winter-navigation-v2-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we
store it to create your key and to recognise you if you sign in with another
provider. See our Privacy Policy and
Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Digitraffic Marine Winter Navigation V2 API
version: 'Branch: master, tag: 2026.11.2-1 #0bde4c1 @ 2026-11-03T08:19:21+0000'
description: 'OpenAPI document
Digitraffic is a service operated by Fintraffic, offering real time traffic information. Currently the service covers *road, marine and rail* traffic. More information can be found at the Digitraffic website
The service has a public Google-group meri.digitraffic.fi for communication between developers, service administrators and Fintraffic. The discussion in the forum is mostly in Finnish, but you''re welcome to communicate in English too.
### General notes of the API
* Many Digitraffic APIs use the GeoJSON format. The definition of GeoJSON can be found at https://tools.ietf.org/html/rfc7946.
* For dates and times, the ISO 8601 format is used with "Zulu" zero offset from UTC unless otherwise specified (i.e., "yyyy-mm-ddThh:mm:ss[.mmm]Z"). E.g. 2019-11-01T06:30:00Z.'
termsOfService: https://www.digitraffic.fi/en/terms-of-service/
contact:
name: Digitraffic / Fintraffic
url: https://www.digitraffic.fi/
license:
name: Creative Commons 4.0 BY
url: https://creativecommons.org/licenses/by/4.0/
servers:
- url: https://meri.digitraffic.fi
tags:
- name: Winter Navigation V2
paths:
/api/winter-navigation/v2/locations:
get:
tags:
- Winter Navigation V2
summary: Return all locations
responses:
'200':
description: 200 response
headers:
Access-Control-Allow-Origin:
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/Locations'
'400':
description: 400 response
headers:
Access-Control-Allow-Origin:
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/Empty'
'500':
description: 500 response
headers:
Access-Control-Allow-Origin:
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/Empty'
operationId: getApiWinterNavigationV2Locations
x-operation-id-source: derived
/api/winter-navigation/v2/vessels/{vesselId}:
get:
tags:
- Winter Navigation V2
summary: Return one vessel
parameters:
- name: activeTo
in: query
description: An ISO 8601 date-time. Filters for related activities or planned assistances starting or in progress before this time.
schema:
type: string
- name: activeFrom
in: query
description: An ISO 8601 date-time. Filters for related activities or planned assistances starting or in progress after this time.
schema:
type: string
- name: vesselId
in: path
description: IMO or MMSI
required: true
schema:
type: string
responses:
'200':
description: 200 response
headers:
Access-Control-Allow-Origin:
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/Vessels'
'400':
description: 400 response
headers:
Access-Control-Allow-Origin:
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/Empty'
'500':
description: 500 response
headers:
Access-Control-Allow-Origin:
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/Empty'
operationId: getApiWinterNavigationV2VesselsByVesselId
x-operation-id-source: derived
/api/winter-navigation/v2/dirways:
get:
tags:
- Winter Navigation V2
summary: Return all dirways
responses:
'200':
description: 200 response
headers:
Access-Control-Allow-Origin:
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/Dirways'
'400':
description: 400 response
headers:
Access-Control-Allow-Origin:
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/Empty'
'500':
description: 500 response
headers:
Access-Control-Allow-Origin:
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/Empty'
operationId: getApiWinterNavigationV2Dirways
x-operation-id-source: derived
/api/winter-navigation/v2/locations/{locode}:
get:
tags:
- Winter Navigation V2
summary: Return one location
parameters:
- name: locode
in: path
required: true
schema:
type: string
responses:
'200':
description: 200 response
headers:
Access-Control-Allow-Origin:
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/Locations'
'400':
description: 400 response
headers:
Access-Control-Allow-Origin:
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/Empty'
'500':
description: 500 response
headers:
Access-Control-Allow-Origin:
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/Empty'
operationId: getApiWinterNavigationV2LocationsByLocode
x-operation-id-source: derived
/api/winter-navigation/v2/vessels:
get:
tags:
- Winter Navigation V2
summary: Return all vessels
parameters:
- name: activeTo
in: query
description: An ISO 8601 date-time. Filters for vessels with related activities or planned assistances starting or in progress before this time.
schema:
type: string
- name: activeFrom
in: query
description: An ISO 8601 date-time. Filters for vessels with related activities or planned assistances starting or in progress after this time. If omitted, defaults to one week ago.
schema:
type: string
responses:
'200':
description: 200 response
headers:
Access-Control-Allow-Origin:
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/Vessels'
'400':
description: 400 response
headers:
Access-Control-Allow-Origin:
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/Empty'
'500':
description: 500 response
headers:
Access-Control-Allow-Origin:
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/Empty'
operationId: getApiWinterNavigationV2Vessels
x-operation-id-source: derived
components:
schemas:
Dirways:
required:
- features
- type
type: object
properties:
features:
type: array
items:
required:
- geometry
- properties
- type
type: object
properties:
geometry:
anyOf:
- required:
- coordinates
- type
type: object
properties:
coordinates:
maxItems: 3
minItems: 2
type: array
items:
type: number
type:
type: string
enum:
- Point
additionalProperties: false
- required:
- coordinates
- type
type: object
properties:
coordinates:
minItems: 2
type: array
items:
maxItems: 3
minItems: 2
type: array
items:
type: number
type:
type: string
enum:
- LineString
additionalProperties: false
type:
type: string
enum:
- Feature
properties:
required:
- description
- name
type: object
properties:
name:
type: string
description:
type: string
additionalProperties: false
description: Dirways are paths published by icebreakers to help coordinate the movement of vessels through the ice.
additionalProperties: false
description: GeoJSON Feature
type:
type: string
enum:
- FeatureCollection
additionalProperties: false
description: GeoJSON FeatureCollection
Locations:
required:
- features
- type
type: object
properties:
features:
type: array
items:
required:
- geometry
- properties
- type
type: object
properties:
geometry:
required:
- coordinates
- type
type:
- object
- 'null'
properties:
coordinates:
maxItems: 3
minItems: 2
type: array
items:
type: number
type:
type: string
enum:
- Point
additionalProperties: false
type:
type: string
enum:
- Feature
properties:
required:
- locodeList
- name
- nationality
- restrictions
- suspensions
- type
- winterport
type: object
properties:
nationality:
type: string
name:
type: string
suspensions:
type: array
items:
required:
- dueTo
- endTime
- portsClosed
- prenotification
- specifications
- startTime
type: object
properties:
prenotification:
type: boolean
description: Whether suspension is announced to users before it starts.
portsClosed:
type: boolean
description: Bit indicating whether the port is entirely closed to all operations.
dueTo:
type: string
description: Main reason for port suspension.
startTime:
type: string
format: date-time
endTime:
type:
- string
- 'null'
format: date-time
specifications:
type:
- string
- 'null'
description: 'More specific reason for port suspension. '
additionalProperties: false
description: Information on port suspensions.
locodeList:
type: string
description: Comma separated list of UN locodes.
restrictions:
type: array
items:
required:
- endTime
- startTime
- textCompilation
type: object
properties:
textCompilation:
type: string
description: Textual presentation of the restriction.
startTime:
type: string
format: date-time
endTime:
type:
- string
- 'null'
format: date-time
additionalProperties: false
description: Assistance restrictions are restrictions published by authorities that target a specific location for a range of time.
winterport:
type: boolean
description: Boolean indicating whether a port is a winterport or not.
type:
type: string
description: Type of location. PORT or FAIRWAY, but there could be more in the future.
additionalProperties: false
description: Locations are points of interest on a map, usually ports, that can have restrictions placed on them.
additionalProperties: false
description: GeoJSON Feature
type:
type: string
enum:
- FeatureCollection
additionalProperties: false
description: GeoJSON FeatureCollection
Vessels:
required:
- lastUpdated
- vessels
type: object
properties:
lastUpdated:
type:
- string
- 'null'
format: date-time
vessels:
type: array
items:
required:
- activities
- callSign
- imo
- mmsi
- name
- plannedAssistances
- shortcode
- type
type: object
properties:
lastUpdated:
type:
- string
- 'null'
format: date-time
mmsi:
type:
- number
- 'null'
activities:
type: array
description: A list of all activities related to this vessel.
items:
anyOf:
- required:
- assistingVessel
- endTime
- publicComment
- reason
- startTime
- type
type: object
properties:
reason:
type:
- string
- 'null'
description: Optional reason for activity
assistingVessel:
required:
- imo
- mmsi
- name
type: object
properties:
mmsi:
type:
- number
- 'null'
name:
type: string
imo:
type:
- number
- 'null'
additionalProperties: false
description: Vessel that is assisting
publicComment:
type:
- string
- 'null'
description: Optional publicly available specification for activity.
startTime:
type: string
format: date-time
endTime:
type:
- string
- 'null'
format: date-time
type:
type: string
description: 'Current list of types (subject to change): CREWA (Actual crew change), LED (Lead), LOC (Local Icebreaking), MOVE (Move), ORDER (Order), OUT (Out of Operation), CREWP (Planned crew change), STOP (Stop), TOW (Tow), TRANS (Transfer), WAIT (Wait)
Activities that affect vessels subject to icebreaker assistance:
- WAIT: vessel is waiting for icebreaker assistance
- STOP: vessel is waiting for other reason
Activities that affect icebreakers:
- STOP, LOC, MOVE, TRANS
Activities that affect both vessel and icebreaker:
- LED, TOW'
additionalProperties: false
- required:
- assistedVessel
- endTime
- publicComment
- reason
- startTime
- type
type: object
properties:
reason:
type:
- string
- 'null'
description: Optional reason for activity
assistedVessel:
required:
- imo
- mmsi
- name
type: object
properties:
mmsi:
type:
- number
- 'null'
name:
type: string
imo:
type:
- number
- 'null'
additionalProperties: false
description: Vessel that is being assisted
publicComment:
type:
- string
- 'null'
description: Optional publicly available specification for activity.
startTime:
type: string
format: date-time
endTime:
type:
- string
- 'null'
format: date-time
type:
type: string
description: 'Current list of types (subject to change): CREWA (Actual crew change), LED (Lead), LOC (Local Icebreaking), MOVE (Move), ORDER (Order), OUT (Out of Operation), CREWP (Planned crew change), STOP (Stop), TOW (Tow), TRANS (Transfer), WAIT (Wait)
Activities that affect vessels subject to icebreaker assistance:
- WAIT: vessel is waiting for icebreaker assistance
- STOP: vessel is waiting for other reason
Activities that affect icebreakers:
- STOP, LOC, MOVE, TRANS
Activities that affect both vessel and icebreaker:
- LED, TOW'
additionalProperties: false
- required:
- endTime
- publicComment
- reason
- startTime
- type
type: object
properties:
reason:
type:
- string
- 'null'
description: Optional reason for activity
publicComment:
type:
- string
- 'null'
description: Optional publicly available specification for activity.
startTime:
type: string
format: date-time
endTime:
type:
- string
- 'null'
format: date-time
type:
type: string
description: 'Current list of types (subject to change): CREWA (Actual crew change), LED (Lead), LOC (Local Icebreaking), MOVE (Move), ORDER (Order), OUT (Out of Operation), CREWP (Planned crew change), STOP (Stop), TOW (Tow), TRANS (Transfer), WAIT (Wait)
Activities that affect vessels subject to icebreaker assistance:
- WAIT: vessel is waiting for icebreaker assistance
- STOP: vessel is waiting for other reason
Activities that affect icebreakers:
- STOP, LOC, MOVE, TRANS
Activities that affect both vessel and icebreaker:
- LED, TOW'
additionalProperties: false
name:
type: string
imo:
type:
- number
- 'null'
plannedAssistances:
type: array
description: Planned assistances where the vessel is either the icebreaker or the one being assisted.
items:
anyOf:
- required:
- assistingVessel
- endTime
- queuePosition
- startTime
type: object
properties:
queuePosition:
type: number
description: Order number of this assistance in the icebreaker's queue of planned assistances
assistingVessel:
required:
- imo
- mmsi
- name
type: object
properties:
mmsi:
type:
- number
- 'null'
name:
type: string
imo:
type:
- number
- 'null'
additionalProperties: false
description: Vessel that is assisting
startTime:
type: string
format: date-time
endTime:
type:
- string
- 'null'
format: date-time
additionalProperties: false
- required:
- assistedVessel
- endTime
- queuePosition
- startTime
type: object
properties:
queuePosition:
type: number
description: Order number of this assistance in the icebreaker's queue of planned assistances
assistedVessel:
required:
- imo
- mmsi
- name
type: object
properties:
mmsi:
type:
- number
- 'null'
name:
type: string
imo:
type:
- number
- 'null'
additionalProperties: false
description: Vessel that is being assisted
startTime:
type: string
format: date-time
endTime:
type:
- string
- 'null'
format: date-time
additionalProperties: false
shortcode:
type:
- string
- 'null'
description: Three letter code for vessel. Not unique, but might be useful to differentiate between vessels where space is limited.
type:
type:
- string
- 'null'
description: 'Vessel type. Current list of types (subject to change): Barge, Bulk Cargo, Container Cargo, General Cargo, Icebreaker, Other vessel, Passenger Ship, Pusher, Pusher+Barge, Refridgerated Cargo, River Tonnage, Roro Cargo, Supply Ship, Tanker, Tug, Tug+Barge, Vehicle Carrier'
callSign:
type:
- string
- 'null'
description: VHF callsign
additionalProperties: false
additionalProperties: false
Empty:
title: Empty Schema
type: object