Skip to content
/api/v1/stats

Get database and ingestion statistics.

Get database and ingestion statistics.

Why use this

Lightweight platform-level metrics endpoint — total filings tracked, total endpoints documented, total tickers in the catalog, last-ingestion timestamp. EXEMPT (`cost: 0`). The cheapest 'is FinRadar alive AND has fresh data?' probe — pair with [GET /api/v1/status](/docs/resources/system-status/get-status) for service-level health rollups and [GET /api/v1/facts](/docs/home/main-api/get-facts) for the per-form-type 90-day breakdown. Designed to be safe to poll at 60-second cadence from dashboard widgets without affecting plan budget.

Common use case

Dashboard widget showing total platform metrics (X filings tracked across Y companies, last ingested Z minutes ago). Also useful as a marketing-page counter ('FinRadar tracks 2.4M+ SEC filings across 26K+ securities') and for client-side staleness detection ('last ingestion was 47 minutes ago — show a warning').

Lightweight platform-level metrics endpoint — total filings tracked, total endpoints documented, total tickers in the catalog, last-ingestion timestamp. EXEMPT (cost: 0) so it's safe to poll at 60-second cadence from dashboard widgets without affecting plan budget. The cheapest 'is FinRadar alive AND has fresh data?' probe — pair with GET /api/v1/status for service-level health rollups (covers each container's up/down state) and GET /api/v1/facts for the per-form-type 90-day breakdown (10x more detailed but cost: 10). The last_filing_at field should be < 60s old during ET market hours — values older than ~10 minutes outside the SEC quiet-window (10pm-6am ET) suggest an ingestion-pipeline issue. The last_13f_quarter field is updated within ~1h of the SEC's 45-day-after-quarter-end filing deadline; useful for rendering 'as of Q1 2026' headers on holdings drill-downs.

Response schema

FieldTypeNullableDescription
total_filingsintegernoCumulative count of SEC filings successfully accepted and persisted to the `filings` table. Covers Forms 3/4/5, 13F-HR/NT, 13D/G, 8-K, 10-K/Q, S-1, 20-F, and ~340 other root form types. Increments roughly +5K/day off-season and +50K/day during 13F deadline windows.
total_insidersintegernoDistinct count of Section 16 insider entities (officers, directors, 10%+ owners) in the `insiders` table. Typically ~85K-100K active insiders.
total_holdings_13fintegernoTotal row count in the `form_13f_holdings` table — every (filer, issuer, period) row across all 13F filings. Typical magnitude: ~300M-400M rows across the full historical window.
total_tickersintegernoDistinct ticker count in the canonical catalog. Typical: ~26K post v3.11.0 catalog expansion (was ~7,968 prior).
total_endpoints_documentedintegernoCount of distinct endpoints documented in apiDocs.js — the value surfaced on the docs page as 'X endpoints documented'. v5.0 milestone target: 156+ endpoints.
last_filing_atstringnoISO 8601 UTC timestamp of the most-recent successfully-ingested filing. Lag should be < 60s during ET market hours; values older than ~10 minutes outside the SEC's overnight quiet-window (10pm-6am ET) indicate an ingestion-pipeline alert.
last_13f_quarterstringnoMost-recent calendar quarter-end (`YYYY-MM-DD`) for which 13F-HR filings have been processed. Updated within ~1h of the SEC's 45-day-after-quarter-end filing deadline. Use to surface 'as of Q1 2026' on holdings drill-downs.
request_idstringnoServer-generated request identifier for distributed-tracing / support-ticket attribution.
timestampstringnoISO 8601 UTC timestamp of the response generation.

Sample response

·
  • "total_filings": 2420187
  • "total_insiders": 92418
  • "total_holdings_13f": 348290612
  • "total_tickers": 26080
  • "total_endpoints_documented": 156
  • "last_filing_at": "2026-05-02T20:14:32Z"
  • "last_13f_quarter": "2025-12-31"
  • "request_id": "req_5pQ9LmN8K2vXwY3z"
  • "timestamp": "2026-05-02T20:15:00Z"
}

Errors

StatusLabelDescription
200OKRequest succeeded.
400Bad RequestInvalid query, body, or path parameter.
401UnauthorizedMissing or invalid Authorization header / api_Token.
402Payment RequiredInsufficient token balance for this call. Top up
429Too Many RequestsRate limit exceeded for your tier (see /pricing for tier limits). Tier limits
500Server ErrorUnexpected server-side failure. Retry with backoff; report if persistent.

Code samples

curl "https://api.finradar.ai/api/v1/stats" \
  -H "Authorization: Bearer YOUR_JWT_TOKEN"

Generate an API key in /account/credentials to run live queries (literal YOUR_API_KEY placeholder shown until then).