EdgarKit vs SEC EDGAR direct

SEC EDGAR is free and authoritative, but it ships raw XML and HTML behind rate limits. EdgarKit polls EDGAR for you, returns normalized JSON, and pushes new filings via webhook. Here's when to pick each.

The honest comparison

Pulling from SEC EDGAR directly is the right call when:

  • You only need historical bulk data, not real-time.
  • You have one engineer-week to write parsers for the form types you care about.
  • Your traffic patterns fit comfortably under EDGAR's 10 request-per-second limit.
  • You're fine with stale daily indexes for non-real-time use cases.

EdgarKit is the right call when:

  • You need filings within seconds of SEC acceptance, not hours.
  • You want JSON, not XML or HTML, with CUSIPs already mapped to tickers.
  • You'd rather not run an EDGAR poller, deduplicator, parser, and storage layer yourself.
  • You want webhooks instead of polling.
  • You're building a product where infrastructure isn't the differentiator.

Feature-by-feature

| | SEC EDGAR (direct) | EdgarKit | |---|---|---| | Cost | Free | Free tier + $19/$79 paid | | Filing latency | Seconds (RSS) to hours (daily index) | ~30 seconds from SEC acceptance | | Output format | XML, HTML, SGML (pre-2008) | Normalized JSON | | Rate limit | 10 req/sec per IP | 10/60/300 req/min by tier | | CUSIP to ticker | Not included | Built in | | Webhooks | None | Yes (paid tiers) | | Real-time push | None (you poll) | Yes | | Schema stability | Has shifted (2008, 2013, 2022, 2023) | Stable, versioned API | | Support | None | Email/priority on paid tiers | | Auth required | User-Agent header only | API key |

The hidden cost of "free"

Free is the SEC's biggest selling point and EDGAR's biggest trap. Direct integration looks cheap until you discover:

  • Schema changes break parsers. The Form 4 XML schema, the 13F XML schema, and the 8-K HTML structure have all changed multiple times. Each change is silent. Each one breaks production until you notice.
  • Rate limits are stricter than published. The published cap is 10 requests per second per IP. In practice the SEC throttles aggressive crawlers, and you can't get whitelisted easily.
  • The daily index is a trap. EDGAR publishes a daily filings index, but it's published once per day. If you build on it, you're permanently 12-24 hours behind the market. The EFTS realtime feed exists but is undocumented and changes without notice.
  • Storage is your problem. Every filing you fetch you have to store. The cumulative load on a small project is gigabytes per month for 13F filings alone.
  • Deduplication. Same filing can appear in multiple feeds (RSS, EFTS, daily index, full-text search). You need a stable accession-number-based dedup layer.
  • Amendments. When an insider amends a Form 4, you need to know which previous filing it supersedes. EDGAR doesn't link them; you have to resolve it from filing metadata.

Many teams build all of this themselves. It works but takes 2-4 engineer-weeks plus ongoing maintenance.

When EDGAR direct is actually the right answer

  • Research backtests on historical data. Pull the daily index for the date range you need, parse offline, no real-time pressure.
  • One-off analyses. Need a specific 10-K from 2019? Just fetch it. No reason to add an API.
  • Volume so high a paid tier doesn't fit. If you're hitting millions of filings per day, build your own pipeline.
  • Regulatory requirements that mandate the original source. Some compliance use cases require you read the SEC's own copy of the filing.

When EdgarKit is the better choice

  • Real-time alerts. Form 4 insider buys, 8-K material events, S-1 IPO registrations within seconds.
  • Building a product where SEC integration isn't your differentiator. You sell the analysis, the alerts, or the dashboard. Pay $19/mo to skip the plumbing.
  • AI agents and LLMs. Structured JSON is dramatically easier for LLMs to handle than raw EDGAR HTML. EdgarKit's responses fit cleanly into tool-call schemas.
  • Webhooks. You can't get push notifications from EDGAR. EdgarKit's paid tiers include them.

A concrete example

Fetching the most recent Form 4 for Nvidia (NVDA), directly from EDGAR:

# Step 1: Look up NVDA's CIK
curl -A "your-app contact@example.com" \
  "https://www.sec.gov/cgi-bin/browse-edgar?action=getcompany&CIK=NVDA&type=4&dateb=&owner=include&count=40&action=getcompany" \
  | grep -oE 'CIK=[0-9]+' | head -1
# Returns: CIK=0001045810

# Step 2: Get the filings index
curl -A "your-app contact@example.com" \
  "https://www.sec.gov/cgi-bin/browse-edgar?action=getcompany&CIK=0001045810&type=4&dateb=&owner=include&count=10&action=getcompany"
# Returns HTML you have to parse

# Step 3: Fetch the actual Form 4 XML for the most recent accession number
curl -A "your-app contact@example.com" \
  "https://www.sec.gov/Archives/edgar/data/1045810/000112760226019543/form4.xml"
# Returns XML you have to parse

The same query through EdgarKit:

curl "https://api.edgarkit.com/v1/filings?form_type=4&ticker=NVDA&limit=1" \
  -H "Authorization: Bearer YOUR_API_KEY"
# Returns parsed JSON with transaction details, CUSIP, ticker, all fields ready to use

Migration path

You can use both. Most teams that adopt EdgarKit keep EDGAR direct access for:

  • Audit trail (the "official" copy of the filing).
  • Backfilling historical data outside EdgarKit's archive window.
  • Edge cases where you need a raw exhibit document EdgarKit hasn't surfaced through the API.

The API key is on a per-key basis, so you can start free, run side-by-side with your existing EDGAR scraper, and switch over endpoints as you build confidence.

FAQ

Is EdgarKit's data the same as SEC EDGAR's?

Yes. EdgarKit fetches every filing from SEC EDGAR and indexes it. The data is the same source of truth, just delivered as normalized JSON with sub-minute latency.

Can I use EdgarKit for high-volume backfills?

For one-time backfills of historical data, EDGAR direct is usually a better fit since the bandwidth is free. EdgarKit's paid tiers include high-volume access but it's not optimized for one-shot historical dumps.

What happens to EdgarKit if SEC EDGAR changes its format?

EdgarKit's ingestion layer adapts as needed. Customers see the same JSON shape across schema versions. The 2022 Form 4 XML revision and the 2023 cybersecurity disclosure addition were handled transparently.

Does EdgarKit have rate limits?

Yes. Free tier is 10 requests per minute, Basic is 60, Pro is 300. Rate limits are per API key and reset every minute. Bursts above the limit are queued briefly before being rejected with a 429.

Can I see the raw SEC document through EdgarKit?

Yes. Every filing response includes a source_url field pointing to the original document on SEC.gov, plus accession number, CIK, and filing metadata, so you can verify against the source.