Projects
Retrieve all projects
Returns an array of all projects with filtering and sorting capabilities.
GET
/
projects
List all projects
curl --request GET \
--url https://app.gomangrove.com/api/v1/projects \
--header 'Authorization: <api-key>'import requests
url = "https://app.gomangrove.com/api/v1/projects"
headers = {"Authorization": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: '<api-key>'}};
fetch('https://app.gomangrove.com/api/v1/projects', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://app.gomangrove.com/api/v1/projects",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://app.gomangrove.com/api/v1/projects"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://app.gomangrove.com/api/v1/projects")
.header("Authorization", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.gomangrove.com/api/v1/projects")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"data": [
{
"id": 123,
"name": "Southeast Capture Project",
"description": "SCP is a biochar carbon removal project based in the Southeast. It applies innovative interventions at bioenergy plants to sequester carbon durably in the form of carbon-dense biochar.",
"project_type": "Biochar",
"credit_types": [
"CORC"
],
"country": "US",
"state": "Washington",
"project_status": "ACTIVE",
"registry_name": "Puro.Earth",
"registry_link": "",
"methodology": "Puro Biochar Methodology v3 2023",
"images": [
{
"name": "Image.png",
"url": "http://...."
}
],
"sustainable_development_goals": [
"good_health_and_wellbeing",
"quality_education"
],
"custom_field_values": {
"external_id": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
"equipment_inventory": "https://docs.google.com/spreadsheets/d/1tCn1",
"next_planned_reporting_date": "2026-01-21T00:00:00.000Z"
}
}
],
"info": {
"items": 1,
"page_size": 10,
"total_items": 1,
"current_page": 1,
"next_page": null,
"previous_page": null,
"total_pages": 1,
"sort": [],
"filter": []
}
}Authorizations
Query Parameters
Comma-separated list of fields to sort by. Prefix with - for descending. Available fields: id, name, description
Example:
"name,-id"
Filter by exact project ID
Filter by name (case-insensitive partial match)
Controls response format. default returns paginated data. summary returns count and 10 samples. summary_with_export returns summary and triggers an async export.
Available options:
default, summary, summary_with_export File format for async export (only with response_mode=summary_with_export). Default: csv.
Available options:
csv, json Response
200
⌘I
List all projects
curl --request GET \
--url https://app.gomangrove.com/api/v1/projects \
--header 'Authorization: <api-key>'import requests
url = "https://app.gomangrove.com/api/v1/projects"
headers = {"Authorization": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: '<api-key>'}};
fetch('https://app.gomangrove.com/api/v1/projects', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://app.gomangrove.com/api/v1/projects",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://app.gomangrove.com/api/v1/projects"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://app.gomangrove.com/api/v1/projects")
.header("Authorization", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.gomangrove.com/api/v1/projects")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"data": [
{
"id": 123,
"name": "Southeast Capture Project",
"description": "SCP is a biochar carbon removal project based in the Southeast. It applies innovative interventions at bioenergy plants to sequester carbon durably in the form of carbon-dense biochar.",
"project_type": "Biochar",
"credit_types": [
"CORC"
],
"country": "US",
"state": "Washington",
"project_status": "ACTIVE",
"registry_name": "Puro.Earth",
"registry_link": "",
"methodology": "Puro Biochar Methodology v3 2023",
"images": [
{
"name": "Image.png",
"url": "http://...."
}
],
"sustainable_development_goals": [
"good_health_and_wellbeing",
"quality_education"
],
"custom_field_values": {
"external_id": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
"equipment_inventory": "https://docs.google.com/spreadsheets/d/1tCn1",
"next_planned_reporting_date": "2026-01-21T00:00:00.000Z"
}
}
],
"info": {
"items": 1,
"page_size": 10,
"total_items": 1,
"current_page": 1,
"next_page": null,
"previous_page": null,
"total_pages": 1,
"sort": [],
"filter": []
}
}