Skip to main content

Scrape data from SEC's EDGAR

Project description

A small library to access files from SEC’s edgar.

Installation

pip install edgar

Example

To get a company’s latest 5 10-Ks, run

from edgar import Company
company = Company("Oracle Corp", "0001341439")
tree = company.getAllFilings(filingType = "10-K")
docs = edgar.getDocuments(tree, noOfDocuments=5)

or

from edgar import Company, TXTML

company = Company("INTERNATIONAL BUSINESS MACHINES CORP", "0000051143")
doc = company.get10K()
text = TXTML.parseFull10K(doc)

To get all companies and find a specific one, run

from edgar import Edgar
edgar = Edgar()
possible_companies = edgar.findCompanyName("Cisco System")

API

Company

The Company class has two fields:

  • name (company name)

  • cik (company CIK number)

getFilingsUrl

Returns a url to fetch filings data

  • Input

    • filingType: The type of document you want. i.e. 10-K, S-8, 8-K. If not specified, it’ll return all documents

    • priorTo: Time prior which documents are to be retrieved. If not specified, it’ll return all documents

    • ownership: defaults to include. Options are include, exclude, only.

    • noOfEntries: defaults to 100. Returns the number of entries to be returned. Maximum is 100.

getAllFilings

Returns the HTML in the form of lxml.html

  • Input

    • filingType: The type of document you want. i.e. 10-K, S-8, 8-K. If not specified, it’ll return all documents

    • priorTo: Time prior which documents are to be retrieved. If not specified, it’ll return all documents

    • ownership: defaults to include. Options are include, exclude, only.

    • noOfEntries: defaults to 100. Returns the number of entries to be returned. Maximum is 100.

Edgar

Gets all companies from EDGAR

getCikByCompanyName

  • Input

    • name: name of the company

getCompanyNameByCik

  • Input

    • cik: cik of the company

findCompanyName

  • Input

    • words: input words to search the company

getDocuments

Returns a list of strings, each string contains the body of the specified document from input

  • Input

    • tree: lxml.html form that is returned from Company.getAllFilings

    • noOfDocuments: number of document returned. If it is 1, the returned result is just one string, instead of a list of strings. Defaults to 1.

Release Notes

0.3.0

  • Added findCompanyName to Edgar

0.2.0

  • Added Edgar

0.1.0

  • First release

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

edgar-2.0.0.tar.gz (3.7 kB view hashes)

Uploaded Source

Built Distribution

edgar-2.0.0-py3-none-any.whl (4.6 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page