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.
EDF Energy publishes 8 APIs on the APIs.io network, including Account Import API, Data Import API, External Client Healthcheck API, and 5 more. Tagged areas include Energy, United Kingdom, Utilities, Electricity, and Gas.
EDF Energy’s developer surface includes authentication, changelog, sandbox, developer console, documentation, API reference, getting-started guide, and 45 more developer resources.
Regulatory Posture applies to this provider. Its tags matched the
Energy & Utilities regime, so
Regulatory Posture carries 15 points of the composite.
If this regime is wrong for your business, say so on your
provider repo — the
applicability map is public and we will correct it.
The six quality facets above are damped to 85 points between them,
because the conditional facet above carries the other
15. That is why each facet's contribution is shown against a damped
maximum: raising a quality facet moves the composite by 85% of its nominal
weight, not 100%. The full arithmetic is at apis.io/rating/.
Improve this rating by publishing the missing artifacts — every area above can be raised, and the full rubric is at apis.io/rating/. Every facet and dimension name above is a link: it opens that measurement's own page — what it means, the exact checks that feed it, how the whole catalog distributes on it, and the providers at the top of it. This rating is computed from github.com/api-evangelist/edf-energy: open an issue to ask a question, or submit a pull request to add artifacts.
Submit an artifact on GitHub — free →Manage your own listing — the Influence plan, $499/mo →
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...
aid: edf-energy
url: https://raw.githubusercontent.com/api-evangelist/edf-energy/refs/heads/main/apis.yml
name: EDF Energy
kind: company
deliveryModel:
model: saas
open_source: false
commercial: true
callable_host: true
label: Hosted service · you call their endpoint
confidence: high
source:
- openapi
- pricing
generated: '2026-08-28'
method: derived
accessModel:
pricing: unknown
onboarding: open
trial: false
try_now: false
public: true
label: Open access
confidence: medium
source:
- authentication
- scopes
- rate-limits
- security
- sandbox
generated: '2026-09-02'
method: derived
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.23'
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-energy-account-import-api
name: EDF Energy Account Import API
description: APIs for importing accounts.
humanURL: https://developer.edfgb-kraken.energy/graphql/
baseURL: https://api.edfgb-kraken.energy/v1/graphql/
tags: []
tags_raw:
- account_import
properties:
- type: OpenAPI
url: openapi/edf-energy-account-import-api-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: ErrorCatalog
url: errors/edf-energy-problem-types.yml
- type: DataModel
url: data-model/edf-energy-data-model.yml
- type: GettingStarted
url: https://developer.edfgb-kraken.energy/rest/guides/api-basics/
- type: Documentation
url: https://developer.edfgb-kraken.energy/rest/guides/data-import/
- type: Authentication
url: authentication/edf-energy-authentication.yml
- aid: edf-energy:edf-energy-data-import-api
name: EDF Energy Data Import API
description: The data-import API from EDF Energy — 1 operation(s) for data-import.
humanURL: https://developer.edfgb-kraken.energy/graphql/
baseURL: https://api.edfgb-kraken.energy/v1/graphql/
tags:
- Data Import
tags_raw:
- data-import
properties:
- type: OpenAPI
url: openapi/edf-energy-data-import-api-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: ErrorCatalog
url: errors/edf-energy-problem-types.yml
- type: DataModel
url: data-model/edf-energy-data-model.yml
- type: GettingStarted
url: https://developer.edfgb-kraken.energy/rest/guides/api-basics/
- type: Documentation
url: https://developer.edfgb-kraken.energy/rest/guides/data-import/
- type: Authentication
url: authentication/edf-energy-authentication.yml
- aid: edf-energy:edf-energy-external-client-healthcheck-api
name: EDF Energy External Client Healthcheck API
description: The external-client-healthcheck API from EDF Energy — 1 operation(s) for external-client-healthcheck.
humanURL: https://developer.edfgb-kraken.energy/graphql/
baseURL: https://api.edfgb-kraken.energy/v1/graphql/
tags:
- external-client-healthcheck
properties:
- type: OpenAPI
url: openapi/edf-energy-external-client-healthcheck-api-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: ErrorCatalog
url: errors/edf-energy-problem-types.yml
- type: DataModel
url: data-model/edf-energy-data-model.yml
- type: GettingStarted
url: https://developer.edfgb-kraken.energy/rest/guides/api-basics/
- type: Documentation
url: https://developer.edfgb-kraken.energy/rest/guides/data-import/
- type: Authentication
url: authentication/edf-energy-authentication.yml
- aid: edf-energy:edf-energy-external-events-api
name: EDF Energy External Events API
description: The external-events API from EDF Energy — 1 operation(s) for external-events.
humanURL: https://developer.edfgb-kraken.energy/graphql/
baseURL: https://api.edfgb-kraken.energy/v1/graphql/
tags:
- external-events
properties:
- type: OpenAPI
url: openapi/edf-energy-external-events-api-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: ErrorCatalog
url: errors/edf-energy-problem-types.yml
- type: DataModel
url: data-model/edf-energy-data-model.yml
- type: GettingStarted
url: https://developer.edfgb-kraken.energy/rest/guides/api-basics/
- type: Documentation
url: https://developer.edfgb-kraken.energy/rest/guides/data-import/
- type: Authentication
url: authentication/edf-energy-authentication.yml
- aid: edf-energy:edf-energy-post-account-import-api
name: EDF Energy Post Account Import API
description: APIs for importing additional data after an account has been imported.
humanURL: https://developer.edfgb-kraken.energy/graphql/
baseURL: https://api.edfgb-kraken.energy/v1/graphql/
tags: []
tags_raw:
- post_account_import
properties:
- type: OpenAPI
url: openapi/edf-energy-post-account-import-api-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: ErrorCatalog
url: errors/edf-energy-problem-types.yml
- type: DataModel
url: data-model/edf-energy-data-model.yml
- type: GettingStarted
url: https://developer.edfgb-kraken.energy/rest/guides/api-basics/
- type: Documentation
url: https://developer.edfgb-kraken.energy/rest/guides/data-import/
- type: Authentication
url: authentication/edf-energy-authentication.yml
- aid: edf-energy:edf-energy-query-api
name: EDF Energy Query API
description: APIs for querying import status and retrieving data
humanURL: https://developer.edfgb-kraken.energy/graphql/
baseURL: https://api.edfgb-kraken.energy/v1/graphql/
tags:
- Query
tags_raw:
- query
properties:
- type: OpenAPI
url: openapi/edf-energy-query-api-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: ErrorCatalog
url: errors/edf-energy-problem-types.yml
- type: DataModel
url: data-model/edf-energy-data-model.yml
- type: GettingStarted
url: https://developer.edfgb-kraken.energy/rest/guides/api-basics/
- type: Documentation
url: https://developer.edfgb-kraken.energy/rest/guides/data-import/
- type: Authentication
url: authentication/edf-energy-authentication.yml
- aid: edf-energy:edf-energy-v1-api
name: EDF Energy V1 API
description: The v1 API from EDF Energy — 23 operation(s) for v1.
humanURL: https://developer.edfgb-kraken.energy/graphql/
baseURL: https://api.edfgb-kraken.energy/v1/graphql/
tags:
- v1
properties:
- type: OpenAPI
url: openapi/edf-energy-v1-api-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: ErrorCatalog
url: errors/edf-energy-problem-types.yml
- type: DataModel
url: data-model/edf-energy-data-model.yml
- type: GettingStarted
url: https://developer.edfgb-kraken.energy/rest/guides/api-basics/
- type: Documentation
url: https://developer.edfgb-kraken.energy/rest/guides/data-import/
- type: Authentication
url: authentication/edf-energy-authentication.yml
- aid: edf-energy:edf-energy-v2-api
name: EDF Energy V2 API
description: The v2 API from EDF Energy — 1 operation(s) for v2.
humanURL: https://developer.edfgb-kraken.energy/graphql/
baseURL: https://api.edfgb-kraken.energy/v1/graphql/
tags:
- v2
tags_raw:
- v2
properties:
- type: OpenAPI
url: openapi/edf-energy-v2-api-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: ErrorCatalog
url: errors/edf-energy-problem-types.yml
- type: DataModel
url: data-model/edf-energy-data-model.yml
- type: GettingStarted
url: https://developer.edfgb-kraken.energy/rest/guides/api-basics/
- type: Documentation
url: https://developer.edfgb-kraken.energy/rest/guides/data-import/
- type: Authentication
url: authentication/edf-energy-authentication.yml
common:
- type: CapabilityMap
url: capabilities/edf-energy-capability-edges.yml
name: EDF Energy Business Capability Map
- type: AgentSkill
url: skills/edf-energy-compare-tariffs.md
- type: AgentSkill
url: skills/edf-energy-read-consumption.md
- type: AgentSkill
url: skills/edf-energy-quote-and-enrol.md
- type: AgentSkill
url: skills/edf-energy-migrate-customer-book.md
- 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: X-MCPServerCandidate
url: mcp/edf-energy-mcp.yml
note: 'Renamed from MCPServer 2026-09-03 (roadmap#247): the manifest self-describes as status: candidate — a tool list derived
from the published API contracts, not an existing server. The scorer already read the manifest and reported mcp_server
correctly; the MCPServer type was crediting the artifact-type surfaces with a server that does not exist.'
- 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