---
title: "GET /sites/{siteId}/prices"
method: GET
path: "/sites/{siteId}/prices"
---

# GET /sites/{siteId}/prices

`GET /sites/{siteId}/prices`

## Request

- Base URL: `https://api.amber.com.au/v1`
- URL: `https://api.amber.com.au/v1/sites/{siteId}/prices`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/amberelectric/apis/amber-electric-public-api/docs/sites/:siteId/prices/get.ts> (a function with typed inputs; its response is checked against the schema)

Returns all the prices between the start and end dates

## Path parameters

- `siteId` string, required

## Query parameters

- `startDate` string, date
- `endDate` string, date
- `resolution` 5 | 30

## Response `200`

A list of priced intervals<br><br>Return Order: General > Controlled Load > Feed In.<br><br>**NOTE**: If a channel is added or removed the index offset will change. It is best to filter or group the array by channel type.

- union[]
  - union
    - ActualInterval: One time interval
      - `duration` 5 | 15 | 30, required: Length of the interval in minutes.
      - `spotPerKwh` number, required: NEM spot price (c/kWh). This is the price generators get paid to generate electricity, and what drives the variable component of your perKwh price - includes GST
      - `perKwh` number, required: Number of cents you will pay per kilowatt-hour (c/kWh) - includes GST
      - `date` string, date, required: Date the interval belongs to (in NEM time). This may be different to the date component of nemTime, as the last interval of the day ends at 12:00 the following day. Formatted as a ISO 8601 date
      - `nemTime` string, date-time, required: The interval's NEM time. This represents the time at the end of the interval UTC+10. Formatted as a ISO 8601 time
      - `startTime` string, date-time, required: Start time of the interval in UTC. Formatted as a ISO 8601 time
      - `endTime` string, date-time, required: End time of the interval in UTC. Formatted as a ISO 8601 time
      - `renewables` number, required: Percentage of renewables in the grid
      - `channelType` 'general' | 'controlledLoad' | 'feedIn', required: Meter channel type
      - `tariffInformation` TariffInformation: Information about how your tariff affects an interval
        - `period` 'offPeak' | 'shoulder' | 'solarSponge' | 'peak': The Time of Use period that is currently active. Only available if the site in on a time of use tariff
        - `season` 'default' | 'summer' | 'autumn' | 'winter' | 'spring' | 'nonSummer' | 'holiday' | 'weekend' | 'weekendHoliday' | 'weekday': The Time of Use season that is currently active. Only available if the site in on a time of use tariff
        - `block` number: The block that is currently active. Only available in the site in on a block tariff
        - `demandWindow` boolean: Is this interval currently in the demand window? Only available if the site in on a demand tariff
      - `spikeStatus` 'none' | 'potential' | 'spike', required: Indicates whether this interval will potentially spike, or is currently in a spike state
      - `descriptor` 'negative' | 'extremelyLow' | 'veryLow' | 'low' | 'neutral' | 'high' | 'spike', required: Describes the current price. Gives you an indication of how cheap the price is in relation to the average VMO and DMO. Note: Negative is no longer used. It has been replaced with extremelyLow.
      - `type` 'ActualInterval', required
    - CurrentInterval: Returns the current interval's forecasted price comprised of the weighted average of 5-minute actual prices and 5-minute forecast prices. In the last 5-minutes of the interval, the price represents the final price for that interval.
      - `duration` 5 | 15 | 30, required: Length of the interval in minutes.
      - `spotPerKwh` number, required: NEM spot price (c/kWh). This is the price generators get paid to generate electricity, and what drives the variable component of your perKwh price - includes GST
      - `perKwh` number, required: Number of cents you will pay per kilowatt-hour (c/kWh) - includes GST
      - `date` string, date, required: Date the interval belongs to (in NEM time). This may be different to the date component of nemTime, as the last interval of the day ends at 12:00 the following day. Formatted as a ISO 8601 date
      - `nemTime` string, date-time, required: The interval's NEM time. This represents the time at the end of the interval UTC+10. Formatted as a ISO 8601 time
      - `startTime` string, date-time, required: Start time of the interval in UTC. Formatted as a ISO 8601 time
      - `endTime` string, date-time, required: End time of the interval in UTC. Formatted as a ISO 8601 time
      - `renewables` number, required: Percentage of renewables in the grid
      - `channelType` 'general' | 'controlledLoad' | 'feedIn', required: Meter channel type
      - `tariffInformation` TariffInformation: Information about how your tariff affects an interval
        - `period` 'offPeak' | 'shoulder' | 'solarSponge' | 'peak': The Time of Use period that is currently active. Only available if the site in on a time of use tariff
        - `season` 'default' | 'summer' | 'autumn' | 'winter' | 'spring' | 'nonSummer' | 'holiday' | 'weekend' | 'weekendHoliday' | 'weekday': The Time of Use season that is currently active. Only available if the site in on a time of use tariff
        - `block` number: The block that is currently active. Only available in the site in on a block tariff
        - `demandWindow` boolean: Is this interval currently in the demand window? Only available if the site in on a demand tariff
      - `spikeStatus` 'none' | 'potential' | 'spike', required: Indicates whether this interval will potentially spike, or is currently in a spike state
      - `descriptor` 'negative' | 'extremelyLow' | 'veryLow' | 'low' | 'neutral' | 'high' | 'spike', required: Describes the current price. Gives you an indication of how cheap the price is in relation to the average VMO and DMO. Note: Negative is no longer used. It has been replaced with extremelyLow.
      - `type` 'CurrentInterval', required
      - `range` Range: When prices are particularly volatile, the API may return a range of NEM spot prices (c/kWh) that are possible.
        - `min` number, required: Estimated minimum price (c/kWh)
        - `max` number, required: Estimated maximum price (c/kWh)
      - `estimate` boolean, required: Shows true the current price is an estimate. Shows false is the price has been locked in.
    - ForecastInterval: Returns a forecasted price based on AEMO modelling. This is what AEMO thinks the price will be during the interval.
      - `duration` 5 | 15 | 30, required: Length of the interval in minutes.
      - `spotPerKwh` number, required: NEM spot price (c/kWh). This is the price generators get paid to generate electricity, and what drives the variable component of your perKwh price - includes GST
      - `perKwh` number, required: Number of cents you will pay per kilowatt-hour (c/kWh) - includes GST
      - `date` string, date, required: Date the interval belongs to (in NEM time). This may be different to the date component of nemTime, as the last interval of the day ends at 12:00 the following day. Formatted as a ISO 8601 date
      - `nemTime` string, date-time, required: The interval's NEM time. This represents the time at the end of the interval UTC+10. Formatted as a ISO 8601 time
      - `startTime` string, date-time, required: Start time of the interval in UTC. Formatted as a ISO 8601 time
      - `endTime` string, date-time, required: End time of the interval in UTC. Formatted as a ISO 8601 time
      - `renewables` number, required: Percentage of renewables in the grid
      - `channelType` 'general' | 'controlledLoad' | 'feedIn', required: Meter channel type
      - `tariffInformation` TariffInformation: Information about how your tariff affects an interval
        - `period` 'offPeak' | 'shoulder' | 'solarSponge' | 'peak': The Time of Use period that is currently active. Only available if the site in on a time of use tariff
        - `season` 'default' | 'summer' | 'autumn' | 'winter' | 'spring' | 'nonSummer' | 'holiday' | 'weekend' | 'weekendHoliday' | 'weekday': The Time of Use season that is currently active. Only available if the site in on a time of use tariff
        - `block` number: The block that is currently active. Only available in the site in on a block tariff
        - `demandWindow` boolean: Is this interval currently in the demand window? Only available if the site in on a demand tariff
      - `spikeStatus` 'none' | 'potential' | 'spike', required: Indicates whether this interval will potentially spike, or is currently in a spike state
      - `descriptor` 'negative' | 'extremelyLow' | 'veryLow' | 'low' | 'neutral' | 'high' | 'spike', required: Describes the current price. Gives you an indication of how cheap the price is in relation to the average VMO and DMO. Note: Negative is no longer used. It has been replaced with extremelyLow.
      - `type` 'ForecastInterval', required
      - `range` Range: When prices are particularly volatile, the API may return a range of NEM spot prices (c/kWh) that are possible.
        - `min` number, required: Estimated minimum price (c/kWh)
        - `max` number, required: Estimated maximum price (c/kWh)

