Website Carbon
Estimate a web page's CO2 footprint from its byte weight
Website Carbon models the greenhouse-gas emissions of loading a web page. The keyless /data endpoint takes a transfer size and a green-hosting flag and returns grams of CO2, an A–F rating and a 'cleaner than' percentile. The URL-scanning /site endpoint now requires an API token.
GET https://api.websitecarbon.com/data?bytes=1000000&green=0
{
"bytes": 1000000,
"green": false,
"gco2e": 0.1042066141963005,
"rating": "B",
"cleanerThan": 0.8
}curl "https://api.websitecarbon.com/data?bytes=1000000&green=0"const res = await fetch("https://api.websitecarbon.com/data?bytes=1000000&green=0");
const data = await res.json();
console.log(data);import requests
res = requests.get("https://api.websitecarbon.com/data?bytes=1000000&green=0")
print(res.json())BROWSER CALLS BLOCKED (NO CORS/HTTPS) — USE THE CURL SNIPPET
/data?bytes=1000000&green=0PROBEDEstimate a web page's CO2 footprint from its byte weight
/data?limit=5Data — documented GET route.
/data?page=1Data — documented GET route.
/data?bytes=12345678&green=1Data — documented GET route.
We probe a documented GET and expect 2xx JSON — full uptime and health score. Export includes every documented route below.
Stable. No schema drift observed since monitoring began — the response shape has not changed under our checks.
Website Carbon: common questions
Is Website Carbon free to use?
Yes — Website Carbon is a free weather API. Free tier: Free keyless byte-based /data endpoint. Whether the free tier allows commercial use is unclear — check the provider docs.
Does Website Carbon need an API key?
No — Website Carbon needs no API key or signup. You can call it straight away; rate limits still apply (Unpublished).
Can I call Website Carbon from the browser?
Not directly — Website Carbon doesn't send browser-friendly CORS headers, so call it from a server or proxy instead. Copy the curl or Python snippet on this page to get started.
Is Website Carbon up right now?
As of our last scheduled check, Website Carbon is unmonitored. We re-probe it every sweep — the status badge and uptime chart above always show the latest.