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.
  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:
    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
    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
  securitySchemes:
    filerBearer:
      type: http
      scheme: bearer
      description: Bearer token issued by POST /token via the OAuth 2.0 password grant with role=filer.