## Other responses

- `400`: Bad request
- `401`: API key is missing or invalid
- `404`: Site not found
- `500`: Internal Server Error

## Changes

- **2024-02-19** `8adde3b15a39`: 1 info
  - api operation id `getPrices` was added
- **2024-02-19** `807291d1a356`: 9 breaking, 12 warning, 5 info
  - the `items/oneOf[#/components/schemas/ActualInterval]/allOf[#/components/schemas/Interval]/tariffInformation` response's property type changed from `object` to no type for status `200`
  - the `items/oneOf[#/components/schemas/CurrentInterval]/allOf[#/components/schemas/Interval]/tariffInformation` response's property type changed from `object` to no type for status `200`
  - the `items/oneOf[#/components/schemas/CurrentInterval]/allOf[subschema #2]/range` response's property type changed from `object` to no type for status `200`
  - the `items/oneOf[#/components/schemas/ForecastInterval]/allOf[#/components/schemas/Interval]/tariffInformation` response's property type changed from `object` to no type for status `200`
  - …22 more
- …earlier changes not shown

[Operation history](https://skmtc.dev/amberelectric/apis/amber-electric-public-api/changes/sites/:siteId/prices/get.md)

---

[API](https://skmtc.dev/amberelectric/apis/amber-electric-public-api.md) - [All operations](https://skmtc.dev/amberelectric/apis/amber-electric-public-api/llms.txt) - [OpenAPI document](https://skmtc.dev/amberelectric/apis/amber-electric-public-api/revisions/1f80cddf9ed6?raw)
