A dated report for Excel or Google Sheets
Bring EU carbon prices into your daily report
Export the latest EU carbon reading in EUR per tonne of CO2, with its record time. Start with a CSV preview, then connect your account to repeat the export from Python.
Preview your report
Latest available aggregated carbon reading. The record timestamp is not an official settlement date.
| Series | Price | Assessment time (UTC) | Record time (UTC) |
|---|---|---|---|
| EU_CARBON_EUR | EUR 84.18 / tCO2 | Not supplied | 2026-09-05T00:26:42.864Z |
1. Run the report with your API account
Download the Python 3.9+ script. It uses the standard library, checks the response fields, and replaces the output file only after the complete report passes validation. Set OILPRICEAPI_KEY in your local environment, then run:
python3 market_report.py carbon --output eu-carbon.csvAlready have an account? Get your API key in the dashboard. Keep it in your environment, outside shared spreadsheets and source control. Review dataset access and request limits before scheduling the report.
This script makes one authenticated latest-price request for EU_CARBON_EUR per run. A 401 response needs a valid key; 402 or 403 requires checking account access and email confirmation; 429 requires waiting for quota recovery. Failed requests preserve your previous report.
2. Import the CSV and keep its dates
In Excel, use Data → From Text/CSV. In Google Sheets, use File → Import → Upload. Keep the date columns beside the prices so the next reader can see which observation the report contains. Rerun the script and refresh or reimport the file for the next report.
The carbon CSV contains the EUR/tCO2 value, API as-of time when supplied, record time, export time, and time basis. The API as-of time may fall back to record time. Neither field establishes an official market settlement date; record_time_only makes that limitation explicit.
Use the right carbon series for the report
EU_CARBON_EUR is an aggregated market reading collected on a daily schedule. It is not an official exchange settlement, an auction clearing price, or a certificate of compliance cost. Weekend or holiday records can repeat a prior session. If your report requires a named contract's settlement, confirm that exact instrument and delivery month separately.
The script rejects missing, non-positive, stale or future-dated observations. Its four-day maximum age accommodates a weekend but does not guarantee a fresh trading session. Check the dates against your reporting schedule before use.
This workflow exports the latest snapshot. For a historical model, verify history coverage, date ranges and account access for the requested series. It does not promise a complete archive.