API Documentation

Query API

Insider Transactions API

Form D API

Download and PDF Generator API

XBRL to JSON Converter API

Mapping API

Form 3, 4, 5 Parse API

SRO Filings Database

Query API

Empower your searches across the extensive collection of 18+ million filings and exhibits on SEC EDGAR since 1993 using the Query API. This API accommodates both simple and complex filter expressions, returning filings in JSON format with comprehensive metadata, filer information, filing attachments, original SEC source URLs, and more. The API offers over 20 search parameters, including filer ticker symbols, CIKs and more.

Common use cases involve:

  • Submitting recently filed exhibits to regulatory authorities
  • Powering internal insight analytics platforms
  • Backtesting quantitative investment strategies

Newly published filings are indexed within an average of 200 milliseconds. The Query API accepts POST requests and delivers results in JSON format.Sandbox Link here

Dataset Size: All filings on SEC EDGAR filed since 1993.

Data Update Frequency: Less than 300 milliseconds.

API Endpoint

https://api.secfilingdata.com/v1/filings/query

Supported HTTP methods: POST

Request and response content type: JSON

Authentication

Utilize your API key in the following way: 1. Set as Authorization Header: Before initiating a POST request to `https://api.secfilingdata.com`, ensure you set the Authorization header to `YOUR_API_KEY`.

Response Format

filings (array): - The array holding all filings matching your filter criteria. Each filing has the following format:

  • "accessionNo" (string): Accession number of the filing, e.g., 0000028917-20-000033.
  • "cik" (string): CIK of the filing issuer. Important: trailing zeros are removed.
  • "ticker" (string): Ticker of the company, e.g., AMOT. Ticker is not available for non-publicly traded companies reporting filings (e.g., form 4 reported by directors).
  • "companyName" (string): Name of the company, e.g., Allied Motion Technologies Inc.
  • "formType" (string): sec.gov form type, e.g., 10-K. Supports all 150+ form types, including SEC correspondences.
  • "linkToHtml" (string): Link to the index page of the filing listing all exhibits and the original HTML file.
  • "linkToXbrl" (string, optional): Link to XBRL version of the filing (if available).
  • "filedAt" (string): Represents the Accepted attribute in a filing and shows the date and time. A filing also contains a Filing Date attribute that only shows the date. The Accepted and Filing Date attributes do not have to represent the same date. Format: YYYY-MM-DD HH:mm:SS TZ, e.g., 2019-12-06T14:41:26-05:00.

For more detailed information, refer to the documentation here

Request Parameters

To retrieve filings matching your search query from the API, initiate a HTTP POST request with a JSON formatted payload (request body). The payload is an object and must always include the `query` object, containing your `query_string`. We utilize ElasticSearch (ES) as the database, and you can leverage all common ES query types. Let's delve into the structure of the payload.

query (object): - Your filter (or search) criteria reside in this object. The `query` should always contain a `query_string` object with your query definition. If you are familiar with ES, you can replace the `query_string` object with any other query type. You can filter by parameters available in the response format. Explore some examples:

  • `cik` (string) - Remove trailing 0s in front of the CIK. For example, transform 0000320193 to 320193.
  • `ticker` (string) - Upper or lowercase ticker of the filing company, e.g., AAPL.
  • `companyName` (string) - The name of the filer. Fuzzy matching is supported. Providing only parts of the company name (e.g., "Apple" instead of "Apple Inc") returns results if matches exist.
  • `formType` (string) - All formTypes listed can be queried.
  • `filedAt` (string) - Can be a date range or a single date. For example: `filedAt:[2016-01-01 TO 2016-12-31]`..
from (string):

Set the `from` property to the starting position of your query. `from` is used to paginate through results. For example, set `from` to 10 if you want to ignore the first 10 filings.

size (string):

Number of filings returned per request. For example, set `size` to 10 to return 10 filings per request. Maximum: 50. Default: 50.

sort (array):

Array of objects describing how to order the returned filings.

For more detailed information, refer to the documentation here