Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.secapi.ai/llms.txt

Use this file to discover all available pages before exploring further.

Competitive Benchmarks

OMNI Datastream is independently benchmarked against three peers — sec-api.io and financialdatasets.ai (hosted APIs) and edgartools (open-source Python library) — across core SEC data operations. All benchmarks are reproducible and run from the same network location against production endpoints.
Last updated: 2026-03-18 (vs sec-api.io and financialdatasets.ai); 2026-04-23 preliminary (vs edgartools, pending external methodology review — OMNI-3064). Methodology and reproduction scripts are in the benchmarks/ directory; see benchmarks/METHODOLOGY.md for the peer-reviewable methodology doc.

vs sec-api.io

OperationOMNI p50sec-api.io p50SpeedupOMNI tokenssec-api.io tokensToken savings
Entity resolve62ms231ms3.7x6810334%
Filing search64ms281ms4.4x12519837%
Section extract64ms348ms5.4x45072038%
XBRL-to-JSON61ms392ms6.4x31048536%
Overall: 18 wins, 0 losses, 2 ties.
Token estimates are based on payload size ÷ 4 (average characters per token). Smaller payloads mean fewer tokens consumed by AI agents, reducing cost and latency in agent workflows.

vs financialdatasets.ai

OperationOMNI p50FD.ai p50Speedup
Income statement57ms414ms7.3x
Balance sheet62ms292ms4.7x
Cash flow statement59ms339ms5.7x
Financial metrics57ms1,476ms25.9x

vs edgartools (preliminary)

Preliminary — pending external methodology review (OMNI-3064). Numbers below will be re-verified by an external SRE before the full comparison is linked from the docs sidebar. See benchmarks/METHODOLOGY.md.
edgartools is a well-designed, MIT-licensed Python library that talks directly to SEC EDGAR. Same four workflows, N=5 iterations, each iteration runs in a fresh subprocess with all caches cleared so every call is a truly cold SEC fetch:
OperationOMNI p50edgartools p50SpeedupOMNI wire bytesedgartools wire bytes
Entity resolve34ms471ms13.9x273164,686
Filing search38ms688ms18.1x1,033362,459
Section extract34ms3,081ms90.6x2,9543,053,868
XBRL → JSON34ms1,508ms44.3x1,5221,520,790
Wire bytes are measured at the HTTP transport layer for every comparand — including edgartools, where a monkey-patched httpx.Client.send sums real SEC bytes per logical case. This makes payload numbers directly comparable across hosted APIs and client-side libraries. edgartools fetches raw SEC documents client-side (e.g., ~3 MB of 10-K HTML to extract Item 1A text) — that’s an architectural choice behind its pip install, zero API key, SEC direct posture, not an inefficiency.
See Compare OMNI vs edgartools for the full feature matrix and positioning, including edgartools’ legitimate strengths (it’s free, MIT-licensed, and community-supported).

Why OMNI is faster

  1. Purpose-built for the SEC domain. Dedicated Postgres schema with filing-aware indexes, not a generic data warehouse.
  2. Edge-cached with tiered storage. Hot data served from Postgres + Typesense; historical data in R2 with Cloudflare CDN.
  3. Compact responses by default. Responses are shaped for AI consumption — no bloated wrappers, no redundant fields.
  4. Semantic search reduces round-trips. One hybrid search call returns relevant results that would require multiple keyword queries elsewhere.

Token efficiency for agents

A typical “company briefing” workflow requires:
ApproachAPI callsTokens consumed
sec-api.io (manual assembly)8-12 calls~3,500 tokens
OMNI intelligence bundle1 call~800 tokens
The intelligence bundle pre-computes what agents would otherwise assemble from multiple API calls, reducing both latency and token cost by 75%+.

FinanceBench canary-25 (datastream-api MCP regression-check)

