Frequently Asked Questions

General

What is emissions.dev?

emissions.dev is a REST API that calculates CO₂e (carbon dioxide equivalent) emissions for freight, travel, hotel stays, electricity consumption, fuel combustion, and AI/LLM inference. You send us your activity data (e.g. a shipment from London to Paris weighing 1,000 kg), and we return the carbon footprint with a full audit trail of the emission factors used.

Who is emissions.dev for?

We built the API for developers who need to integrate carbon calculations into their own products. Typical use cases include logistics platforms adding emissions to shipment tracking, e-commerce sites showing delivery carbon footprints, travel booking platforms displaying trip emissions, corporate sustainability teams automating GHG reporting, and SaaS products that need Scope 3 data for their customers.

How is emissions.dev different from Climatiq or other carbon APIs?

We focus on being developer-first with transparent, published pricing — no sales calls required for standard plans. Every API response includes a full source_trail so you can trace exactly which emission factor was used, from which source, in which year. We don't create proprietary emission factors; everything comes from published government and institutional sources like DEFRA, GLEC Framework, Ember, and EPA eGRID.

Do I need a credit card to get started?

No. The Free plan gives you 500 API requests per month with access to all endpoints. No credit card required. Just sign up, create an API key, and start making requests.

Is there an SLA?

The Scale plan includes a 99.9% uptime SLA. Enterprise plans include a 99.99% SLA with dedicated infrastructure. Free, Launch, Starter, and Growth plans do not include a formal SLA, though we target the same uptime for all customers.

Pricing & Plans

What plans are available?

Plan Price Requests/month Rate limit
Free $0/mo 500 2 req/s
Launch $39/mo 5,000 5 req/s
Starter $79/mo 10,000 10 req/s
Growth $199/mo 50,000 15 req/s
Scale $499/mo 200,000 25 req/s
Enterprise Custom Unlimited Custom

All paid plans include usage analytics. Growth and Scale plans include batch processing. See the pricing page for full details.

Which plan should I choose?

It depends on your request volume. A rough guide: if you're building a prototype or internal tool, the Free plan is plenty. A small e-commerce site doing a few hundred orders a day would suit Launch or Starter. A logistics platform processing thousands of shipments daily would need Growth or Scale. If you're unsure, start on Free — you can upgrade at any time without losing data.

What happens if I exceed my monthly limit?

We don't cut you off immediately if you're on a paid plan as there's a grace buffer up to 150% of your plan limit. For example on the Scale plan, between 100% and 150%, your requests still go through but you'll receive warning headers (X-Usage-Warning: over-limit-grace). Beyond 150%, requests are blocked until the 1st of next month. We also send email alerts at 75%, 90%, and 100% usage so you're never caught off guard.

Can I upgrade or downgrade at any time?

Yes. Upgrades take effect immediately — you get the higher limits straight away and are charged the prorated difference. Downgrades take effect at the end of your current billing period.

Do you offer annual billing?

Yes. You can save between 15% and 20% off your monthly price by switching to a Yearly plan. You can do this any time in the Billing area of your dashboard. Contact us at [email protected] for help.

How many API keys can I create?

