TransWikia.com

Open API for SEC data?

Open Data Asked on January 4, 2022

Is there any free API for programmatically grabbing SEC filing data, such as company financials or insider trading? It seems ironic that the EDGAR search gives you information in a nice tabular form, but there isn’t any obvious way to get the raw data in those tables, or restrict by date, etc. For instance, here I can see recent insider trades for GE, but I have to click “Next 80” to see more. I’d like a REST API where I just submit a request to say something like “give me all form 4 filings for GE between dates X and Y”. Does such a thing exist?

12 Answers

US Treasury has a Gitub repo that could help. Realize the is a very old post, but it came up on Google for a related issue.

https://github.com/US-Department-of-the-Treasury/insiderTrades

Answered by Rob Miles on January 4, 2022

You can also use SEC EDGAR Viewer.

You get all SEC Filings in real-time. Analyze and download filing documents.

Answered by Damil4real on January 4, 2022

UPDATE: this page no longer exists.

You can get use SEC Filings API. They have a nice RESTful API which you can retrieve and filter SEC filings data. It covers all form types of all publicly listed companies and mutual funds.

Answered by Jack Rener on January 4, 2022

sec-api (https://sec-api.io) provides an API to search filings on SEC EDGAR by CIK, ticker, company name, form type and filings date.

Query API

give me all form 4 filings for GE between dates X and Y

The JSON query for your use case looks like this.

{
    "query": {
        "query_string": {
            "query": "cik:40545 AND filedAt:{2016-01-01 TO 2016-12-31} AND formType:"4""
        }
    },
    "from": "0",
    "size": "10",
    "sort": [
        {
            "filedAt": {
                "order": "desc"
            }
        }
    ]
}

A POST request to https://api.sec-api.io results in

{
    "total": 99,
    "filings": [
        {
            "cik": "40545",
            "ticker": "GE",
            "companyName": "GENERAL ELECTRIC CO",
            "formType": "4",
            "filedAt": "2016-12-23",
            "linkToTxt": "https://www.sec.gov/Archives/edgar/data/40545/0000899243-16-036296.txt",
            "linkToHtml": "https://www.sec.gov/Archives/edgar/data/40545/0000899243-16-036296-index.htm",
            "id": "4d84ac66de5d4b9b201b3285e20694a5"
        },
        {
            "cik": "40545",
            "ticker": "GE",
            "companyName": "GENERAL ELECTRIC CO",
            "formType": "4",
            "filedAt": "2016-12-13",
            "linkToTxt": "https://www.sec.gov/Archives/edgar/data/40545/0001231205-16-000215.txt",
            "linkToHtml": "https://www.sec.gov/Archives/edgar/data/40545/0001231205-16-000215-index.htm",
            "id": "25159aadc0246a635b9a7f50dbbba2e8"
        },
        // cut for brevity
]

You can use the API sandbox here to test queries without an API key.

Streaming API

If you're looking for a real-time stream of filings you can use the streaming API (see here). It's a socket.io/websocket server. You can use Python and any socket.io/websocket library to connect to the streaming server. Server-side (eg Node.js) and client-side (eg React, React Native, Angular, Vue) JavaScript works as well.

The API returns new filings in JSON format, eg:

{
  companyName: 'WALT DISNEY CO/ (0001001039) (Issuer)',
  cik: '0001001039',
  ticker: 'DIS',
  type: '4',
  description: 'FORM 4',
  linkToFilingDetails: 'https://www.sec.gov/Archives/edgar/data/1001039/000100103918000235/0001001039-18-000235-index.htm',
  linkToHtmlAnnouncement: 'https://www.sec.gov/Archives/edgar/data/1001039/000100103918000235/xslF345X03/wf-form4_154544051056009.xml',
  linkToXbrl: 'https://www.sec.gov/Archives/edgar/data/1001039/000100103918000235/wf-form4_154544051056009.xml',
  announcedAt: '2018-12-21T20:02:07-05:00'
}

You can hook-up to the websocket channel, and ignore all filings where type doesn't equal '4'.

A Python example looks like this:

import socketio

sio = socketio.Client()

@sio.on('connect', namespace='/all-filings')
def on_connect():
    print("Connected to https://socket.sec-api.io/all-filings")

@sio.on('filing', namespace='/all-filings')
def on_filings(filing):
    print(filing)

sio.connect('https://socket.sec-api.io?apiKey=YOUR_API_KEY', namespaces=['/all-filings'])
sio.wait()

A free API key is available on sec-api.io

I developed the API a while ago to solve the same problem. Happy to extend the functionality to meet what you are looking for.

Answered by Jan on January 4, 2022

You can access SEC EDGAR filings (including Form 10-K, Form 13F, Form 4 and Form D), Fails to Deliver, Financial Statements, their FOIA log and Registered Brokers & Dealers via Enigma Public. They also have an open API that you are free to use with an account. It is free to sign up for an account and you can use their API to access all their data.

Answered by India on January 4, 2022

You can get all the form 4 related sec.gov data from edgarpulse.com, the site offers latest and unrestricted data using APIs. Check it out. This seems to be exactly what you are looking for. Checkout http://edgarpulse.com/api/overview.php

Answered by vkc on January 4, 2022

Insider Monitor publishes various insider trading activities reports with data scraped from the sec: Insider trading

Answered by user8395 on January 4, 2022

EDGAR has a FTP access:

You'll need the index file for ids, but then you can extract necessary information from raw files directly. Perhaps, you can ask parsers from the founder of http://rankandfiled.com/.

Answered by Anton Tarasenko on January 4, 2022

Update: (October 2017) Kimono Labs API no longer available

Kimono Labs released a free open API for current and recent SEC filings with financial statements and valuation, profitability, leverage and liquidity ratios. You can find it here: http://kimonolabs.com/sec/explorer

Answered by Chad on January 4, 2022

Dev.Last10K.com has a RESTful API for SEC filing data.

Disclaimer: I work for Last10K.com

Answered by HBCondo on January 4, 2022

You should take a look at Rank and Filed, a relatively new (Feb 2014) site about EDGAR filings, with lots of data export options.

Answered by Eric Mill on January 4, 2022

I don't know if the SEC has datasets for what you are looking for, but here is a link to the SEC's open datasets home page:

https://www.sec.gov/open/datasets.shtml

Below is a link and contacts to a university research paper (2012) on insider trading. You may want to consider contacting the researchers on where they got their data and methodologies on using the data.

http://papers.ssrn.com/sol3/papers.cfm?abstract_id=2192522

Abstract:
Hardly anything is known about how bond market participants react to insider stock trades. Our study attempts to fill this gap by analyzing the bond market reaction around insider transactions in U.S. firms during the period from 2002 to 2009. Our dataset covers 3,694 stock purchases and 9,033 stock sales by corporate insiders. In a first step we apply event study methodology in order to determine the cumulative abnormal bond price returns in a number of predetermined subperiods within an overall window from ten trading days before until twenty trading days after the publication date. We find that with few exemptions insider stock sales convey a negative signal to the bond market. Insider stock purchases, on the other hand, do not fundamentally influence corporate bond prices. In a second step we conduct a regression analysis in order to gain insight into the factors that influence the abnormal bond price returns. As explanatory variables we include the value of the insider trades, the firms’ leverage, their long-term debt ratings, as well as dummy variables for the insider’s position in the company, for trades related to an employee benefit plan, for the respective sector (financial vs. non-financial), and for the stock market phase in which the transactions take place. However, the overall evidence from the regression analysis is rather weak for both insider stock purchases and sales.

UPDATE: 10/6/2014
Here's a link to datasets (Excel spreadsheets) from a NYU professor whom has been keeping corporate finance data on major corporations in US, Canada, UK and Australia for 20 years.

http://pages.stern.nyu.edu/~adamodar/New_Home_Page/data.html

Answered by Andrew - OpenGeoCode on January 4, 2022

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP