| Developer Portal

Data catalogResourcesContactAbout the project

| Developer Portal

  • Data catalog
  • Resources
  • Contact
  • About the project
  • Cookies
  • The OpenEPI project partners
  • Knowit
  • Capto
  • Creative Commons
  • Open Future

2025 - Except where otherwise noted, content on this site is licensed under a Creative Commons Attribution 4.0 International license.

Back to how-to articles

Spatial Database of Planted Trees (SDPT) v2.0 x Global Forest Watch API

Last updated: July 3, 2025
Planted Trees

Table of Contents

  1. Before you get started
  2. Steps
  3. Find the version
  4. Find the relevant fields
  5. Query dataset

Before you get started

If you are new to the Global Forest Watch API, it is a good idea to begin with the foundational guide. It covers essential steps like signing up, getting access token and API key. You can find it here:

Getting started using Global Forest Watch Data API

Getting started using Global Forest Watch Data API

Steps

  • Find the version of the dataset
  • Find the fields to query
  • Make a query

Find the version

To receive data about the Spatial Database on Planted Trees, you can use a GET request to the /dataset/gfw_planted_forests endpoint.

SH
1curl -X GET 'https://data-api.globalforestwatch.org/dataset/gfw_planted_forests'

If successful, this will return a response like this, with metadata and versions:

JSON
1{
2  "data": {
3    "created_on": "2020-12-07T16:17:45.611627",
4    "updated_on": "2025-01-28T15:40:13.573967",
5    "dataset": "gfw_planted_forests",
6    "is_downloadable": true,
7    "metadata": {
8      ...
9    },
10    "versions": [
11      ...
12      "v20231128",
13      "v20239998"
14    ]
15  },
16  "status": "success"
17}

For the next steps you can pick a specific version of the dataset or just use /latest for the latest version.

Find the relevant fields

Before querying the dataset, you will need to know what fields to get from the dataset. To retrieve this, you can use a GET request to dataset/gfw_planted_forests/latest/fields

SH
1curl -L -X GET 'https://data-api.globalforestwatch.org/dataset/gfw_planted_forests/latest/fields'

(See available fields from the query result below)

Query dataset

In addition to the dataset identifier gfw_planted_forests and version, you need to construct an SQL query. Optionally for vector data sets you can also add a geometry to limit the area of interest.

Limit data to area of interest

There are two ways to do this; using Geostore, or using GeoJson in a Post request. Both methods require geojson format. The possible geometry types available in Global Forest Watch is Polygon and MultiPolygon. To easily generate this format, visit https://geojson.io.

Using POST request with a polygon

Example using polygon:

SH
1curl -L -X POST 'https://data-api.globalforestwatch.org/dataset/gfw_planted_forests/latest/query/json' \
2  -H 'x-api-key: <YOUR_API_KEY>' \
3  -H 'Content-Type: application/json' \
4  --data-raw '{
5    "sql":  "SELECT * FROM results LIMIT 1" ,
6    "geometry": { 
7        "type": "Polygon", 
8        "coordinates": [[         
9            [-57.39,-20.27],
10            [-57.39, 23.22],
11            [-54.44,-23.22],
12            [-54.44, 20.27],
13            [-57.39,-20.27] 
14        ]] 
15    }          
16}'

If successful the response will look something like this:

