Partner API
Use the Partner API to pull carbon footprint emissions data for your products into your own systems — including total emissions, a link to the full results page, and a shareable PDF report.
The Zilch API is only included on Starter and above plans. It will return
null on the free plan.Authentication
All requests require your secret API key passed as a header:
http
x-api-key: YOUR_API_KEYYou can find your API key in Settings → Profile inside your Zilch account. If you haven't generated one yet, click Generate API Key on that page.
Keep your API key secret. If it's ever exposed, you can rotate it from the same page — this immediately invalidates the old key.
Base URL
https://www.api.tryzilch.comEndpoints
1. All products
Returns emissions data for every assessed product in your account.
http
GET /api/partner/emissions-totalsRate limit: 2 requests per 24 hours.
Query parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
page | integer | No | Page number (default: 1) |
items_per_page | integer | No | Results per page, max 500 (default: 100) |
skus | string | No | Comma-separated list of SKUs to filter by |
Example — all products
bash
curl -H "x-api-key: YOUR_API_KEY" \
"https://www.api.tryzilch.com/api/partner/emissions-totals"Example — filter to specific SKUs
bash
curl -H "x-api-key: YOUR_API_KEY" \
"https://www.api.tryzilch.com/api/partner/emissions-totals?skus=ABC-001,ABC-002"Example response
json
{
"success": true,
"page": 1,
"items_per_page": 100,
"total_items": 3,
"data": [
{
"product_id": "3a8f63ea-0a71-4c3e-b4c6-9a3269a6b299",
"product_name": "Recycled Tote Bag",
"sku": "RTB-001",
"supplier_id": "4f6931f7-c31a-44fa-8df0-55cdc418a218",
"total_kg_co2e": 2.41,
"emissions_breakdown": {
"total": 2.41,
"materials": 1.12,
"packaging": 0.34,
"decoration": 0.21,
"transport": 0.48,
"manufacturing": 0.26
},
"last_calculated_at": "2026-02-15T09:34:00.000Z",
"results_url": "https://app.tryzilch.com/results/3a8f63ea...?supplier_id=4f6931f7...",
"pdf_url": "https://www.api.tryzilch.com/api/pdf/4f6931f7.../3a8f63ea..."
}
]
}2. Single product by SKU
Returns emissions data for one specific product, looked up by SKU.
http
GET /api/partner/emissions-by-skuRate limit: 1,000 requests per SKU per 24 hours.
Query parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
sku | string | Yes | The product SKU |
Example
bash
curl -H "x-api-key: YOUR_API_KEY" \
"https://www.api.tryzilch.com/api/partner/emissions-by-sku?sku=RTB-001"Example response
json
{
"success": true,
"data": {
"sku": "RTB-001",
"product_name": "Recycled Tote Bag",
"total_kg_co2e": 2.41,
"emissions_breakdown": {
"total": 2.41,
"materials": 1.12,
"packaging": 0.34,
"decoration": 0.21,
"transport": 0.48,
"manufacturing": 0.26
},
"last_calculated_at": "2026-02-15T09:34:00.000Z",
"results_url": "https://app.tryzilch.com/results/3a8f63ea...?supplier_id=4f6931f7...",
"pdf_url": "https://www.api.tryzilch.com/api/pdf/4f6931f7.../3a8f63ea..."
}
}Response fields
| Field | Description |
|---|---|
total_kg_co2e | Total carbon footprint in kg CO₂e |
emissions_breakdown | Emissions split across materials, packaging, decoration, transport, and manufacturing |
last_calculated_at | When the assessment was last run |
results_url | Link to the full interactive results page — safe to share publicly |
pdf_url | Link to the PDF report — stable, permanent URL safe to share or embed |
Error responses
| Status | Meaning |
|---|---|
| 401 | Invalid or missing API key |
| 400 | Missing required parameter (e.g. sku) |
| 404 | No assessed product found for that SKU |
| 429 | Rate limit exceeded — wait and retry |
| 500 | Server error |
Rate limits summary
| Endpoint | Limit |
|---|---|
/api/partner/emissions-totals | 2 requests / 24h |
/api/partner/emissions-by-sku | 1,000 requests per SKU / 24h |