# Amber Electric > Amber Electric is an Australian electricity retailer (ABN 98623603805) that passes wholesale National Electricity Market prices straight through to households on a flat monthly membership and automates batteries, solar exports and EV charging against those half-hourly prices. It exposes two very different API surfaces: a small, self-authored REST API with a published OpenAPI 3.0.0 contract, and a regulated Consumer Data Right energy data-holder implementation. This file was generated by API Evangelist from the catalog profile at https://github.com/api-evangelist/amber-electric — Amber publishes no llms.txt of its own (https://amber.com.au/llms.txt returned 404 on 2026-07-27). ## Access at a glance - The renewables endpoint is fully open: `GET https://api.amber.com.au/v1/state/{state}/renewables/current` needs no credential and answers for nsw, vic, qld and sa. - Everything else on the product API needs a bearer token that only an Amber customer can generate, from the Developers tab of https://app.amber.com.au/developers. There is no developer signup, no sandbox and no trial key. - The Consumer Data Right surface is accredited-only: it requires ACCC accreditation as a CDR data recipient, dynamic client registration with private_key_jwt, and a consumer's consent. - Rate limit: 50 calls per 5 minutes, per account. RateLimit-Limit / -Remaining / -Reset / -Policy headers are returned. ## APIs - [Amber Electric Public API](https://app.amber.com.au/developers): five read-only operations — list sites, current prices, price history and forecasts, usage, and grid renewables. Base URL https://api.amber.com.au/v1. - [Amber Electric Consumer Data Right Energy API](https://www.cdr.gov.au/): mandated CDS energy data-holder surface at https://public.cdr.amber.com.au/cds-au/v1 covering accounts, billing, concessions, service points, usage and DER. ## Specs - [OpenAPI 3.0.0 (verbatim)](https://raw.githubusercontent.com/api-evangelist/amber-electric/refs/heads/main/openapi/amber-electric-public-api-openapi.json): as published by Amber at https://github.com/amberelectric/public-api/blob/main/swagger.json - [OpenAPI Overlay of API Evangelist enhancements](https://raw.githubusercontent.com/api-evangelist/amber-electric/refs/heads/main/overlays/amber-electric-public-api-overlay.yaml) - [CDR OpenID Connect discovery document (verbatim)](https://raw.githubusercontent.com/api-evangelist/amber-electric/refs/heads/main/authentication/amber-electric-cdr-openid-configuration.json) ## Operations - `getCurrentRenewables` — GET /state/{state}/renewables/current — no auth - `getSites` — GET /sites — bearer - `getPrices` — GET /sites/{siteId}/prices — bearer - `getCurrentPrices` — GET /sites/{siteId}/prices/current — bearer - `getUsage` — GET /sites/{siteId}/usage — bearer ## Artifacts - [Authentication profile](https://raw.githubusercontent.com/api-evangelist/amber-electric/refs/heads/main/authentication/amber-electric-authentication.yml) - [OAuth scopes (CDR)](https://raw.githubusercontent.com/api-evangelist/amber-electric/refs/heads/main/scopes/amber-electric-scopes.yml) - [API conventions](https://raw.githubusercontent.com/api-evangelist/amber-electric/refs/heads/main/conventions/amber-electric-conventions.yml) - [Error catalog](https://raw.githubusercontent.com/api-evangelist/amber-electric/refs/heads/main/errors/amber-electric-problem-types.yml) - [Rate limits](https://raw.githubusercontent.com/api-evangelist/amber-electric/refs/heads/main/rate-limits/amber-electric-rate-limits.yml) - [Lifecycle](https://raw.githubusercontent.com/api-evangelist/amber-electric/refs/heads/main/lifecycle/amber-electric-lifecycle.yml) - [Conformance](https://raw.githubusercontent.com/api-evangelist/amber-electric/refs/heads/main/conformance/amber-electric-conformance.yml) - [Data model](https://raw.githubusercontent.com/api-evangelist/amber-electric/refs/heads/main/data-model/amber-electric-data-model.yml) - [Packages and SDKs](https://raw.githubusercontent.com/api-evangelist/amber-electric/refs/heads/main/packages/amber-electric-packages.yml) - [Agent skills](https://raw.githubusercontent.com/api-evangelist/amber-electric/refs/heads/main/skills/_index.yml) - [Candidate MCP tools](https://raw.githubusercontent.com/api-evangelist/amber-electric/refs/heads/main/mcp/amber-electric-mcp.yml) - [Agentic access contracts](https://raw.githubusercontent.com/api-evangelist/amber-electric/refs/heads/main/agentic-access/amber-electric-agentic-access.yml) - [Well-known discovery index](https://raw.githubusercontent.com/api-evangelist/amber-electric/refs/heads/main/well-known/amber-electric-well-known.yml) - [Domain security probe](https://raw.githubusercontent.com/api-evangelist/amber-electric/refs/heads/main/security/amber-electric-domain-security.yml) ## Docs - [Developers tab / token generation](https://app.amber.com.au/developers) - [API reference](https://app.amber.com.au/developers/documentation) - [Contract repository and community forum](https://github.com/amberelectric/public-api) - [Discussions](https://github.com/amberelectric/public-api/discussions) - [Help centre](https://help.amber.com.au/) - [Consumer Data Standards (Australia)](https://consumerdatastandardsaustralia.github.io/standards/) ## Notes for agents - All five operations are GETs. Nothing in this API writes, so every call is safe to retry — but a retry consumes rate-limit quota. - Responses are bare JSON arrays with a `type` discriminator (ActualInterval / CurrentInterval / ForecastInterval, ActualRenewable / CurrentRenewable / ForecastRenewable). Switch on `type`; do not assume one shape. - Return order is General > Controlled Load > Feed In, but channels can be added or removed, so filter or group by `channelType` instead of indexing by position. - Times are anchored in NEM time (UTC+10, no daylight saving). An interval's `date` can differ from the date part of its `nemTime` because the trading day's last interval ends at 12:00 the following day. - Prices are cents per kWh including GST; exported energy appears as a negative `kwh`. - `getUsage` returns at most 90 days per call and requires both startDate and endDate. - Errors are `{"message": "..."}` — not RFC 9457 problem+json.