# Global Fishing Watch API > REST API documentation for Global Fishing Watch: apparent fishing effort, vessel identity across 40+ public registries, vessel events (encounters, loitering, port visits), SAR dark-vessel detections, risk insights, and bulk data download. Every page is also available as plain markdown by appending `.md` to its URL, for example https://globalfishingwatch.org/our-apis/documentation/docs/authentication.md. https://globalfishingwatch.org/our-apis/documentation/llms-full.txt is the full text of every page in one file. ## Docs - [Quick Start](https://globalfishingwatch.org/our-apis/documentation/docs/quick-start): Register, create an API access token, and make your first Global Fishing Watch API request in four steps. - [Authentication](https://globalfishingwatch.org/our-apis/documentation/docs/authentication): Create an API access token, authenticate your requests, and troubleshoot 401/403 errors. - API v3 - [Version 3 API](https://globalfishingwatch.org/our-apis/documentation/docs/v3): What is new in API version 3: expanded vessel identity from public registries, new endpoints and extended functionality over v2. - 4Wings - Map Visualization - [4Wings API](https://globalfishingwatch.org/our-apis/documentation/docs/v3/4wings): 4Wings API (Map Visualization): fast visualization, navigation and analysis of gridded spatiotemporal datasets such as apparent fishing activity. - [Create a Report for a specific region](https://globalfishingwatch.org/our-apis/documentation/docs/v3/4wings/report): Create a report aggregating activity over a region, given either an existing region id or a custom GeoJSON polygon, as JSON or CSV. - [Get last report generated](https://globalfishingwatch.org/our-apis/documentation/docs/v3/4wings/last-report): Check status of the last report generated and download the data - [Create a Style for PNG Tiles](https://globalfishingwatch.org/our-apis/documentation/docs/v3/4wings/generate-png): Create a style document defining how 4Wings data is drawn. Required before requesting PNG tiles. - [Get Raster Tiles](https://globalfishingwatch.org/our-apis/documentation/docs/v3/4wings/tiles): Get raster or vector tiles by z/x/y coordinates, in PNG or MVT format, for gridded activity datasets. - [Generate Bins](https://globalfishingwatch.org/our-apis/documentation/docs/v3/4wings/bins): Generate bins of the underlying data at a given zoom level, for example to build a color ramp. - [Interaction API](https://globalfishingwatch.org/our-apis/documentation/docs/v3/4wings/interaction): Get the details behind a single cell of an MVT tile, including the vessels contributing to it. - [Statistics](https://globalfishingwatch.org/our-apis/documentation/docs/v3/4wings/stats): Worldwide apparent fishing activity statistics: flags, vessel ids and activity hours for a time period. - Vessels - [Vessels API](https://globalfishingwatch.org/our-apis/documentation/docs/v3/vessels): Search vessels and retrieve identity details, combining GFW AIS identity data with over 40 public regional and national registries. - [Search vessels](https://globalfishingwatch.org/our-apis/documentation/docs/v3/vessels/search): Search vessels and retrieve identity details, combining GFW AIS identity data with over 40 public regional and national registries. - [Get vessels](https://globalfishingwatch.org/our-apis/documentation/docs/v3/vessels/get-vessels): Get list of vessels by IDs and retrieve identity details, combining GFW AIS identity data with over 40 public regional and national registries. - [Get one vessel by ID](https://globalfishingwatch.org/our-apis/documentation/docs/v3/vessels/get-one-vessel): Get one vessel and retrieve identity details, combining GFW AIS identity data with over 40 public regional and national registries. - Events - [Events API](https://globalfishingwatch.org/our-apis/documentation/docs/v3/events): Explore vessel activity: apparent fishing, encounters between vessel types, loitering, port visits and AIS gaps. - [Get All Events](https://globalfishingwatch.org/our-apis/documentation/docs/v3/events/get-all-events): Get several events in one request apparent fishing, encounters between vessel types, loitering, port visits and AIS gaps. - [Get one Event ID](https://globalfishingwatch.org/our-apis/documentation/docs/v3/events/get-one-event): Get one event by ID: apparent fishing, encounters between vessel types, loitering, port visits and AIS gaps. - [Statistics on events](https://globalfishingwatch.org/our-apis/documentation/docs/v3/events/stats): Get events statistics worldwide or for a specific region. - Insights - [Insights API](https://globalfishingwatch.org/our-apis/documentation/docs/v3/insights): Vessel insights that fuse AIS activity, identity and public authorizations into risk indicators for IUU fishing due diligence. - [Insights by vessels](https://globalfishingwatch.org/our-apis/documentation/docs/v3/insights/insights-vessels): Get vessels insights that fuse AIS activity, identity and public authorizations into risk indicators for IUU fishing due diligence. - Context Layers - [Context Layers API](https://globalfishingwatch.org/our-apis/documentation/docs/v3/datasets): Context Layers API: retrieve SAR fixed infrastructure data in MVT format and regions reference data like EEZ, MPA and RFMO. - [Get SAR fixed infrastructure context layer](https://globalfishingwatch.org/our-apis/documentation/docs/v3/datasets/fixed-infra-context-layer): Context Layers API: retrieve SAR fixed infrastructure data in MVT format. - [Regions](https://globalfishingwatch.org/our-apis/documentation/docs/v3/datasets/regions): Get id of the EEZ, MPA and RFMO regions - Bulk Download - [Bulk Download API](https://globalfishingwatch.org/our-apis/documentation/docs/v3/bulk-download): Asynchronous bulk access to large data slices, starting with fixed infrastructure detections from Sentinel-1 and Sentinel-2 imagery. - [Create a new Bulk Report](https://globalfishingwatch.org/our-apis/documentation/docs/v3/bulk-download/create-bulk-report): Create a bulk download report that allow you to get bulk access to large data slices, starting with fixed infrastructure detections from Sentinel-1 and Sentinel-2 imagery. - [Get Bulk Report status by ID](https://globalfishingwatch.org/our-apis/documentation/docs/v3/bulk-download/get-bulk-report-id): Retrieve metadata and status of a previously created report using its unique report ID. - [Get all Bulk Download reports by User](https://globalfishingwatch.org/our-apis/documentation/docs/v3/bulk-download/get-bulk-report-users): Retrieve all bulk reports created by your user or application. - [Download report files](https://globalfishingwatch.org/our-apis/documentation/docs/v3/bulk-download/download-file): Asynchronous bulk access to large data slices, starting with fixed infrastructure detections from Sentinel-1 and Sentinel-2 imagery. - [Query report results in JSON](https://globalfishingwatch.org/our-apis/documentation/docs/v3/bulk-download/query-bulk-report): The query endpoint allows us to get the data in JSON format - General API Documentation - [Key Concepts](https://globalfishingwatch.org/our-apis/documentation/docs/v3/general-api-doc/key-concepts): API datasets, dataset versioning, and the GFW Vessel ID. - [Errors](https://globalfishingwatch.org/our-apis/documentation/docs/v3/general-api-doc/errors): GFW API status codes, error-response format, and example error payloads. - [Pagination](https://globalfishingwatch.org/our-apis/documentation/docs/v3/general-api-doc/pagination): How GFW API responses are structured and how to paginate through collections. - [Data Caveats](https://globalfishingwatch.org/our-apis/documentation/docs/v3/general-api-doc/data-caveats): Data limitations to keep in mind, by dataset and event type. - [Reference Data](https://globalfishingwatch.org/our-apis/documentation/docs/v3/general-api-doc/reference-data): Supported gear types, vessel types, regions, and vessel registry sources. - Examples - 4Wings Bins - [Get AIS apparent fishing activity bins for zoom 1 in a daily interval](https://globalfishingwatch.org/our-apis/documentation/docs/examples/bins/bins-example1): Example 4Wings bins request for the AIS apparent fishing activity dataset at zoom 1 with a daily interval. - [Get SAR vessel detections bins for zoom 2 in a hourly interval](https://globalfishingwatch.org/our-apis/documentation/docs/examples/bins/bins-example2): Example 4Wings bins request for SAR vessel detections at zoom 2 with an hourly interval. - [Get AIS vessel presence bins for zoom 1 in a daily interval](https://globalfishingwatch.org/our-apis/documentation/docs/examples/bins/bins-example3): Example 4Wings bins request for the AIS vessel presence dataset at zoom 1 with a daily interval. - 4Wings PNG Tiles - [Filtering by time period](https://globalfishingwatch.org/our-apis/documentation/docs/examples/generate-png/png-example1): Example 4Wings PNG style request for AIS apparent fishing activity over a time period, at a daily interval. - [Filtering by time period and gear type](https://globalfishingwatch.org/our-apis/documentation/docs/examples/generate-png/png-example2): Example 4Wings PNG style request for AIS apparent fishing activity over a time period, filtered by gear type. - [Filtering any SAR vessel detections by time period](https://globalfishingwatch.org/our-apis/documentation/docs/examples/generate-png/png-example3): Example 4Wings PNG style request for all SAR vessel detections over a time period. - [Filtering SAR vessel detections that didn't match with AIS vessels](https://globalfishingwatch.org/our-apis/documentation/docs/examples/generate-png/png-example4): Example 4Wings PNG style request for SAR vessel detections that did not match an AIS vessel. - [Filtering by time period for all vessel types](https://globalfishingwatch.org/our-apis/documentation/docs/examples/generate-png/png-example5): Example 4Wings PNG style request for AIS vessel presence across all vessel types over a time period. - [Filtering by vessel type (cargo and carrier vessels)](https://globalfishingwatch.org/our-apis/documentation/docs/examples/generate-png/png-example6): Example 4Wings PNG style request for AIS vessel presence, filtered to cargo and carrier vessels. - 4Wings Tiles - [Get AIS apparent fishing activity heatmap in PNG format](https://globalfishingwatch.org/our-apis/documentation/docs/examples/tiles/tiles-example1): Example 4Wings tile request returning AIS apparent fishing activity as a PNG heatmap, using a generated style. - [Get AIS apparent fishing activity heatmap in MVT format](https://globalfishingwatch.org/our-apis/documentation/docs/examples/tiles/tiles-example2): Example 4Wings tile request returning AIS apparent fishing activity as MVT vector tiles. - [Get SAR vessel detections heatmap in PNG format](https://globalfishingwatch.org/our-apis/documentation/docs/examples/tiles/tiles-example3): Example 4Wings tile request returning SAR vessel detections as a PNG heatmap, using a generated style. - [Get SAR vessel detections heatmap in MVT format](https://globalfishingwatch.org/our-apis/documentation/docs/examples/tiles/tiles-example4): Example 4Wings tile request returning SAR vessel detections as MVT vector tiles. - [Get AIS vessel presence heatmap in PNG format](https://globalfishingwatch.org/our-apis/documentation/docs/examples/tiles/tiles-example5): Example 4Wings tile request returning AIS vessel presence as a PNG heatmap, using a generated style. - [Get AIS vessel presence heatmap in MVT format](https://globalfishingwatch.org/our-apis/documentation/docs/examples/tiles/tiles-example6): Example 4Wings tile request returning AIS vessel presence as MVT vector tiles. - 4Wings Interaction - [Get AIS apparent fishing activity cell details](https://globalfishingwatch.org/our-apis/documentation/docs/examples/interaction/interaction-example1): Example Interaction request returning the AIS apparent fishing activity behind a single tile cell. - [Get SAR vessel detections cell details](https://globalfishingwatch.org/our-apis/documentation/docs/examples/interaction/interaction-example2): Example Interaction request returning the SAR vessel detections behind a single tile cell. - [Get AIS vessel presence cell details](https://globalfishingwatch.org/our-apis/documentation/docs/examples/interaction/interaction-example3): Example Interaction request returning the AIS vessel presence behind a single tile cell. - 4Wings Reports - [Generate fishing activity report grouped by year and by custom polygon in JSON format](https://globalfishingwatch.org/our-apis/documentation/docs/examples/report/report-example1): Example 4Wings report for apparent fishing activity over a custom polygon, aggregated yearly and grouped by flag, as JSON. - [Report AIS vessel presence by region - grouped by gear type (JSON)](https://globalfishingwatch.org/our-apis/documentation/docs/examples/report/report-example10): Example 4Wings report of AIS vessel presence by region, grouped by gear type, as JSON. - [Report AIS vessel presence - cargo and carrier vessels only (JSON)](https://globalfishingwatch.org/our-apis/documentation/docs/examples/report/report-example11): Example 4Wings report of AIS vessel presence filtered to cargo and carrier vessels, as JSON. - [Generate fishing activity report grouped by gear type, using existing regions (Russian EEZ) in CSV format](https://globalfishingwatch.org/our-apis/documentation/docs/examples/report/report-example2): Example 4Wings report for apparent fishing activity in the Russian EEZ, grouped by gear type, as CSV. - [Generate report with total fishing hours per vessel using existing regions (MPA Dorsal de Nasca) in JSON format](https://globalfishingwatch.org/our-apis/documentation/docs/examples/report/report-example3): Example 4Wings report of total fishing hours per vessel in the Dorsal de Nasca MPA, as JSON. - [Generate report with total fishing hours per vessel using existing regions (MPA Dorsal de Nasca) in JSON format and buffer of 4 nautical miles](https://globalfishingwatch.org/our-apis/documentation/docs/examples/report/report-example4): Example 4Wings report of total fishing hours per vessel in the Dorsal de Nasca MPA with a 4 nautical mile buffer, as JSON. - [Report region id (Chile) daily grided data and filter by unmatched detections (JSON)](https://globalfishingwatch.org/our-apis/documentation/docs/examples/report/report-example8): Example 4Wings report of daily gridded data for Chile, filtered to SAR detections unmatched to AIS, as JSON. - [Report Indonesia filter by matched detections - noisy vessel](https://globalfishingwatch.org/our-apis/documentation/docs/examples/report/report-example9): Example 4Wings report for Indonesia filtered to SAR detections matched to AIS, showing a noisy vessel. - 4Wings Stats - [Get worldwide stats for a time period with no filter](https://globalfishingwatch.org/our-apis/documentation/docs/examples/stats/stats-example1): Example 4Wings statistics request for worldwide apparent fishing activity over a time period, with no filters. - [Get worldwide stats for a time period with gear type filter](https://globalfishingwatch.org/our-apis/documentation/docs/examples/stats/stats-example2): Example 4Wings statistics request for worldwide apparent fishing activity over a time period, filtered by gear type. - Vessels - [Basic search - search any vessel by a keyword](https://globalfishingwatch.org/our-apis/documentation/docs/examples/vessels/vessels-example1): Example basic vessel search by free-form keyword such as MMSI, IMO, callsign or shipname, returning ranked paginated results. - [Advanced search - search any vessel by a keyword](https://globalfishingwatch.org/our-apis/documentation/docs/examples/vessels/vessels-example2): Example advanced vessel search using a query expression such as shipname LIKE, for more precise filtering. - Events - [Get apparent fishing events for a vessel (GET)](https://globalfishingwatch.org/our-apis/documentation/docs/examples/events/get-example1): Example GET request for apparent fishing events of a single vessel over a date range, with pagination. - [Get encounter events for a vessel (GET)](https://globalfishingwatch.org/our-apis/documentation/docs/examples/events/get-example2): Example GET request for encounter events of a single vessel over a date range. - [Get loitering events for a vessel (GET)](https://globalfishingwatch.org/our-apis/documentation/docs/examples/events/get-example3): Example GET request for loitering events of a single vessel over a date range. - [Get port visit events for a vessel (GET)](https://globalfishingwatch.org/our-apis/documentation/docs/examples/events/get-example4): Example GET request for port visit events of a single vessel over a date range. - [Get longline set events for a vessel (GET)](https://globalfishingwatch.org/our-apis/documentation/docs/examples/events/get-example5): Example GET request for longline set events of a single vessel over a date range. - [Get fishing events with a custom polygon (POST)](https://globalfishingwatch.org/our-apis/documentation/docs/examples/events/post-example1): Example POST request for apparent fishing events inside a custom GeoJSON polygon. - [Get encounter events with a custom polygon and duration filter (POST)](https://globalfishingwatch.org/our-apis/documentation/docs/examples/events/post-example2): Example POST request for encounter events inside a custom GeoJSON polygon, filtered by event duration. - [Get loitering events with a custom polygon and duration filter (POST)](https://globalfishingwatch.org/our-apis/documentation/docs/examples/events/post-example3): Example POST request for loitering events inside a custom GeoJSON polygon, filtered by event duration. - [Get port visit events with a custom polygon and duration filter (POST)](https://globalfishingwatch.org/our-apis/documentation/docs/examples/events/post-example4): Example POST request for port visit events inside a custom GeoJSON polygon, filtered by event duration. - [Get fishing events within an existing region (Senegal EEZ) (POST)](https://globalfishingwatch.org/our-apis/documentation/docs/examples/events/post-example5): Example POST request for apparent fishing events inside an existing region, the Senegal EEZ. - [Get encounter events statistics filtered by flag and duration (POST)](https://globalfishingwatch.org/our-apis/documentation/docs/examples/events/stats-example1): Example events statistics request for carrier-fishing encounters, filtered by vessel type and date range. - [Get fishing events statistics in a custom region (POST)](https://globalfishingwatch.org/our-apis/documentation/docs/examples/events/stats-example2): Example events statistics request for apparent fishing events inside a custom region. - [Get port visit events statistics in a region id (Senegal) (POST)](https://globalfishingwatch.org/our-apis/documentation/docs/examples/events/stats-example3): Example events statistics request for port visits in an existing region id, Senegal. - Insights - [Get insights for a vessel related to fishing events](https://globalfishingwatch.org/our-apis/documentation/docs/examples/insights/insights-example1): Example Insights request returning apparent fishing indicators for one vessel over a date range. - [Get insights for a vessel related to AIS off events](https://globalfishingwatch.org/our-apis/documentation/docs/examples/insights/insights-example2): Example Insights request returning AIS off (gap) indicators for one vessel over a date range. - [Get insights for a vessel related to being listed in IUU list](https://globalfishingwatch.org/our-apis/documentation/docs/examples/insights/insights-example3): Example Insights request returning IUU list indicators for one vessel over a date range. - [Get insights for a vessel related to longline set events](https://globalfishingwatch.org/our-apis/documentation/docs/examples/insights/insights-example4): Example Insights request returning longline set indicators for one vessel over a date range. - Bulk Download - [Generate SAR fixed infrastructure report for Argentina EEZ with filter by label = 'oil' and structure_start_date](https://globalfishingwatch.org/our-apis/documentation/docs/examples/bulk-download/create-report-example1): Example bulk report request for SAR fixed infrastructure in the Argentina EEZ, filtered by label oil and structure start date, as CSV. - [Generate report for Argentina EEZ with filter by label_confidence = 'high'](https://globalfishingwatch.org/our-apis/documentation/docs/examples/bulk-download/create-report-example2): Example bulk report request for the Argentina EEZ, filtered to high label confidence detections. - [Generate report for Argentina EEZ with filter by label_confidence = 'medium'](https://globalfishingwatch.org/our-apis/documentation/docs/examples/bulk-download/create-report-example3): Example bulk report request for the Argentina EEZ, filtered to medium label confidence detections. - [Generate report for Argentina EEZ with filter by label_confidence = 'low'](https://globalfishingwatch.org/our-apis/documentation/docs/examples/bulk-download/create-report-example4): Example bulk report request for the Argentina EEZ, filtered to low label confidence detections. - [Generate report for Argentina EEZ with filter by structure_id = 313068](https://globalfishingwatch.org/our-apis/documentation/docs/examples/bulk-download/create-report-example5): Example bulk report request for the Argentina EEZ, filtered to a single structure id. - [Generate report for Argentina EEZ with filters by structure_start_date and structure_end_date](https://globalfishingwatch.org/our-apis/documentation/docs/examples/bulk-download/create-report-example6): Example bulk report request for the Argentina EEZ, filtered by structure start and end dates. - [Generate report using custom GeoJSON region with filters by label and date range](https://globalfishingwatch.org/our-apis/documentation/docs/examples/bulk-download/create-report-example7): Example bulk report request over a custom GeoJSON region, filtered by label and date range. - [Get url of the data file to download it - README](https://globalfishingwatch.org/our-apis/documentation/docs/examples/bulk-download/download-file-example1): Example request for the download URL of a bulk report README file, the metadata documentation for the dataset. - [Get url of the data file to download it - DATA](https://globalfishingwatch.org/our-apis/documentation/docs/examples/bulk-download/download-file-example2): Example request for the download URL of a bulk report DATA file. - [Get url of the data file to download it - GEOM](https://globalfishingwatch.org/our-apis/documentation/docs/examples/bulk-download/download-file-example3): Example request for the download URL of a bulk report GEOM file. - [Get data as json sort by structure start date DESC](https://globalfishingwatch.org/our-apis/documentation/docs/examples/bulk-download/get-json-example1): Example query of a completed bulk report as JSON, sorted by structure start date descending, with limit and offset. - [Get data as json sort by detection date ASC](https://globalfishingwatch.org/our-apis/documentation/docs/examples/bulk-download/get-json-example2): Example query of a completed bulk report as JSON, sorted by detection date ascending. - [Get data as json sort by label](https://globalfishingwatch.org/our-apis/documentation/docs/examples/bulk-download/get-json-example3): Example query of a completed bulk report as JSON, sorted by label. - [Get data as json sort by label confidence](https://globalfishingwatch.org/our-apis/documentation/docs/examples/bulk-download/get-json-example4): Example query of a completed bulk report as JSON, sorted by label confidence. - [Get data as json sort by structure start date DESC and only structure id field](https://globalfishingwatch.org/our-apis/documentation/docs/examples/bulk-download/get-json-example5): Example query of a bulk report as JSON, sorted by structure start date descending, returning only the structure id field. - [Get data as json sort by structure end date ASC and only 3 fields](https://globalfishingwatch.org/our-apis/documentation/docs/examples/bulk-download/get-json-example6): Example query of a bulk report as JSON, sorted by structure end date ascending, returning only three fields. - API Workflows - [API Workflows](https://globalfishingwatch.org/our-apis/documentation/docs/api-workflows): End-to-end workflows combining the 4Wings, Vessels and Events APIs for fishing activity analysis, vessel identification and compliance review. - [Analyzing Apparent Fishing Activity in a Region and Retrieving Vessel Details](https://globalfishingwatch.org/our-apis/documentation/docs/api-workflows/analyzing-fishing-effort-in-a-region): Query apparent fishing activity for a region with the 4Wings Report API, then resolve the vessels behind it with the Vessels API. - [Analyzing Apparent Fishing Activity for Trawlers in an EEZ](https://globalfishingwatch.org/our-apis/documentation/docs/api-workflows/monitoring-trawlers-in-an-eez): Identify trawlers fishing in an EEZ, retrieve their identity, then check their port visits and encounters. - [Analyzing a Fleet (a Group of Vessels)](https://globalfishingwatch.org/our-apis/documentation/docs/api-workflows/analyzing-a-fleet): Combine the 4Wings, Vessels and Events APIs to analyze a fleet of vessels across fishing activity, identity and event history. - SDKs - [SDKs](https://globalfishingwatch.org/our-apis/documentation/docs/sdks): Official Global Fishing Watch API v3 client libraries for Python and R, and guidance on which one to use. - [Python — gfw-api-python-client](https://globalfishingwatch.org/our-apis/documentation/docs/sdks/python-client): gfw-api-python-client gives Python users direct access to API v3, built for Jupyter notebooks and data scripts alongside pandas and geopandas. - [R — gfwr](https://globalfishingwatch.org/our-apis/documentation/docs/sdks/gfwr): The gfwr R package accesses API v3 from R and returns results as tibbles for analysis with the tidyverse. - [License and Rate Limits](https://globalfishingwatch.org/our-apis/documentation/docs/license-rate-limits): Terms of use, the CC BY-NC 4.0 noncommercial license, attribution requirements, and daily and monthly API request limits. - **Separator** - [API Versioning](https://globalfishingwatch.org/our-apis/documentation/docs/api-versioning): How Global Fishing Watch versions its API, how long each major version is supported, and how version changes are communicated. - API Release Notes - [API Release Notes](https://globalfishingwatch.org/our-apis/documentation/docs/release-notes): Dated log of Global Fishing Watch API releases: new endpoints, dataset versions, deprecations and behavior changes. - [Pipeline version 5 Release (Oct 2026)](https://globalfishingwatch.org/our-apis/documentation/docs/release-notes/pipeline-v5): API changes in the 21 October 2026 Data Pipeline version 5 release: new v5.0 API datasets, Vessel API field changes, 4Wings API updates and more. - [API v2](https://globalfishingwatch.org/our-apis/documentation/docs/v2): API version 2 is deprecated and no longer operational. All users must transition to API version 3.