cd../blog
published:Dec 13, 2025
read_time:5 min

Introducing the Earnings Feed API: Real-Time SEC Data for Developers

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

SEC APIEDGAR APISEC filings APIinsider trading API13F API

We just shipped something we'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 with SEC Data

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.

We built Earnings Feed to solve this for ourselves. Now we're 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.

Real-Time, Not 15-Minute Delay

This matters if you're trading on SEC filings.

Most data providers poll EDGAR every 15 minutes. By the time you see an 8-K filing about a major acquisition, the move has already happened.

We poll continuously. Filings appear in the API within seconds of SEC acceptance. Your algorithms see them the moment they're public.

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

We shipped official client libraries for the two languages most of our 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

We wanted to make this accessible without requiring enterprise contracts.

Tier Rate Limit Price
Free 15 req/min $0
Pro 60 req/min $15/mo (or $120/year)
Trader 300 req/min $75/mo (or $600/year)

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, real-time 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, all endpoints, forever. No trial period, no credit card. We want you to build something before you pay anything.

How real-time is real-time?

Sub-second from SEC acceptance to API availability. We poll EDGAR continuously, not on a timer.

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 us. We can discuss custom arrangements for high-volume use cases.


What's Next

This is v1. We're actively building:

  • Webhooks for real-time push notifications
  • More endpoints (proxy statement data, registration filings)
  • Enhanced filtering and search capabilities

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


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