aid: edf-energy url: https://raw.githubusercontent.com/api-evangelist/edf-energy/refs/heads/main/apis.yml name: EDF Energy kind: company image: https://kinlane-images.s3.amazonaws.com/shared/apis-json/apis-json-logo.jpg tags: - Energy - United Kingdom - Utilities - Electricity - Gas - Energy Retailer - Energy Supplier - Smart Metering - Nuclear - Renewables - EV Charging - Demand Response - Tariffs - Energy Markets created: '2026-07-27' modified: '2026-07-27' specificationVersion: '0.19' description: >- EDF Energy Ltd is the British integrated energy business wholly owned by Electricite de France (EDF), the French state-owned utility. Formed in 2002 from London Electricity, SWEB and SEEBOARD and enlarged by the 2009 acquisition of British Energy, it is one of the largest suppliers of electricity and gas in Great Britain with roughly five million customer accounts, and it is also Britain's largest generator of zero-carbon electricity — it operates the country's fleet of operating nuclear power stations (the advanced gas-cooled reactors at Hartlepool, Heysham 1, Heysham 2 and Torness, and the Sizewell B pressurised water reactor), is building Hinkley Point C, and owns wind, solar, battery (Pivot Power) and EV charging (Pod Point) businesses. It therefore sits at both ends of the GB value chain: a licensed generator and wholesale market participant, and the retailer of record holding the customer relationship, the billing account and the meter data. Its API posture is the opposite of the mandated-utility pattern. The United Kingdom has no consumer energy data-portability right — no Consumer Data Right, no Green Button obligation. Britain mandated infrastructure instead: the licensed Smart DCC monopoly carries smart-meter traffic under the Smart Energy Code, and EDF is bound by that as a licensed supplier, but it confers no third-party consumer data API. And yet EDF publishes one of the more substantial public API programmes of any European utility, because it does not run its own retail platform: in 2023 EDF licensed Kraken from Octopus Energy Group and completed the migration of 5.8 million customer accounts in fifteen months, so EDF's API is Kraken's API, branded for EDF GB at developer.edfgb-kraken.energy. That portal is fully public and was confirmed live at HTTP 200 on 2026-07-27. It publishes a first-party OpenAPI 3.0.3 document for a 27-path REST API, a second OpenAPI 3.0.3 document for a 16-path customer-migration API, and a GraphQL API whose schema — 2,492 types, 246 queries, 417 mutations — was harvested by anonymous introspection with no key and no account. EDF's retail tariff and product data is genuinely open: GET https://api.edfgb-kraken.energy/v1/products/ returned 21 live products at HTTP 200 anonymously, and the GraphQL energyProducts query returns real EDF tariffs with brand "EDF". Consumer usage and billing data is documented in the same contracts but requires an Authorization token issued to the account holder, or an OAuth application authorised against the OpenID Connect server at auth.edfgb-kraken.energy, whose anonymously served discovery document advertises 111 scopes including request:consumption-data and view:smartflex-data. Open market data is the gap: EDF discloses its REMIT generation unavailability on its own website as an HTML table, but the XML and CSV export links it publishes on that very page both return HTTP 404, and the machine-readable channel for those disclosures is Elexon's BMRS platform, which EDF does not operate — 27 EDF REMIT messages under registration code 48X000000000022A were confirmed there in a single week. Open on tariffs, gated on consumer data, broken on its own market-data exports, and none of it compelled. apis: - aid: edf-energy:edf-kraken-graphql-api name: EDF Kraken GraphQL API description: >- EDF Energy's primary developer API, and the surface EDF markets as its "open tariff APIs". It is the Kraken GraphQL API, licensed from Octopus Energy Group and hosted for EDF GB. Introspection is enabled anonymously: a standard IntrospectionQuery POSTed with no credentials returned HTTP 200 on 2026-07-27, yielding 2,492 types, 246 Query fields and 417 Mutation fields, saved verbatim as SDL in this repository. Retail product and tariff data resolves without any credential — energyProducts(postcode: "SW1A1AA", brand: "EDF") returned live EDF tariffs including EDF_FOL_06M_B1_1YR_26-07-24_v1 "Fixed Online 1 Year". Everything customer-scoped (smartMeterTelemetry, annualElectricityConsumption, applicableRates, plannedDispatches, vehicleChargingPreferences, fitInstallations, prepay ledgers) requires an Authorization header held by the account user, an organisation, or an OAuth application. Published limits: 50,000 points/hour for account users, 100,000 for organisations, 300,000 for OAuth applications; complexity limit 200; 10,000 nodes per request; rate-limit error KT-CT-1199. No consumer data mandate in Great Britain produced any of this. humanURL: https://developer.edfgb-kraken.energy/graphql/ baseURL: https://api.edfgb-kraken.energy/v1/graphql/ tags: - GraphQL - Kraken - Tariffs - Energy Products - Smart Metering - Consumption - EV Charging - United Kingdom properties: - type: GraphQL url: graphql/edf-energy-graphql.md - type: Documentation url: https://developer.edfgb-kraken.energy/graphql/guides/ - type: APIReference url: https://developer.edfgb-kraken.energy/graphql/reference/ - type: Changelog url: https://developer.edfgb-kraken.energy/graphql/changelog/ - type: Documentation url: https://www.edfenergy.com/energywise/edfs-open-tariff-apis - type: Authentication url: authentication/edf-energy-kraken-openid-configuration.json - type: ToolCrosswalk url: mcp/edf-energy-tool-crosswalk.yml - type: ErrorCatalog url: errors/edf-energy-error-codes.yml - type: RateLimits url: rate-limits/edf-energy-rate-limits.yml - type: Console name: GraphiQL IDE url: https://api.edfgb-kraken.energy/v1/graphql/ - aid: edf-energy:edf-kraken-rest-api name: EDF Kraken REST API description: >- The REST half of EDF's Kraken platform API, described by a first-party OpenAPI 3.0.3 document that EDF serves itself at https://api.edfgb-kraken.energy/v1/schema?namespaces=default and renders through ReDoc on its developer portal. Harvested verbatim on 2026-07-27 at HTTP 200 with no credentials: 27 paths and 57 component schemas covering energy products and their electricity and gas tariffs (day, night, standard, off-peak and peak EV unit rates and standing charges), grid supply points, electricity and gas meter point consumption, account creation, tariff renewal, quotes and payment intents. Access is split inside the same document: /v1/products/ carries an empty security option and returned HTTP 200 anonymously with 21 live EDF products, and /v1/industry/grid-supply-points/ resolved a postcode to GSP group _C anonymously, while /v1/electricity-meter-points/{mpan}/ and the consumption endpoints require KeyAuthentication ("Authorization: Token ...") or a Kraken JWT. Five security schemes are declared: AccountUserAPIKeyAuthentication, AffiliateAuthentication, DRFKrakenTokenAuthentication, KeyAuthentication and PartnerUserOnlyAuthentication. humanURL: https://developer.edfgb-kraken.energy/rest/reference/ baseURL: https://api.edfgb-kraken.energy/v1/ tags: - REST - OpenAPI - Kraken - Tariffs - Products - Meter Points - Consumption - Grid Supply Points - United Kingdom properties: - type: OpenAPI url: openapi/edf-energy-kraken-openapi.yml - type: Documentation url: https://developer.edfgb-kraken.energy/rest/guides/api-basics/ - type: APIReference url: https://developer.edfgb-kraken.energy/rest/reference/ - type: Documentation url: https://www.edfenergy.com/energywise/edfs-open-tariff-apis - type: Authentication url: authentication/edf-energy-kraken-openid-configuration.json - type: Overlay url: overlays/edf-energy-kraken-overlay.yaml - type: ErrorCatalog url: errors/edf-energy-problem-types.yml - type: DataModel url: data-model/edf-energy-data-model.yml - type: AgentSkill name: Compare EDF electricity and gas tariffs for a postcode url: skills/edf-energy-compare-tariffs.md - type: AgentSkill name: Read a customer's electricity and gas consumption url: skills/edf-energy-read-consumption.md - type: AgentSkill name: Quote a supply and enrol a customer url: skills/edf-energy-quote-and-enrol.md - type: GettingStarted url: https://developer.edfgb-kraken.energy/rest/guides/api-basics/ - aid: edf-energy:edf-kraken-customer-migration-api name: EDF Kraken Customer Migration (Data Import) API description: >- A second, separately published first-party OpenAPI 3.0.3 document describing the Kraken customer-migration API, harvested verbatim from https://api.edfgb-kraken.energy/data-import/schema/ at HTTP 200 on 2026-07-27 with no credentials — 16 paths and 139 component schemas. It is the machine-readable expression of how a customer book moves between suppliers onto Kraken: account import processes are created, validated and processed, transfer status is polled per external account number, and historical statements, transactions, notes and payment instructions are imported, all keyed by an import_supplier_code. This is the operational counterpart to the fact that EDF itself migrated 5.8 million accounts onto this platform in fifteen months. It is a partner-facing contract: the endpoints require authentication, and a developer needs a migration relationship with EDF rather than a signup form. humanURL: https://developer.edfgb-kraken.energy/rest/guides/data-import/ baseURL: https://api.edfgb-kraken.energy/v1/ tags: - REST - OpenAPI - Kraken - Customer Migration - Data Import - Switching - United Kingdom properties: - type: OpenAPI url: openapi/edf-energy-kraken-data-import-openapi.yml - type: Documentation url: https://developer.edfgb-kraken.energy/rest/guides/data-import/ - type: APIReference url: https://developer.edfgb-kraken.energy/rest/reference/ - type: Overlay url: overlays/edf-energy-kraken-data-import-overlay.yaml - type: Authentication url: authentication/edf-energy-authentication.yml - type: AgentSkill name: Migrate a customer book onto Kraken url: skills/edf-energy-migrate-customer-book.md common: - type: AgenticAccess url: agentic-access/edf-energy-agentic-access.yml - type: DomainSecurity url: security/edf-energy-domain-security.yml - type: Authentication url: authentication/edf-energy-authentication.yml - type: OAuthScopes url: scopes/edf-energy-scopes.yml - type: Conventions url: conventions/edf-energy-conventions.yml - type: Idempotency url: conventions/edf-energy-conventions.yml - type: RateLimits url: rate-limits/edf-energy-rate-limits.yml - type: ErrorCatalog name: Kraken KT-CT-* error code registry (1,370 codes) url: errors/edf-energy-error-codes.yml - type: ErrorCatalog name: REST problem types derived from the OpenAPI url: errors/edf-energy-problem-types.yml - type: Lifecycle url: lifecycle/edf-energy-lifecycle.yml - type: Deprecation url: https://developer.edfgb-kraken.energy/announcements/ - type: ChangeLog url: changelog/edf-energy-changelog.yml - type: ChangeLog name: GraphQL schema changelog url: https://developer.edfgb-kraken.energy/graphql/changelog/ - type: Conformance url: conformance/edf-energy-conformance.yml - type: DataModel url: data-model/edf-energy-data-model.yml - type: Sandbox name: Public GraphiQL IDE url: sandbox/edf-energy-sandbox.yml - type: Console url: https://api.edfgb-kraken.energy/v1/graphql/ - type: WellKnown url: well-known/edf-energy-well-known.yml - type: Packages url: packages/edf-energy-packages.yml - type: MCPServer url: mcp/edf-energy-mcp.yml - type: ToolCrosswalk url: mcp/edf-energy-tool-crosswalk.yml - type: AgentSkill url: skills/_index.yml - type: LLMsTxt name: EDF Energy llms.txt (published, verbatim) url: llms/edf-energy-llms.txt - type: LLMsTxt name: API-surface llms.txt (generated) url: llms/edf-energy-api-llms.txt - type: Overlay url: overlays/edf-energy-kraken-overlay.yaml - type: Overlay url: overlays/edf-energy-kraken-data-import-overlay.yaml - type: Website url: https://www.edfenergy.com/ - type: DeveloperPortal url: https://developer.edfgb-kraken.energy/ - type: Documentation url: https://developer.edfgb-kraken.energy/ - type: APIReference url: https://developer.edfgb-kraken.energy/rest/reference/ - type: GettingStarted url: https://developer.edfgb-kraken.energy/rest/guides/api-basics/ - type: Changelog url: https://developer.edfgb-kraken.energy/announcements/ - type: Authentication url: authentication/edf-energy-kraken-openid-configuration.json - type: Documentation url: https://www.edfenergy.com/energywise/edfs-open-tariff-apis - type: Documentation url: https://www.edfenergy.com/energy/remit-summary - type: About url: https://www.edfenergy.com/about - type: News url: https://www.edfenergy.com/media-centre - type: Blog url: https://www.edfenergy.com/energywise - type: Support url: https://www.edfenergy.com/help-support - type: HelpCenter url: https://www.edfenergy.com/for-home/help-centre - type: Pricing url: https://www.edfenergy.com/deemed-tariff-prices - type: SignUp url: https://www.edfenergy.com/gas-and-electricity/switch-energy-supplier - type: Login url: https://www.edfenergy.com/customer-information/activate-myaccount - type: TermsOfService url: https://www.edfenergy.com/terms-conditions - type: PrivacyPolicy url: https://www.edfenergy.com/terms-conditions/privacy-cookie-policy - type: GitHubOrganization url: https://github.com/edfenergy - type: LinkedIn url: https://www.linkedin.com/company/edf-energy maintainers: - FN: Kin Lane email: kin@apievangelist.com