🔗 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.
methodis the REST path, for examplev1/filingsorv1/extractorparamsis 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:
| Environment | Encryption | Value |
|---|---|---|
| Production | Yes | https://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=1API 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/extractorandv1/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=1Extract 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=textConvert 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-004599Responses 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.