Preliminary — datastream-api MCP regression-check, NOT the agent-chat-routed benchmark. Bridge-50 numbers below were produced by an eval harness that instantiates the Anthropic SDK directly and routes tool calls into datastream-api’s MCP surface. This validates the data layer. The agent-chat-routed full-stack benchmark (which exercises OMNI’s agent-chat WebSocket path end-to-end) is tracked separately under OMNI-3286 and dispatches as soon as PR #394 merges. See evals/financebench-canary-25/2026-04-25-iter5/REPORT.md for the full methodology + per-question breakdown.
FinanceBench (Patronus AI) is a 150-question benchmark over 10-K / 10-Q / 8-K filings that tests an AI system’s ability to answer real financial-analyst questions with citations to source documents.
GateTargetOMNI canary-25 (post-data-drift)Methodology
25-q canary (datastream-api MCP, judge-correct)≥23/25 (92%)18/25 (72%)Sonnet-4.5 + extended thinking (10k); reflection disabled; OMNI-3083 citations active
25-q canary (datastream-api MCP, rule-based)≥23/25 (92%)19/25 (76%)Same harness; structural API-correctness scoring
50-q bridge (regression vs 2026-04-02 baseline)≥86%(not run; held pending OMNI-3286)Same harness, expanded suite
What the 72% reflects: OMNI’s datastream-api MCP surface scored 18/25 judge-correct on canary-25 against current production data on 2026-04-25. Compared to the 2026-04-02 baseline (25/25 judge), the gap is dominated by production data drift — new 10-Q/8-K filings ingested in the intervening 23 days now return as “latest” for queries that don’t pin a fiscal period. The agent’s tool-calling strategy and the canonical_calls hint shape don’t fully compensate. Five iterations of prompt + thinking + reflection + canonical_calls fixes plateaued at this number. What the 72% is NOT: the W6 launch claim. The legitimate W6 anchor is the agent-chat-routed run that OMNI-3286 will execute against the same suite — that exercises the full agent-chat surface (WebSocket transport, MCP wiring from OMNI-3087, dilution-aware system prompt, OMNI-3083 citations end-to-end), not just the data layer. Expect the agent-chat number to differ; both are valid measurements of different surfaces. Failure decomposition (5 chronic + 2 reasoning-bound):
PatternQuestionsInvestigation
section_snippets granularity gapfb_055, fb_056 (BBY Q2 FY24)OMNI-3298
Sonnet-4.5 reasoning ceilingfb_054, fb_141OMNI-3299 — re-test on Opus-4.7
Wrong-source (GAAP vs Non-GAAP)fb_029Pending OMNI-3286 (agent-chat may resolve via better RAG path)
Production data driftfb_028Pending OMNI-3300 URL-pin diagnostic
Cost / latency (improvements vs original harness): 0.44/Q(down410.44 / Q (down 41%), p95 latency 88s (down 8%). Cost guard (20 / run) held throughout the iteration ladder. Reproducibility: every run writes a reproducibility block at the top of the artifact JSON (commit_sha, agent_chat_version, datastream_api_version, model_version, run_date, harness_version, fixture_baseline_commit, fixture_baseline_date, harness_routes_through_agent_chat: false honesty flag). The flag flips to true when OMNI-3286 lands.

Methodology

  • Hosted APIs (OMNI, sec-api.io, financialdatasets.ai) use production endpoints with authenticated API keys
  • edgartools (MIT-licensed Python library) calls SEC EDGAR directly; no API key
  • edgartools’ persistent on-disk cache at ~/.edgar/_tcache/ is cleared between iterations so every run is a cold SEC fetch (without this, iteration 2+ would measure disk I/O on the runner rather than SEC latency)
  • Latency measured as wall-clock time from request start to result returned (client-side parsing included for edgartools)
  • Each operation run 5+ times; p50, p95, p99 reported
  • Payload size measured at the HTTP transport layer for every comparand — raw response body bytes for hosted APIs, sum of SEC wire bytes (via monkey-patched httpx.Client.send) for edgartools
  • Token estimate = ceil(payload_bytes / 4)
  • Percentiles computed via linear-interpolation (Hyndman-Fan Type 7) for every comparand — all runners share one implementation in scripts/bench/_common.py
  • Network: same region, same machine, concurrent execution
  • Scripts: scripts/bench/benchmark_sec_api.py, scripts/bench/benchmark_financialdatasets.py, scripts/bench/benchmark_edgartools.py
  • Scorecard: scripts/bench/competitive_scorecard.py
  • Full peer-reviewable methodology: benchmarks/METHODOLOGY.md

Reproduce

# Run sec-api.io benchmark (paid API key)
SEC_API_KEY=your_key bun run bench:sec-api

# Run financialdatasets.ai benchmark (paid API key)
FD_API_KEY=your_key bun run bench:fd-ai

# Run edgartools benchmark (no API key required)
bun run bench:edgartools

# Generate 4-way scorecard
bun run bench:scorecard