Octopus Energy Consumption API

Half-hourly smart-meter consumption readings.

Operations 2

GET /electricity-meter-points/{mpan}/meters/{serial_number}/consumption/ List Electricity Consumption #
GET /gas-meter-points/{mprn}/meters/{serial_number}/consumption/ List Gas Consumption #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/octopus-energy-consumption-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

octopus-energy-consumption-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Octopus Energy Public Consumption API
  version: '1.0'
  description: 'The Octopus Energy Public API is a free JSON-over-HTTPS REST API exposing the

    UK product catalog, electricity and gas tariffs, electricity and gas meter

    points, half-hourly smart-meter consumption, and industry grid supply points.


    Authentication uses HTTP Basic auth with a per-customer API key as the

    username and an empty password. Products and tariffs endpoints are open and

    do not require authentication; meter-point and consumption endpoints require

    a key for the account that owns the meter.

    '
  contact:
    name: Octopus Energy Developer Support
    url: https://developer.octopus.energy/docs/api/
  license:
    name: Octopus Energy API Terms
    url: https://octopus.energy/policies/
servers:
- url: https://api.octopus.energy/v1
  description: Public production API
security:
- basicAuth: []
- {}
tags:
- name: Consumption
  description: Half-hourly smart-meter consumption readings.
paths:
  /electricity-meter-points/{mpan}/meters/{serial_number}/consumption/:
    get:
      tags:
      - Consumption
      summary: List Electricity Consumption
      description: List half-hourly smart-meter electricity consumption readings for the given meter.
      operationId: listElectricityConsumption
      security:
      - basicAuth: []
      parameters:
      - $ref: '#/components/parameters/MPAN'
      - $ref: '#/components/parameters/SerialNumber'
      - $ref: '#/components/parameters/PeriodFrom'
      - $ref: '#/components/parameters/PeriodTo'
      - name: order_by
        in: query
        schema:
          type: string
          enum:
          - period
          - -period
      - name: group_by
        in: query
        schema:
          type: string
          enum:
          - hour
          - day
          - week
          - month
          - quarter
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      responses:
        '200':
          description: A paginated list of consumption readings.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedConsumptionList'
  /gas-meter-points/{mprn}/meters/{serial_number}/consumption/:
    get:
      tags:
      - Consumption
      summary: List Gas Consumption
      operationId: listGasConsumption
      security:
      - basicAuth: []
      parameters:
      - $ref: '#/components/parameters/MPRN'
      - $ref: '#/components/parameters/SerialNumber'
      - $ref: '#/components/parameters/PeriodFrom'
      - $ref: '#/components/parameters/PeriodTo'
      - name: group_by
        in: query
        schema:
          type: string
          enum:
          - hour
          - day
          - week
          - month
          - quarter
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      responses:
        '200':
          description: A paginated list of gas consumption readings.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedConsumptionList'
components:
  parameters:
    SerialNumber:
      name: serial_number
      in: path
      required: true
      schema:
        type: string
    Page:
      name: page
      in: query
      schema:
        type: integer
        minimum: 1
    PeriodTo:
      name: period_to
      in: query
      schema:
        type: string
        format: date-time
      description: ISO 8601 exclusive end of the period.
    MPRN:
      name: mprn
      in: path
      required: true
      schema:
        type: string
      description: Meter Point Reference Number for gas.
    PageSize:
      name: page_size
      in: query
      schema:
        type: integer
        minimum: 1
        maximum: 1500
    MPAN:
      name: mpan
      in: path
      required: true
      schema:
        type: string
      description: Meter Point Administration Number for electricity (13 digits).
    PeriodFrom:
      name: period_from
      in: query
      schema:
        type: string
        format: date-time
      description: ISO 8601 inclusive start of the period.
  schemas:
    Paginated:
      type: object
      properties:
        count:
          type: integer
        next:
          type:
          - string
          - 'null'
        previous:
          type:
          - string
          - 'null'
    PaginatedConsumptionList:
      allOf:
      - $ref: '#/components/schemas/Paginated'
      - type: object
        properties:
          results:
            type: array
            items:
              $ref: '#/components/schemas/ConsumptionReading'
    ConsumptionReading:
      type: object
      properties:
        consumption:
          type: number
          description: kWh consumed in the interval.
        interval_start:
          type: string
          format: date-time
        interval_end:
          type: string
          format: date-time
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic
      description: HTTP Basic authentication with the customer API key as the username and an empty password.