JSON
1{
2    "data": [
3        {
4            "gfw_fid": 7018408,
5            "final_id": "BRA_21",
6            "iso": "BRA",
7            "country": "Brazil",
8            "org_name": "Large industrial plantation, Eucalyptus, transparent world",
9            "org_code": 21,
10            "final_code": 21,
11            "common_name": "Eucalyptus",
12            "species": "Eucalyptus sp.",
13            "species_simp": "Wood fiber / timber",
14            "plant_ag": "Planted forest",
15            "timber_ag": "Timber",
16            "ever_dec": "Evergreen",
17            "conifer_broad": "Broadleaf",
18            "hard_soft": "Hardwood",
19            "size": "Large Industrial",
20            "ownership": "Unknown",
21            "source": "Petersen et al. (2016)",
22            "creation_year": "year: 2013-2014",
23            "method": "Manual polygon delineation/supervised classification",
24            "growth": 20.290746,
25            "sd_error": 7.257563612,
26            "grow_source": "IPCC 2019 Refinement: MAI values in Table 4.11",
27            "shape_length": 0.0110629621166011,
28            "shape_area": 3.73301445210546e-6,
29            "geom": "0106000020E6100000010000000103000000010000001C000000C07100E0DD534BC0807CFF9F7EB505C0D8820020DB534BC00077F3BF39B605C050AE0020D4534BC0000EFE3FC9B605C0B8B9FFBFD3534BC0004409E026B705C04826FF7FEB534BC0008306C058B705C018AC0040FC534BC08072FCFF45B705C0B036FF9F10544BC000470A8039B705C0C0CFFFBF1F544BC000470A8039B705C0686CFFBF2F544BC0805D03C03FB705C0D01EFF3F3C544BC0805D02202DB705C000A000C04D544BC080C8FB1FFBB605C0009FFF5F4F544BC00095FFFF5EB705C0A084FF9F53544BC08071062001B805C0184900C05B544BC0002B0CC045B805C04821FF9F63544BC000D10580EEB705C040D700A06C544BC0003C0080BCB705C02859FF9F5A544BC000DE062091B605C04089FFDF52544BC0001A0380C9B505C070CAFF5F48544BC0009BF1FFBCB505C00809FFBF3F544BC0803BF21F8BB505C0681300A03C544BC08062068046B505C0707DFFFF2C544BC0809BF23F59B505C0C0CFFFBF1F544BC0000908A0B0B505C0C8EF002019544BC00083F61FA4B505C03054FFDF0B544BC0807CFF9F7EB505C0E878008004544BC000F80C4040B505C05856FFBFE3534BC080B8F25F27B505C0C07100E0DD534BC0807CFF9F7EB505C0",
30            "geom_wm": "0106000020110F0000010000000103000000010000001C0000007C0D4F7F973557C1A807AC5CBF7112C140CF6629953557C1E98F31775E7212C169BC74378F3557C1BCC7297AD87212C11F85EBE58E3557C18D2A1815287312C1EBFBA911A33557C103FF217D527312C13D03784BB13557C104DEE08B427312C118166A99C23557C14C431CEB377312C1443EE871CF3557C14C431CEB377312C10BD7A308DD3557C1C3907E3B3D7312C1696666A6E73557C1FD777A652D7312C1ED384583F63557C1129C33E2027312C1BF7493E4F73557C11B4D84CD577312C157499D80FB3557C1119D80A6E17312C19D5E2967023657C14C92CBFF1B7412C11AE25817093657C156847CD0D17312C1780B24BC103657C14FA8354DA77312C12A5C8F72013657C1C8A4BDC1A87212C1247E8CDDFA3557C1BD4A5906FF7112C1E261A1F2F13557C155787A65F47112C1C86F5F9FEA3557C150A370FDC97112C1B39DEFF7E73557C1C5E53FA48F7112C1C098BBB2DA3557C155CF66959F7112C1443EE871CF3557C181E3F2DFE97112C1B5627FD1C93557C13B12143FDF7112C1BF64AA90BE3557C1A807AC5CBF7112C10DBE304DB83557C1E297DD538A7112C1DF1DA77C9C3557C166FA5C2D757112C17C0D4F7F973557C1A807AC5CBF7112C1",
31            "gfw_area__ha": "4.58997773876339",
32            "gfw_geostore_id": "0c6aea80-150d-866a-030f-c892d7f76757",
33            "gfw_geojson": "{\"type\":\"MultiPolygon\",\"coordinates\":[[[[-54.6552085878534,-2.71362042425568],[-54.6551246645446,-2.71397733651872],[-54.6549110415768,-2.71425104135574],[-54.6548995970401,-2.71442961719777],[-54.6556243892524,-2.71452474613068],[-54.6561355593951,-2.7144889830509],[-54.6567573543701,-2.7144651415955],[-54.6572189330177,-2.7144651415955],[-54.657707214087,-2.71447706232328],[-54.6580886836724,-2.71444153792589],[-54.6586227419903,-2.71434617030269],[-54.6586723325872,-2.71453666685795],[-54.6588020322463,-2.71484589595474],[-54.6590499879259,-2.71497678792127],[-54.6592903133156,-2.71481037156821],[-54.6595649723154,-2.71471500397411],[-54.6590156552141,-2.7141439916702],[-54.6587791440711,-2.71376323708978],[-54.6584587096194,-2.71373939472267],[-54.6581954951562,-2.71364426572785],[-54.6581001282091,-2.71351337451443],[-54.6576232907781,-2.7135491367257],[-54.6572189330177,-2.71371579193612],[-54.6570167545866,-2.71369194956822],[-54.6566123959277,-2.71362042425568],[-54.6563873293215,-2.7135014537771],[-54.6553878781094,-2.71345400771594],[-54.6552085878534,-2.71362042425568]]]]}",
34            "gfw_bbox": [
35                "-54.6595649723154",
36                "-2.71497678792127",
37                "-54.6548995970401",
38                "-2.71345400771594"
39            ],
40            "created_on": "2021-03-19T20:08:45.266597",
41            "updated_on": "2021-03-19T20:08:45.266597"
42        }
43    ],
44    "status": "success"
45}

You can read more about Geostore and constructing SQL queries from in the Global Forest Watch tutorial.

Getting started using Global Forest Watch Data API

Getting started using Global Forest Watch Data API


Last updated: July 3, 2025

Relevant How-To's

DIST Alerts (all-ecosystem vegetation disturbance alerts) x  Global Forest Watch API

DIST Alerts (all-ecosystem vegetation disturbance alerts) x Global Forest Watch API

Tropical Tree Cover  x  Global Forest Watch API

Tropical Tree Cover x Global Forest Watch API

Natural Forest Map  x  Global Forest Watch API

Natural Forest Map x Global Forest Watch API

Latest How-To's

Getting started using Global Forest Watch Data API

Getting started using Global Forest Watch Data API

Getting started using Map Components

Getting started using Map Components

Natural Forest Map  x  Global Forest Watch API

Natural Forest Map x Global Forest Watch API

Relevant Resources

forestGlobal Forest Watch Data API
API
forestSpatial Database of Planted Trees (SDPT) v2.0
Dataset