Free
$0
1,000 requests/month
30 requests/minute
Up to 100 rows/page
Start freeEvery plan uses the same SEC endpoints, provenance fields, and shared account API key. Paid plans increase request capacity; they do not hide core data behind a second contract.
$0
1,000 requests/month
30 requests/minute
Up to 100 rows/page
Start free$49/month
25,000 requests/month
120 requests/minute
Up to 100 rows/page
Choose Developer$199/month
250,000 requests/month
600 requests/minute
Up to 100 rows/page
Choose BusinessUpgrade, downgrade, payment methods, and cancellation are managed through the shared Grizzly Bulls account. Usage already consumed in the current UTC month carries across plan changes.
SEC.gov remains the upstream authority. Grizzly Bulls maintains the acquisition, retention, parsing, normalization, temporal, and API layers that production applications otherwise have to build themselves. Customer requests are served from retained or reviewed state and never trigger a request to SEC.gov.
Structured financials support historical asOf reads. Reported facts keep filing, period, source-concept, revision, and conservative availability context so a later restatement does not silently become an earlier fact.
Filing metadata, extracted sections, financial facts, ownership records, and 13F rows preserve the source identity needed to audit where a returned value came from.
Compare two explicit filings at section level instead of downloading both documents and rebuilding the diff. Amendments remain separate accessions unless a reviewed contract says otherwise.
Observed SEC filer labels, canonical companies, legal securities, market instruments, reporting people, and institutions are not silently treated as interchangeable.
/filingsSearch retained filing metadata by form, observed CIK, and filing date.
/filings/{accessionNumber}Retrieve one exact retained filing record.
/filings/{accessionNumber}/sectionsList extracted 10-K, 10-Q, or 8-K sections and observed 8-K item codes.
/filings/{accessionNumber}/sections/{sectionKey}Read one precomputed filing section.
/filing-diffCompare extracted sections across two explicit same-family filings.
/companies/{cik}/financialsRead canonical reported and derived financial facts, including historical as-of views.
/companies/{cik}/ownershipRead the commercially admitted current ownership subset.
/filings/{accessionNumber}/institutional-holdingsRead one source-faithful retained 13F information table.
The OpenAPI document is the machine-readable authority for request and response schemas. Inspect the OpenAPI 3.1 contract →
Authorization: Bearer header.curl --fail-with-body -H "Authorization: Bearer $GRIZZLY_BULLS_API_KEY" "https://grizzlybulls.com/api/v1/sec/filings?form=10-K&limit=3"const response = await fetch(
"https://grizzlybulls.com/api/v1/sec/filings?form=10-K&limit=3",
{ headers: { Authorization: "Bearer " + process.env.GRIZZLY_BULLS_API_KEY } },
);
if (!response.ok) throw new Error("SEC API request failed: " + response.status);
const payload = await response.json();
console.log(payload.data.filings);import json
import os
import urllib.request
request = urllib.request.Request(
"https://grizzlybulls.com/api/v1/sec/filings?form=10-K&limit=3",
headers={"Authorization": f"Bearer {os.environ['GRIZZLY_BULLS_API_KEY']}"},
)
with urllib.request.urlopen(request) as response:
payload = json.load(response)
print(payload["data"]["filings"])Paste the shared API key from your account and run any GET path from the OpenAPI contract. The explorer keeps the key only in component memory and never includes the key or request path in analytics events.
curl --fail-with-body -H "Authorization: Bearer $GRIZZLY_BULLS_API_KEY" "https://grizzlybulls.com/api/v1/sec/companies/CIK/financials?period=annual&asOf=2026-01-15T00%3A00%3A00.000Z&limit=25"curl --fail-with-body -H "Authorization: Bearer $GRIZZLY_BULLS_API_KEY" "https://grizzlybulls.com/api/v1/sec/filings/ACCESSION_NUMBER/institutional-holdings?limit=100&offset=0"curl --fail-with-body -H "Authorization: Bearer $GRIZZLY_BULLS_API_KEY" "https://grizzlybulls.com/api/v1/sec/filing-diff?from=ACCESSION_NUMBER&to=ACCESSION_NUMBER"Developer and Business cover ordinary self-service production use. Contact us for bulk delivery, redistribution, custom history, larger-volume, or contract-specific workflows.