The ICES VMS and Logbook data portal web services can be accessed programmatically for example using R. Each web service provides a specific endpoint that returns data in a defined format (for example, JSON, CSV, or Shapefile).
In the list below:
Green services are public and can be accessed without authentication.
Orange services require a JWT token and an authorized user account.
You can use the httr or curl packages to send requests and retrieve data from the API.
Below is an example using the httr and jsonlite packages:
# Install required packages (if not already installed)
install.packages(c("httr", "jsonlite"))
library(httr)
library(jsonlite)
# Example of a public (green) API endpoint
url <- "https://data.ices.dk/vms/api/getExampleData"
# Send GET request
response <- GET(url)
# Check response status
if (status_code(response) == 200) {
# Parse JSON content
data <- fromJSON(content(response, "text", encoding = "UTF-8"))
print(head(data))
} else {
print(paste("Request failed with status:", status_code(response)))
}
For restricted (orange) services, you must include your JWT token in the HTTP request header. You can obtain the token after authentication.
# Example of a restricted (orange) API endpoint
url <- "https://data.ices.dk/vms/api/getRestrictedData"
# Your JWT token (replace with your own)
jwt_token <- "your_token_here"
# Send GET request with authorization header
response <- GET(url, add_headers(Authorization = paste("Bearer", jwt_token)))
if (status_code(response) == 200) {
data <- fromJSON(content(response, "text", encoding = "UTF-8"))
print(head(data))
} else {
print(paste("Request failed with status:", status_code(response)))
}
| Name | API/getSARBy_YearAndMetier4_GeoJSON/{Year}/{Metier4} | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Description |
This web service provides access to annual Surface Area Ratio (SAR) values aggregated by métier level 4 for each year. Users can retrieve the data in GeoJSON format, which is compatible with most geospatial applications.
The resulting GeoJSON can be visualized directly on a map or integrated into spatial analyses in tools such as QGIS, ArcGIS, or programming environments like R (for example, using packages such as |
||||||||||||
| Example |
Typical workflow:
https://data.ices.dk/VMS/API/getSARBy_YearAndMetier4_GeoJSON/2022/OTT |
||||||||||||
| Name | API/getSARBy_YearAndMetier4_Shapefile/{Year}/{Metier4} | ||||||||||||
| Description |
The endpoint
The Shapefile format is widely supported by most Geographic Information System (GIS) applications,
allowing users to easily import and analyze the dataset in software such as QGIS, ArcGIS, or in
statistical environments like R (using packages such as |
||||||||||||
| Example |
Typical workflow:
https://data.ices.dk/VMS/API/getSARBy_YearAndMetier4_Shapefile/2022/OTT |
||||||||||||
| Name | api/Csquares/{ID} | ||||||||||||
| Description | In this webservice the user can a get the information about a c-square, if it know the c-square ID in the database. | ||||||||||||
| Example | Example to get the information of a c-square with the ID:5 | ||||||||||||
| Name | api/Csquares/getCSquare?latitude={longitude}&longitude={latitude} | ||||||||||||
| Description |
This service returns the C-Square code corresponding to a specific geographical position, based on latitude and longitude coordinates.
The C-Square system provides a standardized spatial grid reference for global mapping and spatial analysis. Notes
|
||||||||||||
| Parameters |
|
||||||||||||
| Example | Example to get the c-square giving a latitude and a longitude | ||||||||||||
| Name | API/ScreenVMSFile | ||||||||||||
| Description |
In this webservice the user can upload a file to be screen and validated by the VMS database.
The service can be called using post and the file will have to be part of the body of que call. The user needs to be autenticated in order to call this service. This file can be later pushed to the database by the same user. |
||||||||||||
| Input |
fileToScreen (FileStream part of the Body form-data) SendMail (Is defines if a mail is send when it ends and it is passed in the url) |
||||||||||||
| Output | It returns the tblFileScreeninID and this can be used later to query the file screening for messages, status or in case the screening is finished and free of errors to push the file to the database. | ||||||||||||
| URL | (POST) https://data.ices.dk/vms/API/ScreenVMSFile | ||||||||||||
| Name | API/Datsusession/LE?sessionId={SessionID} | ||||||||||||
| Description |
In this webservice the user can request the records of logbook for a screening session.
This will have to be an administrator of the VMS database! |
||||||||||||
| Input |
SessionID of the screening session |
||||||||||||
| Output | It returns the records screened by user. | ||||||||||||
| URL | https://data.ices.dk/vms/API/Datsusession/LE?sessionId=41208 | ||||||||||||
| Name | API/Datsusession/VE?sessionId={SessionID} | ||||||||||||
| Description |
In this webservice the user can request the records of VMS for a screening session.
This will have to be an administrator of the VMS database! |
||||||||||||
| Input |
SessionID of the screening session |
||||||||||||
| Output | It returns the records screened by user. | ||||||||||||
| URL | https://data.ices.dk/vms/API/Datsusession/VE?sessionId=41208 | ||||||||||||
| Name | API/Logbook?country={country}&gear_code={gear_code}&Year={Year}&month={month}&metier={metier6}&stat_rec{Statistical rectangle}&ices_area={ICES Area}&Ecogeion={Ecoregion} | ||||||||||||
| Description |
In this webservice the user can request the records of Logbook in the database.
This will have to be an administrator of the VMS database! |
||||||||||||
| API Input Parameters |
|
||||||||||||
| Output | It returns the records of the LE table after using the filters specified above | ||||||||||||
| URL | https://data.ices.dk/vms/API/logbook?country=FR&gear_code=OTB&Year=2020 | ||||||||||||
| Name | API/Datsusession/details?sessionId={SessionID} | ||||||||||||
| Description |
In this webservice the user can request the details of a screening session.
This will have to be an administrator of the VMS database! |
||||||||||||
| Input |
SessionID of the screening session |
||||||||||||
| Output | It returns the details of a session, such as the email of the user who performed the screening, whether the file was submitted to the database, and other related information. | ||||||||||||
| URL | https://data.ices.dk/vms/API/Datsusession/details?sessionId=41208 | ||||||||||||
| Name | API/Wgfbit/dataset1/{EcoRegion}/{Year}?fishing_category={fishing_category}&benthis_metier={benthis_metier}&datacall={datacall} | ||||||||||||
| Description |
In this webservice the user can request the table 1 in WGFBIT format
This will have to be an administrator of the VMS database! |
||||||||||||
| Input |
Path Parameters
Query Parameters
|
||||||||||||
| Output | It returns the table 1 for the WGFITBIT. | ||||||||||||
| URL | https://data.ices.dk/vms/API/Wgfbit/dataset1/Greater North Sea/2024 | ||||||||||||
| Name | API/Wgfbit/dataset2/{EcoRegion}/{Year} | ||||||||||||
| Description |
In this webservice the user can request the table 2 in WGFBIT format
This will have to be an administrator of the VMS database! |
||||||||||||
| Input |
Path Parameters
|
||||||||||||
| Output | It returns the table 2 for the WGFITBIT. | ||||||||||||
| URL | https://data.ices.dk/vms/API/Wgfbit/dataset2/Greater North Sea/2024 | ||||||||||||
| Name | API/Wgfbit/dataset3/{Year}?fishing_category={fishing_category}&benthis_metier={benthis_metier}&datacall={datacall} | ||||||||||||
| Description |
In this webservice the user can request the table 3 in WGFBIT format
This will have to be an administrator of the VMS database! |
||||||||||||
| Input |
Path Parameters
Query Parameters
|
||||||||||||
| Output | It returns the table 1 for the WGFITBIT. | ||||||||||||
| URL | https://data.ices.dk/vms/API/Wgfbit/dataset1/Greater North Sea/2024 | ||||||||||||
| Name | API/Footprint/passive/{ecoregion}/{year}?metier_level4={metier_level4}&datacall={datacall} | ||||||||||||
| Description |
In this webservice the user can request the Footprint table.
This will have to be an administrator of the VMS database! |
||||||||||||
| Input |
Path Parameters
Query Parameters
|
||||||||||||
| Output | It returns the table 1 for the WGFITBIT. | ||||||||||||
| URL | https://data.ices.dk/vms/API/Footprint/passive/Greater North sea/2024 | ||||||||||||
| Name | API/FisheriesOverviews/effort/{EcoRegion} | ||||||||||||
| Description |
In this webservice the user can request the effort table for the fisheries overviews.
This will have to be an administrator of the VMS database! |
||||||||||||
| Input |
Path Parameters
|
||||||||||||
| Output | It returns the effort for the Fisheries Overviews. | ||||||||||||
| URL | https://data.ices.dk/vms/API/FisheriesOverviews/effort/Greater North sea/ | ||||||||||||
| Name | API/FisheriesOverviews/landings/{EcoRegion} | ||||||||||||
| Description |
In this webservice the user can request the landings table for the fisheries overviews.
This will have to be an administrator of the VMS database! |
||||||||||||
| Input |
Path Parameters
|
||||||||||||
| Output | It returns the landings for the Fisheries Overviews. | ||||||||||||
| URL | https://data.ices.dk/vms/API/FisheriesOverviews/landings/Greater North sea/ | ||||||||||||
| Name | API/FisheriesOverviews/fishingactivity/{EcoRegion} | ||||||||||||
| Description |
In this webservice the user can request the fishingactivity for the fisheries overviews.
This will have to be an administrator of the VMS database! |
||||||||||||
| Input |
Path Parameters
|
||||||||||||
| Output | It returns the landings for the Fisheries Overviews. | ||||||||||||
| URL | https://data.ices.dk/vms/API/FisheriesOverviews/landings/Greater North sea/ | ||||||||||||
| Name | API/FisheriesOverviews/fishingactivity/{EcoRegion}?year={Year} | ||||||||||||
| Description |
In this webservice the user can request the fishingactivity for the fisheries overviews.
This will have to be an administrator of the VMS database! |
||||||||||||
| Input |
Path Parameters
Query Parameters
|
||||||||||||
| Output | It returns the fishing activity for the Fisheries Overviews. | ||||||||||||
| URL | https://data.ices.dk/vms/API/FisheriesOverviews/landings/Greater North sea/ | ||||||||||||
| Name | API/FisheriesOverviews/effortmap/{EcoRegion}?year={Year} | ||||||||||||
| Description |
In this webservice the user can request the fishingactivity for the fisheries overviews.
This will have to be an administrator of the VMS database! |
||||||||||||
| Input |
Path Parameters
Query Parameters
|
||||||||||||
| Output | It returns the effortmap for the Fisheries Overviews. | ||||||||||||
| URL | https://data.ices.dk/vms/API/FisheriesOverviews/effortmap/Greater North sea/ | ||||||||||||
| Name | API/FisheriesOverviews/sarmap/{EcoRegion}?year={Year} | ||||||||||||
| Description |
In this webservice the user can request the fishingactivity for the fisheries overviews.
This will have to be an administrator of the VMS database! |
||||||||||||
| Input |
Path Parameters
Query Parameters
|
||||||||||||
| Output | It returns the Surface Area Ratio (SAR) map for the Fisheries Overviews. | ||||||||||||
| URL | https://data.ices.dk/vms/API/FisheriesOverviews/effortmap/Greater North sea/ | ||||||||||||
| Name | API/getScreeningDetails/{ID} | ||||||||||||
| Description | In this webservice the user can a get the details of a screening session, no autentication is needed. | ||||||||||||
| Example | Example to get the details of session 530 | ||||||||||||
| Name | API/GearWidths/{ID} | ||||||||||||
| Description | In this webservice the user can a get the details of the gears, no autentication is needed. | ||||||||||||
| Example | Example to get the details of gear 5 that is BenthisMetier: SSC_DMF | ||||||||||||
| Name | API/MetierLookup/{ID} | ||||||||||||
| Description | In this webservice the user can a get the details of the gears, no autentication is needed. | ||||||||||||
| Example | Example to get the details of gear 5 that is BenthisMetier: SSC_DMF | ||||||||||||
| Name | API/VMSSummary | ||||||||||||
| Description | In this webservice the user can a get the summary of the VMS data submited. | ||||||||||||
| Example | Example to get the latest summary of the data. | ||||||||||||
| Name | API/SpatialUtilities/csquarearea?lat={Latitude} | ||||||||||||
| Description | In this webservice the user gets the are of a Csquare when specifiyng the latitude of the C-square | ||||||||||||
| Example |
Example to get the area of a C-square with Latitute of 35 degrees
Example to get the area of a C-square with Latitute of 65 degrees |
||||||||||||
| Name | API/SpatialUtilities/wkt?lat={Latitude}&lon={Longitude} | ||||||||||||
| Description |
This webservice allows the user to obtain the Csquare geometry corresponding to a specific geographic location defined by latitude and longitude coordinates.
When the user provides a latitude (Lat) and longitude (Lon) as input parameters, the service returns the Csquare polygon in WKT (Well-Known Text) format. |
||||||||||||
| Example |
Example to get the WKT of a C-square with Latitute of 65 degrees and Longitude of 3 degrees
|
||||||||||||
| Name | API/getScreeningSessionMessages/{ID} | ||||||||||||
| Description | In this webservice the user can a get the list of messages from a screening session, no autentication is needed. | ||||||||||||
| Example | Example to get the list of messages from session 528 | ||||||||||||
| Name | API/SendFileToQC/{ID} | ||||||||||||
| Description |
In this webservice the user can push a file to the VMS database.
The service can be called using post The user needs to be autenticated and the user needs to be the same that has screened the file. |
||||||||||||
| Input |
ID given in the ScreenVMSFile webservice |
||||||||||||
| Output | It returns a boolean to say if the file has been uploaded to the database successfuly. | ||||||||||||
| URL | (POST) https://data.ices.dk/vms/API/SendFileToQC/{tblFileScreeningID} (e.g: https://data.ices.dk/vms/API/SendFileToQC/564) | ||||||||||||