Octopus Energy Products API

Octopus Energy product catalog and tariff lookups.

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-products-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 email required.

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

OpenAPI Specification

octopus-energy-products-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Octopus Energy Public Consumption Products 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: Products
  description: Octopus Energy product catalog and tariff lookups.
paths:
  /products/:
    get:
      tags:
      - Products
      summary: List Products
      description: List Octopus Energy products. Filter by availability, business type, variant, and brand.
      operationId: listProducts
      parameters:
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - name: is_variable
        in: query
        schema:
          type: boolean
      - name: is_green
        in: query
        schema:
          type: boolean
      - name: is_tracker
        in: query
        schema:
          type: boolean
      - name: is_prepay
        in: query
        schema:
          type: boolean
      - name: is_business
        in: query
        schema:
          type: boolean
      - name: available_at
        in: query
        description: ISO 8601 timestamp filtering products available at that moment.
        schema:
          type: string
          format: date-time
      - name: brand
        in: query
        schema:
          type: string
      responses:
        '200':
          description: A paginated list of products.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedProductList'
  /products/{product_code}/:
    get:
      tags:
      - Products
      summary: Retrieve a Product
      description: Retrieve a single product including its electricity and gas tariffs by region.
      operationId: getProduct
      parameters:
      - $ref: '#/components/parameters/ProductCode'
      - name: tariffs_active_at
        in: query
        schema:
          type: string
          format: date-time
      responses:
        '200':
          description: The requested product.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProductDetail'
components:
  parameters:
    ProductCode:
      name: product_code
      in: path
      required: true
      schema:
        type: string
      description: Product code, for example AGILE-24-10-01 or VAR-22-11-01.
    Page:
      name: page
      in: query
      schema:
        type: integer
        minimum: 1
    PageSize:
      name: page_size
      in: query
      schema:
        type: integer
        minimum: 1
        maximum: 1500
  schemas:
    TariffByPayment:
      type: object
      additionalProperties:
        $ref: '#/components/schemas/Tariff'
    Link:
      type: object
      properties:
        href:
          type: string
        method:
          type: string
        rel:
          type: string
    Paginated:
      type: object
      properties:
        count:
          type: integer
        next:
          type: string
          nullable: true
        previous:
          type: string
          nullable: true
    PaginatedProductList:
      allOf:
      - $ref: '#/components/schemas/Paginated'
      - type: object
        properties:
          results:
            type: array
            items:
              $ref: '#/components/schemas/Product'
    Tariff:
      type: object
      properties:
        code:
          type: string
        standing_charge_exc_vat:
          type: number
        standing_charge_inc_vat:
          type: number
        online_discount_exc_vat:
          type: number
        online_discount_inc_vat:
          type: number
        dual_fuel_discount_exc_vat:
          type: number
        dual_fuel_discount_inc_vat:
          type: number
        exit_fees_exc_vat:
          type: number
        exit_fees_inc_vat:
          type: number
        standard_unit_rate_exc_vat:
          type: number
        standard_unit_rate_inc_vat:
          type: number
        day_unit_rate_exc_vat:
          type: number
        day_unit_rate_inc_vat:
          type: number
        night_unit_rate_exc_vat:
          type: number
        night_unit_rate_inc_vat:
          type: number
        links:
          type: array
          items:
            $ref: '#/components/schemas/Link'
    ProductDetail:
      allOf:
      - $ref: '#/components/schemas/Product'
      - type: object
        properties:
          tariffs_active_at:
            type: string
            format: date-time
          single_register_electricity_tariffs:
            type: object
            additionalProperties:
              $ref: '#/components/schemas/TariffByPayment'
          dual_register_electricity_tariffs:
            type: object
            additionalProperties:
              $ref: '#/components/schemas/TariffByPayment'
          single_register_gas_tariffs:
            type: object
            additionalProperties:
              $ref: '#/components/schemas/TariffByPayment'
          sample_quotes:
            type: object
          sample_consumption:
            type: object
    Product:
      type: object
      properties:
        code:
          type: string
        direction:
          type: string
          enum:
          - IMPORT
          - EXPORT
        full_name:
          type: string
        display_name:
          type: string
        description:
          type: string
        is_variable:
          type: boolean
        is_green:
          type: boolean
        is_tracker:
          type: boolean
        is_prepay:
          type: boolean
        is_business:
          type: boolean
        is_restricted:
          type: boolean
        term:
          type: integer
          nullable: true
        available_from:
          type: string
          format: date-time
        available_to:
          type: string
          format: date-time
          nullable: true
        brand:
          type: string
        links:
          type: array
          items:
            $ref: '#/components/schemas/Link'
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic
      description: HTTP Basic authentication with the customer API key as the username and an empty password.