Planting Trees

Plant Trees

POST https://app.thegoodapi.com/plant/trees

Yes, planting trees is really this easy!

Headers

Name
Type
Description

Authorization*

string

<API Key>

Request Body

Name
Type
Description
Required

count

integer

The number of trees you'd like to plant

yes

attribution

string

Use this to tag an order with a non-unique look up key. This can be used later to filter orders down all trees with the attribution key

no

metadata

JSON

Use this to tag an order with various k/v pairs.

no

idempotency_key

string

Use this for idempotency

no

{
  "total_planted_trees": 45,
  "tree_details": [
    {
      "id": "i2SeocFjwNayo7PI7DpI", 
      "count": 1,
      "fractional_count": 0,
      "created_at": "2025-07-01T22:07:31.374582-04:00",
      "idempotency_key": "",
      "metadata": {
        "key1": "val1",
        "key2": 786
      },
      "attribution": "[email protected]"
    }
  ],
  "total_planted_trees_month": 0
}

Please make sure to get an API Key from signing up first. To receive your beta_token, email [email protected] and we'll get you sorted

Get Total Trees Planted

GET https://app.thegoodapi.com/plant/trees

Headers

Name
Type
Description

Authorization*

String

<API Key>

Query Params (All optional)

Name
Type
Description

attribution_key

String

Fetch by attribution key

id

String

Fetch by Tree ID

created_at

String

All trees registered after created date (fmt: xxxx-xx-xx)

end_at

string

All trees registered before an end date (fmt: xxxx-xx-xx)

metadata

json

JSON to filter by metadata. Applies in "AND" operations. For example: {"key1": "val1", "key2":"val2"} will return all records that have the key1:val1 AND key2:val2 k/v pairs as part of their metadata

Tree Planting Verification Stats

GET https://app.thegoodapi.com/evidence

Returns aggregated planting evidence data including photos, videos, and impact metrics from verified tree planting projects.

Currently this provides data for GoodAPI as an overall org. Very soon we'll be adding individual Tree Record data as well.

Authentication

Header
Required
Description

Authorization

Yes

Bearer token with your API key: Bearer <API_KEY>

Response

Example Request

Notes

  • Response is cached for 30 days for performance

  • Evidence items are grouped by geographic region based on coordinates

  • All media URLs are served via Veritree's CDN

Last updated

Was this helpful?