Skip to content

Get Fan Club Discount

Returns the current discount applied for the current hour as a decimal between 0 and 1.0.

Being a part of the Fan Club is a way for an Octopus Energy customer to recieve discounted electrcity during times of high wind power generation. These docs are exclusive to the ERCOT region.

Authentication not required

getFanClubDiscount does not require authentication.

Returns

There are three possible discounts depending on wind activity on the grid seen below. Within the ERCOT market, we base the discount on the total proportion of wind power on the grid.

Wind Power % Return Value Discount Applied
0% - 30% 0.0 0%
30% - 45% 0.2 20%
45%+ 0.5 50%

Example

1
2
3
4
5
query getFanClubDiscount{
    getFanClubDiscount{
        discountAmount
    }
}
import pprint

import requests

# API_URL = "https://api.oeus-kraken.energy/v1/graphql/" # Prod
API_URL = "https://api.oeus-kraken.systems/v1/graphql/" # Test
HEADERS = {}

QUERY = """
    query getFanClubDiscount{
        getFanClubDiscount{
            discountAmount
        }
    }
"""
VARIABLES = {}

session = requests.Session()
session.headers.update(HEADERS)
response = session.post(
    url=API_URL,
    json={"query": QUERY, "variables": VARIABLES}
)
pprint.pprint(response.json())
const axios = require("axios")

// const API_URL = "https://api.oeus-kraken.energy/v1/graphql/" // Prod
const apiUrl = "https://api.oeus-kraken.systems/v1/graphql/" // Test
let headers = {'content-type': 'application/json'}

const query = `
    query getFanClubDiscount{
        getFanClubDiscount{
            discountAmount
        }
    }
`
const variables = {}

axios({
  url: apiUrl,
  method: "post",
  data: {
    query: query,
    variables: variables,
  },
  headers: headers,
}).then((response) => {
  console.log(JSON.stringify(response.data, null, 4));
});
import axios from 'axios';

// const API_URL = "https://api.oeus-kraken.energy/v1/graphql/" // Prod
export const apiUrl = "https://api.oeus-kraken.systems/v1/graphql/" // Test
let headers = {'content-type': 'application/json'}

export const query = `
    query getFanClubDiscount{
        getFanClubDiscount{
            discountAmount
        }
    }
`
export const variables = {}

axios({
  url: apiUrl,
  method: "post",
  data: {
    query: query,
    variables: variables,
  },
  headers: headers,
}).then((response) => {
  console.log(JSON.stringify(response.data, null, 4));
});
{
    "data": {
        "getFanClubDiscount": {
        "discountAmount": "0.0"
        }
    }
}
Back to top