It depends on your plan: Free gets 1 key, Launch gets 2, Starter gets 3, Growth gets 5, and Scale gets 10. Enterprise plans have custom limits. If you need more keys, upgrade your plan or revoke unused ones (revoked keys don't count towards your limit).

API & Technical

What APIs are available?

We offer six APIs: Freight (road, rail, sea, air cargo), Travel (flights, car, bus, rail, ferry, taxi), Hotel (accommodation in 60+ countries), Electricity (grid-based consumption for 110+ countries), Fuel Combustion (natural gas, diesel, petrol, biofuels, coal, and more), and LLM/Digital (AI inference emissions for 80+ models — currently in beta).

How do I authenticate?

Include your API key in the Authorization header as a Bearer token:

curl https://api.emissions.dev/v1/freight/emissions \
  -H "Authorization: Bearer em_live_xxxxxxxxxxxx"

You can also pass it as a query parameter (?api_key=em_live_xxxx) for quick testing, but we recommend header authentication in production as query parameters may appear in server logs and URLs.

Are API responses cached? Will I get the same result twice?

Emission calculations are deterministic — the same inputs with the same emission factor version will always produce the same output. We recommend caching results on your side to reduce API calls, especially for repeated routes or calculations. Cache keys based on the full parameter set; a 24-hour TTL is sensible since emission factors only change when sources publish annual updates.

Do you have SDKs?

We have an official JavaScript/TypeScript SDK available via npm (@emissions-dev-api/sdk). PHP and Python SDKs are under development. In the meantime, you can call the API directly using any HTTP client — it's a simple REST API with JSON responses.

What does the source_trail contain?

Every response includes a source_trail array documenting exactly which emission factors were used. Each entry includes the data category, factor name, publishing organisation (e.g. GLEC, DEFRA, Ember), the specific dataset and version, the publication year, and the geographic region. This exists so auditors can verify your calculations and trace them back to the original published source.

How do you calculate road distances?

For road freight, we use OSRM (Open Source Routing Machine) with real road network data — actual driving routes, not straight-line distances. This gives significantly more accurate results, especially for routes that involve coastlines, mountain passes, or island connections. Sea routes use maritime shipping lane distances including standard routing via Suez, Panama, or Cape of Good Hope. Air distances use great circle calculations.

Can I override the calculated distance?

Yes. Pass planned_distance_km to any freight or travel calculation to use your own known distance instead of our routing. This is useful when you have GPS data or a TMS-provided distance. The API will use your distance for the emissions calculation but still return the route it would have calculated for comparison.

What is the equivalents parameter?

Pass equivalents=true to any endpoint and the response will include real-world comparisons — things like "equivalent to X smartphone charges" or "equivalent to driving Y km in an average car." This is useful for consumer-facing applications where raw kg CO₂e numbers aren't meaningful to end users.

Methodology & Compliance

What standards do you follow?

All calculations follow the GHG Protocol Corporate Standard and Scope 3 Standard. Freight calculations also comply with the GLEC Framework v3.1, ISO 14083, and EN 16258. We use IPCC Sixth Assessment Report (AR6) GWP100 values for all CO₂e conversions — the most current IPCC assessment required by major reporting frameworks.

Where do your emission factors come from?

We use only published, peer-reviewed data from government agencies and international standards bodies. Our primary sources are DEFRA 2025 (UK Government), GLEC Framework v3.1 (Smart Freight Centre), Ember Global Electricity Review 2025, EPA eGRID 2023 (US Environmental Protection Agency), and the Cornell Hotel Sustainability Benchmarking Index. We do not create proprietary factors or use unpublished models.

Can I use emissions.dev data for CSRD / SECR / GHG Protocol reporting?

Yes. Our responses include GHG Protocol scope categorisation (ghg_protocol_scopes) mapped to the correct scope and category for each activity type. The source_trail provides the transparency and traceability that auditors and regulators require. We recommend storing the full API response (or at minimum the source_trail) alongside your reported figures for audit purposes.

What is the difference between Scope 1, 2, and 3?

Scope 1 covers direct emissions from sources you own or control (e.g. fuel burned in your own fleet). Scope 2 covers indirect emissions from purchased electricity. Scope 3 covers all other indirect emissions in your value chain — business travel, purchased freight, upstream fuel production, and so on. Our API automatically maps each calculation to the correct scope and category, so you don't need to do this yourself.

Do you support both location-based and market-based Scope 2 reporting?

Yes. The Electricity API calculates location-based emissions automatically using regional grid intensity data. For market-based reporting, pass your supplier's emission factor via the market_based_factor parameter. If no supplier factor is provided, the market-based field returns null with a note explaining why — we don't guess at market-based values.

How often are emission factors updated?

We update factors as soon as sources publish new editions. DEFRA typically updates annually in June; we integrate new DEFRA factors within one week of publication. Ember updates annually in early Q1. EPA eGRID has a roughly annual cycle with a 2-year data lag. The source_trail in every response shows exactly which factor year was used.

What does "Well-to-Wheel" mean?

By default, all calculations include the full lifecycle: Well-to-Tank (WTT) covers upstream emissions from extracting, refining, and transporting fuel, and Tank-to-Wheel (TTW) covers emissions from actually burning the fuel. Total emissions = WTT + TTW. You can disable WTT with include_wtt=false if you only need direct combustion emissions.

Carbon Offsetting

Do you offer carbon offsetting?

We've built a carbon offset feature that lets you offset emissions calculated via the API. Offsets are verified through CarbonCert™ and sourced from UNFCCC, Verra, and Gold Standard registries. This feature is in beta and not available to all accounts yet.

What do offsets cost?

Offset pricing is currently at $11 per tonne of CO₂e for manual offsets and $10 per tonne for auto-offsets (a recurring monthly offset based on your calculated emissions). Pricing is transparent and published — no hidden margins or tiered markups.

Security & Privacy

How is my data handled?

API request data is used only to calculate emissions and is not shared with third parties. We store request logs for your dashboard analytics (usage tracking, emissions breakdowns) but do not sell or distribute your data. You can delete your account and all associated data at any time from your profile page.

How should I keep my API key secure?

Never expose your API key in client-side code (browser JavaScript, mobile apps). Always call the emissions.dev API from your backend server. Store your key in environment variables, not in source code. If you suspect a key has been compromised, revoke it immediately from your dashboard and create a new one — revocation is instant.

Do you support SSO or 2FA?

Not currently for self-serve plans. Enterprise plans can include SSO/SAML integration. We plan to add TOTP-based 2FA to all accounts in the future.

Account & Billing

How do I delete my account?

Go to your Profile page and scroll to the Danger Zone section. Account deletion is permanent — it cancels any active subscriptions, revokes all API keys immediately, and removes all data. This action cannot be undone.

What payment methods do you accept?

We use Stripe for billing. All major credit and debit cards are accepted. Enterprise customers can arrange invoiced billing.

Can I get a refund?

If you've recently upgraded and it's not the right fit, contact [email protected] within 7 days. We'll work something out.

Enterprise

What does the Enterprise plan include?

Enterprise plans are tailored to your needs but typically include unlimited API requests, custom rate limits, 99.99% uptime SLA, dedicated support with a named contact, invoiced billing, custom contracts, and data processing agreements for compliance requirements.

How do I get Enterprise pricing?

Contact us at [email protected] or click "Talk to us" on the pricing page. Tell us about your use case and expected volume, and we'll put together a proposal.

Getting Help

How do I contact support?

Email [email protected]. Free plan users receive community support (documentation and guides). Launch and Starter plans include email support. Growth and Scale plans receive priority support with faster response times. Enterprise customers get a dedicated support contact.

Where can I report a bug or request a feature?

Email [email protected] with details. We read every message. For API issues, include the full request URL (with your API key redacted), the response you received, and what you expected.

Is there a status page?

If you experience issues, check our API health by making a simple request to any endpoint. For planned maintenance or ongoing incidents, we communicate via email to affected customers. We're working on a public status page.