A Dark Vector Cognition product
Pricing

SEC filings API. Monthly plans from $19.

Read filings free. Subscribe for a daily API allowance and sections as JSON or Markdown, with filing tables as CSV. Plans renew monthly at a fixed price. Calls above your daily allowance are refused; there are no automatic overage charges.

Try an API request first, or choose a monthly plan below. No SEC filing submission service.

Reading on this site
Free
Unlimited, no account. Downloading a filing's tables as CSV comes with any plan.
The API without a key
Free
25 calls a day for each IP address, resetting at 00:00 UTC.
Free key
Free
200 calls a day with an API key, for your email. No card, no account.
Starter
$19 a month
10,000 calls a day with an API key and every filing's tables as a CSV download on the site.
Pro
$49 a month
50,000 calls a day with an API key, including bulk facts with ?all=1, and every filing's tables as a CSV download on the site.
Business
$199 a month
250,000 calls a day with an API key, including bulk facts with ?all=1, and every filing's tables as a CSV download on the site.

Pay with Apple Pay, Google Pay, Link or a card. Apple Pay appears in Safari and on iPhone, Google Pay in Chrome.

Subscribing means you agree to the terms. Cancel any time; your key works until the end of the period you paid for.

The site is served over HTTPS. You pay on Stripe's hosted checkout page, so your card details go to Stripe rather than to us. Your API key is shown once, on the page Stripe returns you to.

Try the workflow with a free key

# Replace YOUR_KEY with your free API key
# 1. The latest 10-K
ID=$(curl -s -H "x-api-key: YOUR_KEY" "https://filings.tools/api/v1/filings?ticker=NVDA&form=10-K&limit=1" | jq -r '.filings[0].id')

# 2. Its risk factors, as markdown
curl -s -H "x-api-key: YOUR_KEY" "https://filings.tools/api/v1/filings/$ID/sections?section=item-1a&format=md"

# 3. What changed in them since the prior year
curl -s -H "x-api-key: YOUR_KEY" "https://filings.tools/api/v1/filings/$ID/diff" | jq '.sections[] | select(.id == "item-1a") | .added[:5]'

That is 3 of the 200 calls a day with a free key for your email; run that across a watchlist of 70 companies and you reach the limit, and a plan lifts it.

Already subscribed

Update your card, download invoices or cancel in Stripe's customer portal. Paste your API key to open it. Cancelling stops the next renewal, and your key keeps working until the period you paid for ends.

Lost your key? Request a new one. From a terminal, the same portal link comes from curl -si -X POST https://filings.tools/api/billing/portal -H "x-api-key: $FILINGS_KEY".