# UK Energy Price Cap Scraper: Ofgem Rates by Region + Forecast (`seaf999ield/uk-ofgem-price-cap`) Actor

UK energy price cap from Ofgem: official unit rates and standing charges for every GB region and payment method, plus optional Cornwall Insight forecasts, by RawTrader | UK Industry & Bills: https://ukindustryandbills.substack.com · X: x.com/ImRawTrader

- **URL**: https://apify.com/seaf999ield/uk-ofgem-price-cap.md
- **Developed by:** [RustonRoad](https://apify.com/seaf999ield) (community)
- **Categories:** Business, News, Automation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $30.00 / 1,000 price checks

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## UK Energy Price Cap Scraper: Ofgem Rates by Region + Forecast

**Get the official Ofgem energy price cap unit rates and standing charges for every GB region and payment method, plus Cornwall Insight forecasts, in one run.**

### Who it's for

- Energy-bill comparison sites, newsletters and journalists
- Landlords, letting agents and businesses budgeting energy costs
- Analysts tracking cap changes quarter by quarter

### Sample output

| capPeriod | region | paymentMethodLabel | electricityUnitRatePencePerKwh | gasUnitRatePencePerKwh |
|---|---|---|---|---|
| October 2026 – December 2026 | GB average | Direct Debit | 26.32 | 7.97 |
| October 2026 – December 2026 | East Midlands | Direct Debit | 25.36 | 7.82 |
| October 2026 – December 2026 | Eastern England | Direct Debit | 26.61 | 7.91 |

*Real rows from a test run (shortened; the full output has more fields).*

### Price per 1,000 results

This actor charges **$0.03 per `price-check`** (one price check returns every region and payment method). Example: 1,000 checks = **$30.00**; a weekly check for a year = 52 checks = **$1.56**. Plus $5e-05 per run start. See the Pricing tab for the current prices.

### Input example

```json
{
  "includeGbAverage": true,
  "includeForecasts": true
}
```

### What does UK Ofgem Energy Price Cap do?

Pull a clean, sourced snapshot of the **UK energy price cap** — official **Ofgem** unit rates and standing charges for **every GB region** and **payment method** (Direct Debit, standard credit, prepayment), with optional **Cornwall Insight** forward forecasts for the next cap period. Built for **energy-bills newsletters**, bill-trackers and anyone who needs “what’s the cap this quarter?” without wrestling Annex 9 spreadsheets.

Data comes from Ofgem’s published **Final levelised cap rates model (Annex 9)** XLSX (Open Government Licence), not from MoneySavingExpert HTML.

### Why use this Actor?

Ofgem only changes the cap about **four times a year**, but bills content still needs a **repeatable check**: schedule weekly, compare to last run, and ship the newsletter when something moves — or when Cornwall Insight’s forecast shifts.

- **Full matrix** — 14 charge-restriction regions × 3 payment methods × electricity + gas
- **Headline-ready** — GB average dual-fuel £/year, unit rates (p/kWh) and standing charges (p/day)
- **Forward look** — optional Cornwall Insight public predictions for the next quarter
- **Sourced** — every row carries `sourceUrl` and `scrapedAt`
- **Pay per check** — priced for monitoring runs, not for flooding you with per-region micro-charges

Ideal for **@ImRawTrader**-style energy-bills roundups, household budget tools, and regional bill comparisons.

### What data can you extract?

| Field | Description |
|---|---|
| `capPeriod` / start / end | Current official Ofgem charge restriction period |
| `region` + `paymentMethod` | Where you live × how you pay |
| `electricityUnitRatePencePerKwh` | Single-rate elec unit rate (p/kWh) |
| `electricityStandingChargePencePerDay` | Elec standing charge (p/day) |
| `gasUnitRatePencePerKwh` | Gas unit rate (p/kWh, 5% VAT) |
| `gasStandingChargePencePerDay` | Gas standing charge (p/day) |
| `dualFuelAnnualBenchmarkGbp` | Typical dual-fuel annual £ (Ofgem TDCV) |
| Forecast rows | Cornwall Insight next-period £ and p/kWh (optional) |

You can download the dataset as **JSON, CSV, Excel or HTML**.

### How to get the Ofgem price cap data

1. Open this Actor on Apify Store (or run it locally with `apify run`).
2. Leave filters empty for the **full matrix**, or narrow by region / payment method.
3. Keep **Include Cornwall Insight forecasts** on if you want the forward-looking row for newsletter “what’s next” copy.
4. Run. Schedule it weekly for bills monitoring — you pay for a **price check**, not for every region cell.

**Example: full official matrix + forecast (newsletter default)**

```json
{
  "includeGbAverage": true,
  "includeForecasts": true
}
```

**Example: London Direct Debit only**

```json
{
  "regions": ["London"],
  "paymentMethods": ["directDebit"],
  "includeForecasts": false
}
```

### How much will it cost?

**Pay per event (PPE).** Primary event:

| Event | Suggested price | When charged |
|---|---|---|
| `price-check` | **$0.03** per successful run | Once, after a full successful snapshot (cap matrix ± forecast) is written |

Configure the event price in **Actor → Monetization** (Console). Remove or zero the synthetic `apify-default-dataset-item` event so you are not double-charged per region row — this Actor is designed around **checks**, because the official cap barely moves between quarters.

A weekly schedule for a bills newsletter is typically well under **$2/month** at $0.03/check.

### Input

See the **Input** tab for the full form. Main toggles: payment methods, region filter, GB average rows, Cornwall Insight forecasts.

### Output

```json
{
  "recordType": "capRate",
  "capPeriod": "October 2026 – December 2026",
  "capPeriodStart": "2026-10-01",
  "capPeriodEnd": "2026-12-31",
  "region": "London",
  "paymentMethod": "directDebit",
  "paymentMethodLabel": "Direct Debit",
  "electricityUnitRatePencePerKwh": 26.6,
  "electricityStandingChargePencePerDay": 42.92,
  "gasUnitRatePencePerKwh": 7.97,
  "gasStandingChargePencePerDay": 28.76,
  "dualFuelAnnualBenchmarkGbp": 1663.55,
  "typicalElecKwh": 2500,
  "typicalGasKwh": 9500,
  "source": "Ofgem Annex 9 Final levelised cap rates model",
  "sourceUrl": "https://www.ofgem.gov.uk/sites/default/files/.../Annex-9-....xlsx",
  "licence": "Open Government Licence v3.0",
  "scrapedAt": "2026-10-23T08:15:00Z"
}
```

`RUN_SUMMARY` in the default key-value store has the period, Annex 9 URL, row counts and charged events.

### Tips for energy-bills content

- Schedule after Ofgem announcement days (usually late February / May / August / November) and again when Cornwall Insight updates their predictions page.
- Use the **GB average Direct Debit** row for the headline “typical dual-fuel bill”, then a regional table for “what you actually pay where you live”.
- Pair with a previous-run dataset diff to power “cap unchanged” vs “cap rising” newsletter variants.

### FAQ

**Where does the official data come from?**\
Ofgem’s [Energy price cap (default tariff) levels](https://www.ofgem.gov.uk/energy-regulation/domestic-and-non-domestic/energy-pricing-rules/energy-price-cap/energy-price-cap-default-tariff-levels) page — specifically the **Final levelised cap rates model (Annex 9)** workbook. Unit rates are derived from nil vs typical-consumption levels using Ofgem TDCVs, with VAT applied to match consumer-facing figures.

**Is Direct Debit the same as “Other Payment Method” in Annex 9?**\
Yes. In the levelised model, Ofgem’s “Other Payment Method” is the Direct Debit path used for consumer tables.

**What about Cornwall Insight copyright?**\
Forecast rows are parsed from their **public predictions page**, with full attribution and a licence note on each record. Cornwall Insight states that commercial redistribution may need consent; media/news use of published figures is commonly how the forecasts appear in the press. Check their page notice before republishing commercially beyond fair reporting.

**Northern Ireland?**\
Not covered — NI has a separate market. This Actor is Great Britain only.

*Contains public sector information published by Ofgem / UK government, licensed under the Open Government Licence v3.0. Not financial advice. Energy bills still depend on your usage.*

### Related UK data actors

- [UK Google Trends Scraper: Interest, Regions & Related Queries](https://apify.com/seaf999ield/uk-google-trends)
- [UK Product Recalls Scraper: OPSS, FSA & MHRA Safety Alerts](https://apify.com/seaf999ield/uk-product-safety-recalls)
- [UK Companies House Scraper: New Companies & Insolvency Alerts](https://apify.com/seaf999ield/uk-companies-house-feed)

### About RawTrader | UK Industry & Bills

RawTrader | UK Industry & Bills is a UK newsletter and open data project tracking energy bills, fuel prices, public tenders, company closures and FCA short positions, using official data from Ofgem, DESNZ, ONS, Companies House, Find a Tender and the FCA.

- [RawTrader Data: every UK data tool in one place](https://imrawtrader.beehiiv.com/p/data)
- [UK Industry & Bills newsletter](https://imrawtrader.beehiiv.com)
- [Follow @ImRawTrader on X](https://x.com/ImRawTrader)

# Actor input Schema

## `paymentMethods` (type: `array`):

Which payment methods to include. Leave empty for all three (Direct Debit, standard credit, prepayment).

## `regions` (type: `array`):

Optional case-insensitive text match on region (e.g. 'London', 'Scotland', 'Midlands'). Empty = all 14 charge-restriction regions.

## `includeGbAverage` (type: `boolean`):

Include the GB average row for each payment method (useful for headline newsletter figures).

## `includeForecasts` (type: `boolean`):

Also fetch Cornwall Insight's public Default Tariff Cap predictions (forward-looking GB Direct Debit averages). Attribution and copyright notice are included on each forecast row.

## Actor input object example

```json
{
  "includeGbAverage": true,
  "includeForecasts": true
}
```

# Actor output Schema

## `capRates` (type: `string`):

Official Ofgem Annex 9 rates by region and payment method.

## `forecasts` (type: `string`):

Cornwall Insight forward predictions (when enabled).

## `runSummary` (type: `string`):

Period, Annex 9 URL, row counts and charged events.

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "includeGbAverage": true,
    "includeForecasts": true
};

// Run the Actor and wait for it to finish
const run = await client.actor("seaf999ield/uk-ofgem-price-cap").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "includeGbAverage": True,
    "includeForecasts": True,
}

# Run the Actor and wait for it to finish
run = client.actor("seaf999ield/uk-ofgem-price-cap").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "includeGbAverage": true,
  "includeForecasts": true
}' |
apify call seaf999ield/uk-ofgem-price-cap --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,seaf999ield/uk-ofgem-price-cap"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/b9r695qpqatmgCfr6/builds/WJC0Yj5Lhc8AyPTaN/openapi.json
