Verdini API v1 Reference

Environmental Intelligence API

The Verdini API gives institutional buyers, researchers, regulators, and ESG platforms programmatic access to verified project data — NDVI time series, carbon accounting, IoT sensor readings, evidence packages, and carbon credit availability.

All data returned by the API has been independently collected by the Verdini satellite and IoT monitoring network. Every response includes a hash field containing a SHA-256 digest of the payload — allowing third parties to verify data integrity independently.

18
Live projects
14
Countries
REST
JSON · HTTPS · JWT

Authentication

All API requests require a Bearer token in the Authorization header. Request your API key by emailing [email protected] or through your Enterprise dashboard.

# All requests require this header Authorization: Bearer YOUR_API_KEY Content-Type: application/json Accept: application/json
⚠️ API keys are scoped to your subscription tier. Enterprise keys have full access. Investor/Professional keys are read-only and rate-limited. Never expose your API key in client-side code.

Base URL & Versioning

https://api.verdini.world/v1

All endpoints are prefixed with /v1. Breaking changes will be released as /v2 with a minimum 6-month deprecation notice.

Rate Limits

PlanRequests / minRequests / dayGeoTIFF downloads
Investor / Professional601,0005/day
Enterprise30050,000Unlimited
Research (academic)12010,00020/day

Responses include X-RateLimit-Remaining and X-RateLimit-Reset headers.

List Projects

GET /v1/projects ● Live
Returns all projects accessible to your API key. Supports filtering by region, type, carbon standard, and minimum impact score.

Query Parameters

ParameterTypeRequiredDescription
regionstringFilter by region: africa, europe, asia, americas
typestringProject type: biochar, reforestation, wetlands, biogas
standardstringCarbon standard: ebc, puro, vcs, gold_standard
min_scoreintegerMinimum Verdini Impact Score (0–100)
limitintegerResults per page (default: 20, max: 100)

Example Request

curl -H "Authorization: Bearer YOUR_KEY" \ "https://api.verdini.world/v1/projects?region=africa&type=biochar&min_score=70"

Example Response

// 200 OK { "total": 18, "results": [ { "id": "VPJ-2025-001", "name": "Ashanti Biochar — Phase 1", "country": "Ghana", "type": "Biochar / Soil", "status": "active", "impact_score": 82, "co2e_tyr": 2196, "area_ha": 840, "standard": "EBC / Puro.earth", "lat": 6.68, "lng": -1.60, "last_updated": "2025-03-18T09:14:00Z", "hash": "sha256:a1b2c3d4..." } ] }

NDVI Time Series

GET /v1/projects/:id/ndvi ● Live
Returns the NDVI time series for a project AOI. Each data point corresponds to one cloud-masked Sentinel-2 satellite pass. Data is available from project registration date to present.

Query Parameters

ParameterTypeRequiredDescription
fromstringStart date ISO 8601: 2022-01-01
tostringEnd date ISO 8601
formatstringjson (default) or csv

Example

curl -H "Authorization: Bearer YOUR_KEY" \ "https://api.verdini.world/v1/projects/VPJ-2025-001/ndvi?from=2022-01&to=2025-03&format=csv"

Evidence Package

GET /v1/evidence/:project_id ● Live
Returns metadata for all evidence documents in the project vault — lab reports, GPS logs, satellite exports, sensor records. Download URLs are signed and expire after 1 hour.

Example Response

{ "project_id": "VPJ-2025-001", "documents": [ { "type": "lab_report_carbon", "filename": "Ashanti_Lab_Carbon_2024.pdf", "timestamp": "2024-08-15T11:30:00Z", "hash": "sha256:7f3a9c...", "download_url": "https://vault.verdini.world/signed/...", "expires_at": "2025-03-18T10:14:00Z" } ] }

Live Sensor Data

GET /v1/sensors/live ● Live
Returns current readings from all IoT sensor nodes associated with accessible projects. Data streams from LoRaWAN/4G field nodes via the Verdini gateway.

Example Response

{ "project_id": "VPJ-2025-001", "timestamp": "2025-03-18T09:14:22Z", "nodes": [ { "id": "S-01", "type": "soil", "temp_c": 23.4, "moisture_pct": 38, "ph": 6.8 }, { "id": "A-01", "type": "air", "co2_ppm": 412, "temp_c": 28.1 } ] }

Webhook Events

Verdini can push events to your endpoint in real time. Configure webhooks in your Enterprise dashboard.

EventTriggerAvailability
project.ndvi_updatedNew satellite pass processedLive
project.credit_issuedCarbon credits verified and issuedLive
sensor.alertSensor reading exceeds thresholdLive
project.verification_completeThird-party VVB issues statementBeta

Python SDK

pip install verdini-sdk from verdini import Verdini client = Verdini(api_key="YOUR_API_KEY") # List biochar projects in Africa projects = client.projects.list(region="africa", type="biochar") # Get NDVI time series as pandas DataFrame ndvi_df = client.projects.ndvi("VPJ-2025-001", from_date="2022-01") # Download full GeoTIFF archive client.satellite.download_geotiff("VPJ-2025-001", output_dir="./data")

R Package

# Install from CRAN (coming soon) or GitHub devtools::install_github("verdini-world/verdini-r") library(verdini) client <- verdini_connect(api_key = "YOUR_API_KEY") # Fetch NDVI as data.frame ndvi <- get_ndvi(client, project_id = "VPJ-2025-001", from = "2022-01", to = "2025-03") # Plot recovery ggplot(ndvi, aes(x = date, y = ndvi_mean)) + geom_line(color = "#1db954")

JavaScript / Node.js

npm install @verdini/sdk import { Verdini } from '@verdini/sdk'; const client = new Verdini({ apiKey: 'YOUR_API_KEY' }); // List all active projects const { results } = await client.projects.list({ status: 'active' }); // Stream live sensor data client.sensors.subscribe('VPJ-2025-001', (reading) => { console.log(`Soil temp: ${reading.temp_c}°C`); });
🔑 Request API access: Select your plan below and submit a request. Enterprise keys are issued within 1 business day. Research institutions may qualify for free academic access.