SiteVerdict — UK Grid Carbon Intensity & Best Times avatar

SiteVerdict — UK Grid Carbon Intensity & Best Times

Pricing

Pay per event

Go to Apify Store
SiteVerdict — UK Grid Carbon Intensity & Best Times

SiteVerdict — UK Grid Carbon Intensity & Best Times

48-hour carbon intensity forecasts for any GB postcode or region (NESO Carbon Intensity API), the cleanest windows to run EV charging, batch or ML jobs with CO2 saved, live generation mix and wholesale price indicators from Elexon BMRS, alerts and CSV. Free open data, no key.

Pricing

Pay per event

Rating

0.0

(0)

Developer

Aman Thakran

Aman Thakran

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Security

Limited permissions

Share

Know when Great Britain's electricity is cleanest in your region over the next 48 hours, and schedule EV charging, batch jobs, ML training or heat pumps into those windows. Includes the live generation mix and wholesale price indicators from Elexon.

Free official open data from the NESO Carbon Intensity API (CC BY 4.0) and Elexon BMRS (Insights Solution). No key, no scraping.

What you get

  • 🌍 Location forecasts for national, any GB postcode/outcode or region: the current intensity (gCO2/kWh, index very low to very high, regional fuel mix), the 48-hour min/avg/max, the cleanest half-hour, and every half-hour slot (optional).
  • ⏱️ Best windows per job: for each job (duration, optional must finish within N hours, optional kWh) the top non-overlapping windows with average intensity, % less CO2 than starting now and than the 48 h average, and kg CO2 saved.
  • ⚡ Grid snapshot (one row): national intensity and mix, latest Elexon generation by fuel (MW) with low-carbon / fossil / imports / storage shares on one documented denominator (with fuel coverage; shares are withheld rather than guessed when a domestic fuel type is missing), the last 24 h market index price (latest, avg, min, max, negative periods) and yesterday's system sell price stats.
  • 🔔 Clean-window alerts to Slack/webhook when a job's best window is below your threshold and starts soon.
  • 📄 forecast-slots.csv and an optional AI scheduling brief using your own Anthropic/OpenAI key.

Who it is for

  • Data/ML and DevOps teams running carbon-aware batch jobs and CI pipelines (Green Software Foundation style).
  • EV fleet and home-energy apps picking charging windows by region.
  • Sustainability/ESG teams reporting location-based emissions and load shifting.
  • Energy traders and analysts wanting a quick daily fuel-mix and price readout.
  • AI agents via the MCP tool uk_grid_carbon.

Quick start

  1. Locations: national, PL4 7LG, London, region:16.
  2. Jobs: [{"name":"EV charge","durationHours":4,"deadlineHours":14,"energyKwh":28}].
  3. Run. For alerts, schedule hourly with alertMaxIntensity (e.g. 120 gCO2/kWh).

Try Sample mode first (real API responses recorded on 11 Oct 2026; no network, free).

Example output (sample mode: real responses recorded 11 Oct 2026 16:14 UTC, abridged)

