edgartools vs SecFeed API: Python Library or Hosted API?
edgartools is a free, excellent open source Python library that reads EDGAR for you. SecFeed is a hosted API over filings already parsed. When each one fits, honestly.
If you write Python and study a handful of companies, try edgartools first. It is free, actively maintained and covers a lot of ground. SecFeed is for the jobs where a local library runs out of road.
The short answer
- Choose edgartools for research on specific companies in Python: pull a 10-K, read a section, get standardized financials, look at one fund's 13F. It costs nothing.
- Choose SecFeed for questions across every company at once (all insider buys this week, every holder of a stock), for apps and dashboards that need an HTTP API, for code that is not Python, or for live alerts on new filings.
At a glance
| edgartools | SecFeed API | |
|---|---|---|
| Price | Free, MIT license | Free 125 calls, then $19 or $79 a month |
| What it is | Python library, runs on your machine | Hosted HTTP API |
| Where the data comes from | Fetched live from SEC EDGAR on each request | Parsed ahead of time from EDGAR, 27 million filings |
| Speed limit | SEC limit of 10 requests per second, per user | Monthly call quota per plan |
| Insider trades, 13F, 13D/13G, 8-K, 10-K items | Parsed, one filing at a time | Parsed and indexed across all filings |
| Screens across every company | You crawl and parse the filings first | One call |
| Standardized XBRL financials | Yes, including derived Q4 and trailing twelve months | Statements per filing as filed |
| Full text search | Yes, through the SEC search service | Yes, since 2001 |
| New filings as they arrive | Poll yourself | Stream and webhooks |
| Languages | Python | Any (HTTP), plus Python and Node SDKs |
| MCP server | Local, plus a hosted service | Hosted |
| Maintenance | Open source, releases about weekly in 2026 | Run by SecFeed |
Where edgartools is better
- Price. Free, and the license allows commercial use.
- Breadth inside one filing. It parses many forms in detail and standardizes XBRL statements across companies, including derived fourth quarters and trailing twelve months. For financial analysis of individual companies it is very good.
- Control. Your code, your machine, your cache. Nothing depends on a vendor staying in business.
Where SecFeed is better
- Market wide questions. "Every open market insider purchase over $100,000 this month" or "every 13F holder of this CUSIP" needs every relevant filing parsed. With a library you crawl and parse thousands to millions of filings first, at 10 requests per second. SecFeed has done that already.
- Any language, any app. A web app, a Google Sheet, a Node service or an AI agent can call SecFeed over HTTP. No Python process to host.
- Live delivery. New filings arrive over a stream or webhooks, so you do not need a polling job.
The same task both ways
Find the largest 13F holders of a stock for a quarter.
With a library, you list every 13F filed for that quarter (thousands of managers), download each information table, keep the rows for the CUSIP and sort them. That is a long crawl under the SEC rate limit.
With SecFeed:
import os, requests
r = requests.get("https://secfeedapi.com/v1/form-13f/holdings",
params={"cusip": "67066G104", "period": "06-30-2026", "size": 100},
headers={"Authorization": f"Bearer {os.environ['SECFEED_KEY']}"}, timeout=60)
print(r.json())
Use both
They fit together well. Many people screen the market with SecFeed, then open the few filings that matter with edgartools for a deep read. Every SecFeed row carries the accession number, so moving between the two is easy.
See also: download SEC filings with Python and 13F holders by CUSIP.
Facts about edgartools were taken from its public website and docs on 2026-10-22. Plans and prices change, so check their site before you decide. edgartools is a trademark of its owner; SecFeed is not affiliated with, endorsed by or sponsored by it. Spotted something wrong or out of date? Email support@secfeedapi.com and we will fix it.