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-sdk
Also available: yarn add zerocarbon-nodejs-sdk

Quick 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
};
ZeroCarbon | India's Carbon Accounting & BRSR Reporting Software