🔌 Certico API

Digital Product Passport API for ESPR Compliance

Base URL: https://certico.io/api
Authentication: Most endpoints require a Bearer token. Include Authorization: Bearer YOUR_TOKEN in headers. Public endpoints are marked with 🌐.

GET🌐 Public Get Public Passport

/passports/:id/public
Retrieve a published passport's public data. No authentication required. Automatically tracks views.

Parameters

idUUIDPassport ID
{ "id": "1e5fd278-ed93-480a-845c-1d3de5a8d48b", "product_name": "Organic Cotton T-Shirt", "brand": "EcoWear", "category": "Apparel", "carbon_kg": 2.4, "water_litres": 340, "ecobalyse_score": "A+", "certifications": ["GOTS", "Fair Trade"], "view_count": 1247, ... }

GET🔐 Auth List Passports

/passports
List all passports for your organization.

Query Parameters

statusstringFilter by status: draft, published
limitnumberResults per page (default: 50)
offsetnumberPagination offset

POST🔐 Auth Create Passport

/passports
Create a new Digital Product Passport.

Body Parameters

product_namestringProduct name (required)
brandstringBrand name
categorystringProduct category
skustringSKU identifier
gtinstringGTIN/EAN barcode
materialsarrayMaterials composition [{name, percentage, recycled}]
carbon_kgnumberCarbon footprint in kg CO₂e
water_litresnumberWater usage in litres
certificationsarrayList of certification names

GET🔐 Auth Passport Analytics

/passports/:id/analytics
Get scan analytics for a passport (views, devices, referrers).
{ "total_scans": 1247, "unique_visitors": 892, "by_device": { "mobile": 756, "desktop": 412, "tablet": 79 }, "by_day": [{ "date": "2026-02-07", "scans": 45 }, ...], "top_referrers": [{ "referrer": "instagram.com", "count": 234 }, ...] }

POST🔐 Auth Calculate Eco Score

/ecobalyse/calculate
Calculate environmental impact using Ecobalyse API.

Body Parameters

materialsarrayMaterials with percentages
mass_kgnumberProduct mass in kg
country_originstringManufacturing country code

GET🌐 Public QR Code

/passports/:id/qr
Get QR code image for a passport.

Query Parameters

sizenumberImage size in pixels (default: 200)
formatstringImage format: png, svg (default: png)

GET🌐 Public Embeddable Badge

/embed/badge.html?id=:passportId
Embed a Certico verification badge on your website. Shows product name, eco score, and links to full passport.

Usage

Add this iframe to your product pages:
<iframe src="https://certico.io/embed/badge.html?id=YOUR_PASSPORT_ID" width="320" height="180" frameborder="0" style="border-radius:12px" ></iframe>
Or use our widget.js for automatic embedding:
<div data-certico-badge="YOUR_PASSPORT_ID"></div> <script src="https://certico.io/embed/widget.js"></script>
View live example →