UK Carbon Intensity Scraper
parseforge/carbon-intensity-uk-scraper
BusinessAutomationOther
Scrapes UK carbon intensity records from the Carbon Intensity API. Returns current, historical, regional, postcode, generation mix, emission factors, and statistics as flat rows.
- Total users
- 2
- Monthly active
- 1
- Total runs
- 122
- Bookmarked
- 0
- Rating
- Not rated yet
- Last modified
- 12 days ago
Overview
UK Carbon Intensity Scraper
Scrape UK carbon intensity data from the Carbon Intensity API, from current half-hour to 14-day history, by region or postcode. Every record includes gCO2/kWh, generation mix, and emission factors. No API key. Export to CSV, JSON, Excel, or XML.
The Carbon Intensity API provides real-time and historical carbon intensity for the UK grid, but querying it manually means handling date ranges, regional codes, and postcode lookups yourself. This Actor reads the public feed directly and returns each record in one flat schema, ready for analysis or reporting.
| Who uses it | What they scrape UK Carbon Intensity for |
|---|---|
| Energy analysts | Track grid carbon intensity over time to inform sustainability reports |
| Sustainability consultants | Pull regional intensity data for client carbon footprint calculations |
| Researchers | Collect historical intensity and generation mix for academic studies |
| App developers | Feed live carbon intensity into consumer apps or dashboards |
What it does
This Actor collects UK carbon intensity records by mode, including current, past 24 hours, custom date range, regional breakdown, postcode lookup, generation mix, emission factors, and statistics, and returns each one as a flat row.
- โก Current half-hour: national carbon intensity right now, updated every 30 minutes.
- ๐ Past 24 hours: national intensity in 30-minute steps for the last day.
- ๐ Custom date range: any window up to 14 days, national level.
- ๐บ๏ธ Regional breakdown: all 14 GB DNO regions or a single region, current half-hour.
- ๐ฎ Postcode lookup: regional intensity for any UK outcode like SW1A or M1.
- ๐ Generation mix: per-fuel breakdown for the current half-hour, national.
- ๐ฑ Emission factors: gCO2/kWh per fuel type for lifecycle analysis.
- ๐ Intensity statistics: min, max, and average over a chosen period.
Results export to CSV, JSON, Excel, or XML, or straight from the API.
What you can do with UK Carbon Intensity data
๐ Track grid decarbonisation.
An energy analyst runs the Actor daily with mode 'current' to monitor national carbon intensity and spot trends over weeks.
๐ Compare regional footprints.
A sustainability consultant uses mode 'regional' with regionFilter 'all' to compare gCO2/kWh across all 14 GB DNO regions for a client report.
๐ Audit a specific location.
A researcher enters a postcode outcode like 'EH1' in mode 'postcode' to get the current regional intensity for a field study.
๐งช Analyse fuel mix shifts.
An academic sets mode 'generation-mix' to collect the per-fuel breakdown and study how renewable penetration changes intensity.
๐ Build historical baselines.
A data scientist uses mode 'date-range' with a 14-day window to gather historical intensity for training a forecasting model.
Why choose this scraper
| What you get | |
|---|---|
| No API key | Reads the public Carbon Intensity API directly, no registration or token needed |
| Flat schema | Every record returns as one row with consistent fields for easy export |
| Regional detail | Get intensity for any of the 14 GB DNO regions or a postcode outcode |
| Generation mix | Optional per-fuel breakdown on regional and postcode records |
| Flexible modes | One Actor covers current, historical, regional, and statistical queries |
How it compares
This Actor offers more modes and filters than the other UK Carbon Intensity scrapers, including regional, postcode, generation mix, emission factors, and statistics, while they focus on basic intensity or genmix records.
| Feature | ParseForge | UK Carbon Intensity Scraper | Carbon Intensity Genmix Scraper | Carbon Intensity UK Scraper |
|---|---|---|---|---|
| Current half-hour intensity | Yes | Yes | Not listed | Yes |
| Historical date range | Yes | Yes | Not listed | Yes |
| Regional breakdown (14 DNO regions) | Yes | Not listed | Not listed | Not listed |
| Postcode lookup | Yes | Not listed | Not listed | Not listed |
| Generation mix | Yes | Not listed | Yes | Not listed |
| Emission factors | Yes | Not listed | Not listed | Not listed |
| Intensity statistics | Yes | Not listed | Not listed | Not listed |
Configure the run
Drive the Actor from a single mode selector, with optional date range, region filter, postcode, and generation mix toggle. Filters run as each record is read so only matches reach your dataset. The Input tab lists every parameter.
A first run with the defaults:
{
"maxItems": 10
}
A larger pull:
{
"maxItems": 200
}
Pricing
Pay-per-result: $0.04 per result collected. You pay only for the results written to your dataset.
| Results collected | Approximate cost |
|---|---|
| 100 results | $4.00 |
| 1,000 results | $40.00 |
| 10,000 results | $400.00 |
New Apify accounts start with $5 in free credit.
Free users
Free-plan runs return up to 10 results as a preview. Upgrade your Apify plan to collect up to 1,000,000 results per run.
Run it
- Create a free Apify account with $5 in credit.
- Open the UK Carbon Intensity Scraper.
- Set your inputs and any filters, then click Start.
- Export the results as CSV, Excel, JSON, or XML from the Dataset tab.
Run it programmatically through the Apify API (run-sync-get-dataset-items) or the ApifyClient for JavaScript and Python.
Use with AI agents (MCP)
Give an AI agent live access to UK Carbon Intensity through the Model Context Protocol. Add the Actor to Claude, Cursor, or any MCP client:
claude mcp add --transport http apify "https://mcp.apify.com?tools=parseforge/carbon-intensity-uk-scraper"
Then prompt it in plain language to run the scraper and read back the results.
Troubleshooting
Why am I getting no results?
Check that you have provided the required inputs for your chosen mode. For 'date-range' or 'stats', both startDate and endDate are required. For 'postcode', a valid outcode is required.
Why does my date range fail?
The maximum window is 14 days. Ensure endDate is within 14 days of startDate and both are in YYYY-MM-DD format.
Why is my postcode lookup returning an error?
Use only the outcode, the first part of the postcode, such as 'SW1A' or 'EH1'. Full postcodes are not accepted.
Why is generation mix missing from my regional records?
Generation mix is only available when the API provides it for that region and time. Set includeGenerationMix to true and try a current half-hour query.
Why did I hit the maxItems limit?
Increase maxItems up to 1,000,000 if you need more records. For historical data, split the date range into multiple runs.
FAQ
| Question | Answer |
|---|---|
| Do I need an API key for the Carbon Intensity API? | No. This Actor reads the public Carbon Intensity API directly, so no registration or token is required. |
| What is the maximum date range I can fetch? | The maximum window is 14 days per run. For longer periods, run the Actor multiple times with consecutive date ranges. |
| Can I get data for a specific UK region? | Yes. Use mode 'regional' and set regionFilter to one of the 14 GB DNO regions, or use mode 'postcode' with an outcode like 'SW1A'. |
| What is a postcode outcode? | The outcode is the first part of a UK postcode, for example 'M1' in 'M1 1AE'. The Actor only needs the outcode, not the full postcode. |
| Does the Actor include generation mix data? | Yes. Set includeGenerationMix to true to add a per-fuel generation mix array on regional and postcode records when available. |
| What export formats are supported? | You can export the dataset to CSV, JSON, Excel, or XML from the Apify platform. |
| How often is the current intensity updated? | The Carbon Intensity API updates every 30 minutes, so each run with mode 'current' returns the latest half-hour value. |
| Can I get emission factors per fuel type? | Yes. Use mode 'factors' to retrieve gCO2/kWh for each fuel type, useful for lifecycle analysis. |
| What are intensity statistics? | Mode 'stats' returns the minimum, maximum, and average carbon intensity over a specified date range, up to 14 days. |
| Is there a limit on the number of records? | You can set maxItems up to 1,000,000 records per run. The default is 10. |
Related actors
Browse the full ParseForge collection for more scrapers.
๐ Need help? Email parseforge@protonmail.com with your run ID, your input, and what you expected.
โ ๏ธ Disclaimer. This Actor is unofficial and is not affiliated with, endorsed by, or sponsored by National Energy System Operator (NESO). It collects only publicly available data. You are responsible for using the collected data in compliance with the source's terms of service and applicable data-protection laws, including GDPR, CCPA, and PIPL. Do not use it to collect personal data unlawfully.
Input
| Field | Type | What it does | Default |
|---|---|---|---|
| mode | string (8 options) | What slice of the carbon intensity feed to fetch. | current |
| startDate | string | Start of the window in YYYY-MM-DD format. | not set |
| endDate | string | End of the window in YYYY-MM-DD format. Maximum 14 days from startDate. | not set |
| regionFilter | string (18 options) | Select a single region or fetch all 14. | all |
| postcode | string | UK outcode such as 'SW1A', 'M1', 'EH1', 'CF10'. The full postcode is not needed. | not set |
| includeGenerationMix | boolean | Include the per-fuel generation mix array on regional / postcode records when available. | true |
| maxItems | integer | How many carbon intensity records to collect per run. | 10 |
Pricing
from $30.00 per 1,000 results
| Charged for | What it is | Price each |
|---|---|---|
| result | Single result in the default dataset. | $0.03 to $0.04 |
Tiered: the lower figure is the price on a higher Apify plan. Billing and the free credit live on Apify.
API
One POST returns the dataset directly. Same shape for every scraper in the library, so swapping the slug is the only change.
curl -X POST "https://api.apify.com/v2/acts/parseforge~carbon-intensity-uk-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"helloWorld": 123
}' Examples
Input that runs as-is.
{
"helloWorld": 123
} Reviews
No reviews yet. Be the first.
Issues
We build and maintain this scraper, so a problem with it comes to us. Report it on the Apify listing and the thread stays attached to the scraper where the next person can find it: open an issue.
Broken and urgent, or you would rather not post in public? Write to parseforge@protonmail.com and it reaches the people who wrote it.
