🔗 JSON-RPC API

JSON-RPC proxy for SEC Filings REST endpoints.

SEC Filings - JSON RPC

Overview

Our JSON-RPC implementation is a thin proxy around the SEC Filings REST API. It forwards JSON-RPC requests to the same read-only REST endpoints and returns the REST payload inside the JSON-RPC response.

  • method is the REST path, for example v1/filings or v1/extractor
  • params is converted into REST path parameters and query string parameters
  • Keys used in path placeholders are substituted into the path
  • Remaining keys are appended to the proxied REST request as query string values

This JSON-RPC layer does not add new SEC-specific RPC methods on top of REST.

Endpoint

To access SEC Filings through JSON-RPC, use:

EnvironmentEncryptionValue
ProductionYeshttps://api.sec.finfeedapi.com/jsonrpc

Authentication

Authentication is exactly the same as for the REST API. See the authentication section.

Request Format

Use a JSON-RPC 2.0 request where method contains the REST path and params is an object:

{
  "jsonrpc": "2.0",
  "method": "v1/filings",
  "params": {
    "ticker": "AAPL",
    "form_type": "10-K,10-Q",
    "filling_date_start": "2025-01-01",
    "filling_date_end": "2025-01-31",
    "page_number": 1
  },
  "id": "my-tracking-id-001"
}

The request above is proxied to:

GET /v1/filings?ticker=AAPL&form_type=10-K,10-Q&filling_date_start=2025-01-01&filling_date_end=2025-01-31&page_number=1

API Design Mapping

The proxy follows the REST structure of the SEC Filings API, including:

  • Filings search: v1/filings
  • Full text search: v1/full-text
  • Extractor endpoints: v1/extractor and v1/extractor/item
  • XBRL conversion: v1/xbrl-converter
  • File download: v1/download

Examples

Query filing metadata

Request

https://api.sec.finfeedapi.com/jsonrpc?apikey=YOUR-API-KEY

{
  "jsonrpc": "2.0",
  "method": "v1/filings",
  "params": {
    "ticker": "AAPL",
    "form_type": "10-K,10-Q",
    "filling_date_start": "2025-01-01",
    "filling_date_end": "2025-01-31",
    "page_number": 1
  },
  "id": "my-tracking-id-001"
}

Proxied REST request:

GET /v1/filings?ticker=AAPL&form_type=10-K,10-Q&filling_date_start=2025-01-01&filling_date_end=2025-01-31&page_number=1

Extract filing content

Request

https://api.sec.finfeedapi.com/jsonrpc?apikey=YOUR-API-KEY

{
  "jsonrpc": "2.0",
  "method": "v1/extractor",
  "params": {
    "accession_number": "0001564590-21-004599",
    "type": "text"
  },
  "id": "my-tracking-id-001"
}

Proxied REST request:

GET /v1/extractor?accession_number=0001564590-21-004599&type=text

Convert XBRL to JSON

Request

https://api.sec.finfeedapi.com/jsonrpc?apikey=YOUR-API-KEY

{
  "jsonrpc": "2.0",
  "method": "v1/xbrl-converter",
  "params": {
    "accession-no": "0001564590-21-004599"
  },
  "id": "my-tracking-id-001"
}

Proxied REST request:

GET /v1/xbrl-converter?accession-no=0001564590-21-004599

Responses and Errors

Successful JSON-RPC responses return the underlying REST payload in the result field. If the proxied REST request fails, the error is returned as a JSON-RPC error object.

Service StatusGitHub SDK