OFFICIAL SDK
Node.js SDK
TypeScript-first SDK for integrating ZeroCarbon API into Node.js applications. Full type safety and modern async/await support.
npm install zerocarbon-nodejs-sdkAlso available:
yarn add zerocarbon-nodejs-sdkQuick Start
Initialize Client
index.ts
import { ZeroCarbon } from 'zerocarbon-nodejs-sdk';
const client = new ZeroCarbon({
apiKey: process.env.ZEROCARBON_API_KEY
});Submit Activity
submit-activity.ts
const result = await client.activities.create({
activity_type: "electricity",
scope: "2",
quantity: 1500,
unit: "kWh",
period: {
start: "2026-02-01",
end: "2026-02-28"
},
location: {
country: "IN",
state: "Maharashtra"
}
});
console.log(`Emissions: ${result.emissions_kg_co2e} kg CO2e`);Retrieve Emissions
get-emissions.ts
const emissions = await client.emissions.get({
start_date: "2026-02-01",
end_date: "2026-02-28",
scope: "2",
group_by: "month"
});
console.log(`Total: ${emissions.total_kg_co2e} kg CO2e`);API Methods
client.activities.create(data)
Submit a single carbon emission activity
Returns: Activity with calculated emissions
client.emissions.get(params)
Retrieve aggregated emissions data
Params: start_date, end_date, scope, group_by
Returns: Aggregated emissions with breakdowns
client.reports.generate(config)
Generate compliance reports in PDF, CSV, or Excel
Returns: Report URL or download link
TypeScript Support
The SDK includes full TypeScript definitions for type-safe development. All request and response types are exported.
import type {
ActivitySubmission,
EmissionsResponse,
ReportConfig
} from 'zerocarbon-nodejs-sdk';
const activity: ActivitySubmission = {
activity_type: "electricity",
scope: "2",
quantity: 1500,
unit: "kWh",
// Full autocomplete and type checking
};