{ "recordType": "location-forecast", "location": "PL4 7LG", "regionName": "South West England",
"current": { "forecast": 279, "index": "very high", "mix": { "gas": 70.9, "wind": 16.1, "solar": 13 } },
"horizon": { "slots": 97, "min": 67, "avg": 283, "max": 360, "cleanestSlot": "2026-10-13T12:30Z", "lowOrVeryLowSlots": 6 },
"jobs": [{ "name": "ML training batch (2 h)", "runNowAvgIntensity": 324,
"bestWindows": [{ "start": "2026-10-13T11:30Z", "end": "2026-10-13T13:30Z", "avgIntensity": 73, "vsRunNowPct": 77.5, "startsInHours": 43.3 }],
"recommendation": "Start at 2026-10-13T11:30Z (in ~43.3 h): 77.5% less CO2 than starting now.", "energyKwh": 50, "kgCo2Saved": 12.55 }] }
{ "recordType": "grid-snapshot",
"carbon": { "forecast": 191, "actual": 190, "index": "high", "mix": { "gas": 38.1, "imports": 20.3, "nuclear": 14.7, "biomass": 11.6, "solar": 9.2, "wind": 6.1 } },
"generation": { "totalMw": 30516, "lowCarbonPct": 30.1, "fossilPct": 36, "importsPct": 26.2, "storageMw": 980, "storagePct": 3.2, "sharesComplete": true,
"coverage": { "fuelsReported": 20, "fuelsExpected": 20, "missingFuels": [], "missingRequiredFuels": [] }, "negativeMw": {}, "note": null },
"marketIndex": { "periods": 48, "latestGbpMwh": 200.74, "avgGbpMwh": 152.2, "minGbpMwh": 112.19, "maxGbpMwh": 200.74, "negativePeriods": 0 },
"systemPrices": { "settlementDate": "2026-10-10", "avgSellGbpMwh": 82.39, "minSellGbpMwh": -13.3, "maxSellGbpMwh": 219.8 } }

On a windless autumn evening the best 4-hour EV window before a 16-hour deadline was simply "run now"; with a longer deadline the Actor points to the cleaner slots (the 48 h minimum here was 67 gCO2/kWh, around midday on 13 Oct).

Pricing (pay per event)

EventPriceWhen
location-forecast$0.01one location with 48 h forecast and best windows for all jobs
grid-snapshot$0.01one national mix + wholesale indicators row
window-alert$0.005one clean-window alert
ai-brief$0.05only when your own AI key returns a brief

Examples: 3 locations + snapshot once a day = $0.04/day ≈ $1.20/month. Hourly alerting for one region ≈ $0.24/day. Errors and sample mode are free.

FAQ

Does it cover Northern Ireland? No. The Carbon Intensity API and BMRS cover the GB grid only.

Are these forecasts reliable? They are NESO's published model forecasts, refreshed every half hour; regional forecasts carry more uncertainty than national ones.

Is the market index price my tariff? No. MID and system prices are wholesale/imbalance indicators (£/MWh), useful for trends and negative-price periods, not retail bills.

Limits

  • 50 locations and 10 jobs per run, jobs up to 24 h, horizon 48 h.
  • Elexon generation outturn is the latest 5-minute outturn point that reports the full set of fuel types (usually 10-20 minutes behind real time). It is not a settled half-hour figure and can be revised.
  • Generation shares (lowCarbonPct, fossilPct, importsPct, storagePct) all use one denominator, totalMw = total GB supply in that 5-minute point: every positive domestic output (including pumped-storage discharge) plus positive interconnector imports. This matches the supply basis of the NESO Carbon Intensity generation mix in the same row, which also counts imports as a share. Exports and pumping are excluded: they show as 0 in byFuelMw and keep their raw negative MW in negativeMw.
  • Low-carbon = nuclear + wind + hydro (NPSHYD, non-pumped) + biomass (+ solar if reported; the Elexon outturn feed does not include embedded solar). Biomass counts as low-carbon/renewable as in DESNZ Energy Trends. Pumped storage is not counted as low-carbon or renewable: it re-releases electricity taken from the grid earlier, so it is shown separately as storageMw / storagePct (null when Elexon did not report PS for that point, usually because it was pumping). Fossil = CCGT + OCGT + coal + oil; imports = all INT* interconnectors; the rest is OTHER. Each % is rounded to 0.1, so the five groups may total 99.9-100.1.
  • coverage lists the fuel types reported vs the 20 the feed can report. Interconnectors and pumped storage are often absent while exporting/pumping; that does not change the shares of supply. If a domestic fuel type (e.g. WIND, CCGT) is missing from every point in the window, sharesComplete is false, the % fields are null and note says which fuel is missing. A grid snapshot with only such incomplete generation (no carbon or market data) is not charged.

Sources & compliance