FERC Public Filings API

Anonymous read access to the public FERC eForms submission record.

Operations 2

GET /PublicSubmissionHistory List the public FERC eForms submission history #
GET /SubmissionDetail/{filingID} Get the detail and attachment manifest for one filing #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/ferc-public-filings-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

ferc-public-filings-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: FERC eForms (eCollection) Public Filings API
  version: '2026-07-27'
  description: 'Machine-readable description of the FERC eForms XBRL API hosted at https://ecollection.ferc.gov/api. FERC publishes NO OpenAPI for this API. This document is DERIVED, not harvested: every path below is a literal URL string taken from FERC''s own shipped production JavaScript bundle (https://ecollection.ferc.gov/main.6c69ecbce3fd46f494eb.js, `environment.apiURL = "https://eCollection.ferc.gov/api/"`), or from FERC''s published Postman collection and Submission API step-by-step guide, and each was probed live on 2026-07-27 with the HTTP status recorded in `x-evidence`. Response schemas are derived ONLY from responses actually observed on those probes — no field is invented. Endpoints that answered 401 are described by path and method only, with no invented request or response body.


    Two surfaces live here. (1) An ANONYMOUS PUBLIC READ surface — the public submission history of every FERC eForms filing, per-filing detail, the XBRL taxonomy version history and taxonomy packages, the form list, and the submission constraints — none of which is advertised on data.ferc.gov or in FERC''s developer documentation. (2) The CREDENTIALED WRITE surface — the OAuth2 password-grant token endpoint and the external filing endpoint documented in FERC''s vendor files library for regulated filers.


    PERSONAL DATA NOTICE: GET /PublicSubmissionHistory returns a `filerEmail` field carrying the work email address of the individual who submitted each filing, served anonymously with no authentication. The field is documented here structurally; no example in this repository carries a real value, and no agent skill or MCP tool in this repository is built on this endpoint.'
  contact:
    name: FERC Online Support
    url: https://www.ferc.gov/ferc-online/overview
  license:
    name: U.S. Government Work (public domain, 17 U.S.C. 105)
    url: https://data.ferc.gov/disclaimer/
  x-provenance:
    generated: '2026-07-27'
    method: derived
    sources:
    - https://ecollection.ferc.gov/main.6c69ecbce3fd46f494eb.js
    - collections/ferc-xbrl-submission-api.postman_collection.json
    - https://www.ferc.gov/sites/default/files/2020-12/FERC_SubmissionAPI_PROD-Step-by-step-guide_v3.1.pdf
    - live HTTP probes 2026-07-27
    note: Not published by FERC. Derived by API Evangelist from FERC's own production client bundle plus live anonymous probes. Report inaccuracies rather than treating this as an authoritative contract.
servers:
- url: https://ecollection.ferc.gov/api
  description: Production
tags:
- name: Public Filings
  description: Anonymous read access to the public FERC eForms submission record.
paths:
  /PublicSubmissionHistory:
    get:
      tags:
      - Public Filings
      operationId: listPublicSubmissionHistory
      summary: List the public FERC eForms submission history
      description: Returns the complete public record of eForms submissions. Answers anonymously with no API key and no token. Observed 2026-07-27 returning 37,588 records in a single 10.6 MB JSON array with no pagination. A `formID` query parameter appears in FERC's client but the observed response was identical in size with and without it.
      security: []
      parameters:
      - name: formID
        in: query
        required: false
        schema:
          type: integer
        description: Form identifier (1-10). Observed to have no effect on the anonymous response.
      responses:
        '200':
          description: Array of public submission records.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/PublicSubmission'
      x-evidence:
        probed: '2026-07-27'
        status: 200
        record_count: 37588
        bytes: 10677047
        authentication: none
  /SubmissionDetail/{filingID}:
    get:
      tags:
      - Public Filings
      operationId: getSubmissionDetail
      summary: Get the detail and attachment manifest for one filing
      description: Returns the accession number, additional notes, CPA certification flags and the attachment manifest (XBRL instance file and HTML rendering) for a single filing. Answers anonymously.
      security: []
      parameters:
      - name: filingID
        in: path
        required: true
        schema:
          type: integer
        description: filingID from GET /PublicSubmissionHistory.
      responses:
        '200':
          description: Submission detail.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SubmissionDetail'
      x-evidence:
        probed: '2026-07-27'
        status: 200
        authentication: none
components:
  schemas:
    PublicSubmission:
      type: object
      description: One public eForms filing record. Field set observed verbatim on 2026-07-27; no field added.
      properties:
        filingID:
          type: integer
        cid:
          type: string
          description: FERC Company Registration company identifier, e.g. C0#####.
        companyName:
          type: string
        formName:
          type: string
          description: e.g. "Form 1", "Form 3Q Electric", "Form 714".
        year:
          type: integer
        period:
          type: string
          description: Q1, Q2, Q3 or Q4.
        submittedOn:
          type: string
          format: date-time
        status:
          type: string
          description: e.g. "Accepted".
        isConfidential:
          type: boolean
        isTestSubmission:
          type: string
          description: e.g. "Not Test".
        filerEmail:
          type: string
          format: email
          description: PERSONAL DATA. The work email address of the individual filer, served anonymously. Do not harvest; no example value is recorded in this repository.
          x-personal-data: true
    SubmissionDetail:
      type: object
      properties:
        additionalNotes:
          type: string
        accessionNumber:
          type: string
          description: FERC accession number, e.g. 20260727-8000.
        privilegedAccessionNumber:
          type:
          - string
          - 'null'
        attachments:
          type: array
          items:
            type: object
            properties:
              fileID:
                type: integer
              fileType:
                type: string
                description: e.g. XBRL_INSTANCE_FILE, HTML_RENDERING.
              fileName:
                type: string
              isConfidential:
                type: boolean
              fileBlob:
                type: string
        cpaCertRequired:
          type: boolean
        cpaCertUploaded:
          type: boolean
        isFiledThrougheForms:
          type: boolean
  securitySchemes:
    filerBearer:
      type: http
      scheme: bearer
      description: Bearer token issued by POST /token via the OAuth 2.0 password grant with role=filer.