# FERC — Federal Energy Regulatory Commission > The independent U.S. federal agency that regulates the interstate transmission of electricity, > natural gas and oil, licenses hydropower projects, and oversees the wholesale power markets run by > the seven ISOs and RTOs. FERC runs two APIs: a free, self-serve open data API for market and > regulatory data, and a credentialed XBRL submission API for mandated eForms filings. FERC has NO > consumer energy data API — no Green Button, no ESPI, no customer usage or billing — because retail > customer data sits with the fifty state public utility commissions, outside FERC's statutory reach. Generated by API Evangelist on 2026-07-27. FERC publishes no llms.txt of its own (probed https://data.ferc.gov/llms.txt and https://www.ferc.gov/llms.txt — both 404). This file is generated from apis.yml and the artifacts in the api-evangelist/ferc repository. ## APIs - [FERC Open Data API](https://data.ferc.gov/developer/gettingstarted/): Four GET operations over FERC's open data catalog. Base URL https://api.data.ferc.gov/v1. Free 40-character API key, 1,000 requests/hour. Data assets: Market-Based Rate Database, FERC Form No. 552 natural gas transactions, FERC Form 556 qualifying facility certifications, Company Registration, Annual Charges, Information Collections Management, NEPA infrastructure schedule. - [FERC eForms XBRL Submission API](https://www.ferc.gov/vendor-files-library): Machine-to-machine filing of the mandated eForms (Form Nos. 1, 1F, 2, 2A, 3-Q, 6, 6Q, 60, 714). Base URL https://ecollection.ferc.gov/api. OAuth 2.0 password grant for registered filers. Also exposes an undocumented ANONYMOUS read surface — public submission history, filing detail, form list, and the XBRL taxonomy version history. ## Specs - [FERC Open Data API OpenAPI 3.0](https://data.ferc.gov/openapi.json): FERC's own published spec. Repo copy: openapi/ferc-data-api-openapi.json - [FERC eForms API OpenAPI 3.1 (derived)](https://github.com/api-evangelist/ferc/blob/main/openapi/ferc-eforms-api-openapi-derived.yml): Derived by API Evangelist from FERC's production client bundle, its published Postman collection, and live probes. NOT published by FERC. - [XBRL submission Postman collection](https://www.ferc.gov/vendor-files-library): FERC's own. Repo copy: collections/ferc-xbrl-submission-api.postman_collection.json - OpenAPI Overlay: overlays/ferc-data-api-overlay.yaml — corrects the staging host, adds the production servers block, adds the X-Api-Key header scheme, records the real 403 behaviour. ## Getting started - [Sign up for a key](https://data.ferc.gov/developer/gettingstarted/sign-up-form/) - [Understanding our APIs](https://data.ferc.gov/developer/gettingstarted/understanding-our-apis/) - [Dataset retrieval walkthrough](https://data.ferc.gov/developer/gettingstarted/dataset-retrieval/) - [API key usage and rate limits](https://data.ferc.gov/developer/gettingstarted/api-key-usage/) - [Interactive API reference / console](https://data.ferc.gov/developer/apiendpoints/) - [Data Catalog](https://data.ferc.gov/datacatalog/) - [Help and support](https://data.ferc.gov/developer/helpandsupport/) — 866-208-3676 ## How to use the Open Data API 1. `GET /data-assets/` (operationId `data-asset-id`) — returns every data asset with a nested `data-sets` array. Take the dataset `id` from there. IDs are NOT stable; resolve them per run. 2. `GET /dataset/{id}/details/` (`detail-id`) — record count, industry, last updated, contact. 3. `GET /dataset/{id}/dictionary/` (`dictionary-id`) — column names, types, descriptions. A 404 here means the dataset has no dictionary, not a bad ID. 4. `GET /dataset/{id}/data/` (`data-id`) — all rows. No filtering, no pagination; size the call with the record count first. Send the key as `X-Api-Key: ` (recommended) or `?api_key=`. Watch `X-RateLimit-Limit` and `X-RateLimit-Remaining` on every response. Errors are `{"error":{"code","message"}}` — a missing or invalid key returns **403** (API_KEY_MISSING / API_KEY_INVALID), not the 401 the spec documents. ## Artifacts in this repository - authentication/ferc-authentication.yml — both auth models, credential issuance, anonymous surface - conventions/ferc-conventions.yml — pagination (none), tracing, versioning, error envelopes, CORS - errors/ferc-problem-types.yml — every documented and probed error, both APIs - rate-limits/ferc-rate-limits.yml — 1,000 requests/hour, rolling, per key - lifecycle/ferc-lifecycle.yml — versioning, no deprecation policy, no status page, no SLA - changelog/ferc-changelog.yml — the 25 dated XBRL taxonomy releases (the only real version history) - sandbox/ferc-sandbox.yml — Swagger console, eForms test-submission flag, fixtures - data-model/ferc-data-model.yml — DataAsset/Dataset/Dictionary and Company/Form/Filing/Taxonomy - conformance/ferc-conformance.yml — standards conformance, statutory rather than certified - security/ferc-vulnerability-disclosure.yml — FERC's VDP v3.0 under CISA BOD 20-01 - security/ferc-domain-security.yml — TLS, HSTS, DNSSEC, CAA, SPF, DMARC - packages/ferc-packages.yml — no official SDKs; community PUDL / XBRL extractor tooling - examples/ — response examples for both APIs - skills/ — packaged agent skills grounded in real operationIds - arazzo/ — a native Arazzo workflow for catalog discovery and dataset retrieval - mcp/ferc-mcp.yml — candidate MCP tool surface (FERC publishes no MCP server) ## What FERC does not have No consumer energy data, no Green Button/ESPI, no webhooks or events, no AsyncAPI, no GraphQL, no gRPC, no MCP server, no SDKs, no CLI, no UI components, no status page, no SLA, no deprecation policy, no changelog for the HTTP APIs, no GitHub organisation, no security.txt, no bug bounty, no SOC 2 / ISO 27001 / FedRAMP, no pricing (everything is free). ## Personal data notice `GET https://ecollection.ferc.gov/api/PublicSubmissionHistory` answers with no authentication and includes a `filerEmail` field carrying the individual filer's work email address for each of ~37,600 filings. It is documented structurally in this repository, but no example carries a real value and no agent skill or MCP tool here is built on it. Do not use it as a bulk contact source. ## Policies - [Disclaimer / terms](https://data.ferc.gov/disclaimer/) - [Privacy policy](https://www.ferc.gov/privacy) - [Vulnerability disclosure policy](https://www.ferc.gov/vulnerability-disclosure-policy) — reports to vdpfeedback@ferc.gov, acknowledged within 3 business days