Calculate emissions with the API, receive and accept offers for offsetting

Learn how to create API keys, select appropriate emission factors and use the API to calculate emissions, receive offers for offsets and confirm them.

Preparation

First of all, familiarize yourself with how we Calculate emissions.

Create an API key

Open the developer menu in the dashboard and navigate to API Keys. Now click on Add new API keys. To calculate emissions, your API keys require write permissions.

Important: Save the secret key and never pass it on to third parties!

Find suitable factors

Now find the right emission factors for you from our database. You can submit up to 100 calculation options per request to our API.

Make an API Request

Now use the endpoint /orders/pending/calculate to calculate the emissions and receive offers for offsetting. Then use /orders/{order_id}/process to confirm an offer.

Good to know: You can also use our PHP Library or Node.js Library to interact with the API.

Options

Currency

Use the header parameter X-CURRENCY to select the currency in which the result of the API and the checkout link should be returned. There are over 100 currencies to choose from.

Language

Use the X-LOCALE header parameter to select the language in which the result of the API and the checkout link should be returned.

Calculation Options

Now transfer the calculation_options you have defined to the API. You can calculate up to 100 calculation_options at the same time.

Certificate recipient

Use the recipient_name parameter to pass a name for the certificate. This can be either a person or a company. With the parameter recipient_email you can pass an e-mail address to which we will send the certificate for compensation. With the parameter send_at you can delay the sending of the certificate by up to 3 days.

Order Count

Adjust the order_count parameter to get up to 3 checkout links with one API call.

Fractional Digits

By default, we always round up the calculated emissions to the nearest kilogram. If you want a more precise calculation, you can simply use fractional_digits to define the maximum number of decimal places returned.

Example

In the first example, we calculate the emissions of a trip from Berlin to Munich and receive 2 offers for offsetting. In the second example, we accept the first of the two offers to offset the calculated emissions.

Calculate emissions & request offers

POST/v2/orders/pending/calculate

1
2
3
4
5
6
7
8
9
10
11
12
13
{
    "calculation_options": [
        {
            "type": "travel-land",
            "activity": "cars_by_market_segment",
            "specification": "average",
            "detail": "average",
            "value": 2000,
            "unit": "kilometers"
        }
    ],
    "order_count": 2
}

Response

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
{
    "pending_orders": [
        {
            "order_id": "CA-0000-00000000",
            "status": "pending",
            "price": 10,
            "currency": "EUR",
            "kgCO2e": 448,
            "metadata": {},
            "project": {
                "id": "00000000-0000-0000-0000-000000000000",
                "title": "Example Project",
                "summary": "Example Summary",
                "status": "Active",
                "category_id": 3,
                "certification_authority_id": 2,
                "country": "Example Country",
                "description": null,
                "goals": null,
                "images": [
                    "https://cdn.klimapi.com/projects/00000000-0000-0000-0000-000000000000_1.jpeg",
                    "https://cdn.klimapi.com/projects/00000000-0000-0000-0000-000000000000_2.jpeg"
                ],
                "benefits": [
                    7,
                    8,
                    13
                ]
            }
        },
        {
            "order_id": "CA-0000-00000001",
            "status": "pending",
            "price": 10,
            "currency": "EUR",
            "kgCO2e": 448,
            "metadata": {},
            "project": {
                "id": "00000000-0000-0000-0000-000000000000",
                "title": "Example Project",
                "summary": "Example Summary",
                "status": "Active",
                "category_id": 3,
                "certification_authority_id": 2,
                "country": "Example Country",
                "description": null,
                "goals": null,
                "images": [
                    "https://cdn.klimapi.com/projects/00000000-0000-0000-0000-000000000000_1.jpeg",
                    "https://cdn.klimapi.com/projects/00000000-0000-0000-0000-000000000000_2.jpeg"
                ],
                "benefits": [
                    7,
                    8,
                    13
                ]
            }
        }
    ],
    "results": [
        {
            "type": "travel-land",
            "activity": "cars_by_market_segment",
            "specification": "average",
            "detail": "average",
            "value": 2000,
            "unit": "kilometers",
            "kgCO2e": 447.26
        }
    ]
}

Accept offer

POST/v2/orders/CA-0000-00000000/process

1
2
3
4
{
    "recipient_name": "Test Customer",
    "recipient_email": "test-order@klimapi.com"
}

Response

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
{
    "order_id": "CA-0000-00000000",
    "status": "processed",
    "certificate_issued_at": "2024-06-06T20:22:32.407Z",
    "certificate_url": "https://certificates.klimahelden.eu/CA-0000-00000000",
    "certificate_pdf": "https://certificates.klimahelden.eu/certificate/download?locale=en&order_id=CA-0000-00000000",
    "price": 10,
    "currency": "USD",
    "kgCO2e": 500,
    "metadata": {},
    "project": {
        "id": "00000000-0000-0000-0000-000000000000",
        "title": "Example Project",
        "summary": "Example Summary",
        "status": "Active",
        "category_id": 3,
        "certification_authority_id": 2,
        "country": "Example Country",
        "description": null,
        "goals": null,
        "images": [
            "https://cdn.klimapi.com/projects/00000000-0000-0000-0000-000000000000_1.jpeg",
            "https://cdn.klimapi.com/projects/00000000-0000-0000-0000-000000000000_2.jpeg"
        ],
        "benefits": [
            7,
            8,
            13
        ]
    },
    "recipient": {
        "name": "Test Customer",
        "email": "test-order@klimapi.com"
    }
}

No credit card required - Create an account now

Create an account and start calculating and offsetting the CO2 emissions directly via our API. Do you still have questions or need a customized offer? Use the chat or make an appointment directly with our sales team.