Skip to content

Blog

Introducing the Earnings Feed API: SEC Data for Developers

I shipped a public API for SEC filings, insider transactions, and institutional holdings. Here's what you can build with it.

Published Updated 5 min readBy

  • SEC API
  • EDGAR API
  • SEC filings API
  • insider trading API
  • 13F API

I just shipped something I've been working on for a while: a public API for Earnings Feed.

If you're building trading algorithms, research platforms, or fintech tools that need SEC data, this is for you.

The Problem I Was Trying to Solve

SEC EDGAR is a treasure trove of financial data. Every public company files there. Every insider trade. Every hedge fund's quarterly holdings. It's all public, it's all free, and it's all... painful to work with.

The raw EDGAR feed gives you XML and SGML files from the 90s. Parsing them is a weekend project that turns into a month. Most commercial alternatives charge enterprise prices and still deliver data with 15-minute delays.

I built Earnings Feed to solve this for myself. Now I'm opening it up.

What's in the API

Six endpoints covering the full spectrum of SEC filings:

Endpoint Description
GET /api/v1/filings Paginated feed of SEC filings (10-K, 10-Q, 8-K, Forms 3/4/5, 13F, etc.)
GET /api/v1/filings/{accession} Single filing detail by accession number
GET /api/v1/insider/transactions Insider trading transactions from Forms 3, 4, and 5
GET /api/v1/institutional/holdings 13F institutional holdings
GET /api/v1/companies/{cik} Company profile by CIK
GET /api/v1/companies/search Search companies by name or ticker

Every endpoint returns clean JSON. Cursor-based pagination. Clear rate limit headers. No surprises.

How fast is it?

This matters if you're trading on SEC filings.

We check EDGAR every minute. Half of filings appear within two minutes of SEC acceptance, and 9 in 10 within five (median 114 seconds, Sep 24-30, 2026). The API serves the same filings as the feed, and you can poll it as often as your plan's rate limit allows.

Code Examples

Here's how to fetch the latest filings for Apple:

const response = await fetch("https://earningsfeed.com/api/v1/filings?ticker=AAPL&limit=10", {
  headers: {
    Authorization: "Bearer YOUR_API_KEY",
  },
});

const { items, nextCursor, hasMore } = await response.json();

Each filing includes the company details, form type, filing date, document URLs, and direct links to the source on EDGAR.

Track Insider Buying

Want to know when executives are buying their own stock? Form 4 transactions are parsed and normalized:

import requests

response = requests.get(
    "https://earningsfeed.com/api/v1/insider/transactions",
    headers={"Authorization": f"Bearer {API_KEY}"},
    params={
        "direction": "buy",
        "minValue": 100000,  # $100k+ purchases
        "limit": 25
    }
)

for txn in response.json()["items"]:
    print(f"{txn['ownerName']} bought ${txn['value']:,} of {txn['ticker']}")

Monitor Institutional Holdings

Track what Berkshire Hathaway, Bridgewater, or any 13F filer is holding:

response = requests.get(
    "https://earningsfeed.com/api/v1/institutional/holdings",
    headers={"Authorization": f"Bearer {API_KEY}"},
    params={"managerCik": 1067983, "limit": 50}  # Berkshire Hathaway
)

for holding in response.json()["items"]:
    print(f"{holding['issuerName']}: ${holding['value']:,}")

Official SDKs

I shipped official client libraries for the two languages most users work in:

Both are fully typed, well-documented, and open source. The raw REST API works fine too if you prefer to roll your own.

Pricing

I wanted to make this accessible without requiring enterprise contracts.

Tier Rate Limit Monthly Requests Price
Free 15 req/min 5,000 $0
Pro 60 req/min 250,000 $15/mo (or $120/year)
Trader 300 req/min 2,000,000 $75/mo (or $600/year)

Tier-specific minute limits apply to API-key and MCP requests. Interactive documentation tokens retain a fixed 10 requests/minute limit. Monthly usage is account-wide across API keys, interactive documentation, and MCP. Every tier's monthly limit is a hard cap that resets at the start of the next UTC calendar month.

The free tier is real. Full API access, all endpoints, no credit card required. It's enough to build a side project or evaluate whether this works for your use case.

Pro is for production apps. Trader is for high-frequency use cases: trading bots, dashboards, anything that needs to poll aggressively.

What You Can Build

Some ideas:

  • Trading signals: React to 8-K filings the moment they hit. Material events, earnings surprises, leadership changes.
  • Insider activity alerts: Get notified when executives buy significant amounts of their own stock.
  • Institutional flow tracking: See what hedge funds are accumulating before it becomes news.
  • Research platforms: Build tools that let analysts search and filter SEC filings without touching EDGAR directly.
  • Due diligence automation: Pull company profiles, filing history, and ownership data programmatically.

OpenAPI Spec

The full OpenAPI 3.1 specification is available at /api/v1/openapi.json. Import it into Postman, generate typed clients, or explore the API interactively at earningsfeed.com/api/docs.

Getting Started

  1. Sign up at earningsfeed.com
  2. Generate an API key from your dashboard
  3. Make your first request

That's it. No sales calls, no contracts, no waiting.


FAQ

Is the free tier actually free?

Yes. 15 requests per minute and 5,000 requests per UTC month, with all endpoints. No trial period, no credit card. I want you to build something before you pay anything.

How fast is the data?

We check EDGAR every minute. Half of filings appear within two minutes of SEC acceptance, and 9 in 10 within five (median 114 seconds, Sep 24-30, 2026).

What about historical data?

The API returns historical filings. You can filter by date range and paginate through years of data.

Can I use this for commercial applications?

Absolutely. The API is designed for production use. Pick the tier that matches your rate limit needs.

What if I need higher rate limits?

Contact me. I can discuss custom arrangements for high-volume use cases.


What's Next

This is v1. I'm actively building:

  • Webhooks for filing notifications
  • More endpoints (proxy statement data, registration filings)
  • More filtering and search options

If you build something with the API, I'd love to hear about it.


Get started at earningsfeed.com/api. Free tier available.

Continue researching

Related research