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.

Migrate from AskEdgar

This guide maps every AskEdgar dilution endpoint onto OMNI Datastream and walks through the auth, verification-model, and pricing changes you’ll see at cutover.

What changes when you switch

Per-field verification, not a boolean

Replace verified === true checks with the OMNI verification block (confidence, crossValidationsPassed, sourceSpanResolved).

Auth header swap

AskEdgar uses API-KEY: …; OMNI uses x-api-key: …. Same per-request shape, different header name.

Predictable subscription option

OMNI offers PAYG and flat subscriptions (55Personal,55 Personal, 239 Team). AskEdgar’s API is per-KB only.

Broader API surface

14 dilution endpoints plus 38 other endpoint families (filings, statements, factors, insiders, macro). One key, 39 families.

Hosted MCP and SDKs

47 MCP tools (14 dilution.*) and 4 SDKs (JS, Python, Go, Rust). AskEdgar publishes none today.

Route mapping

AskEdgar bundles warrants and convertibles into a single DilutionEntity. OMNI splits them into dedicated /v1/dilution/warrants and /v1/dilution/convertibles routes. Plan for a small shape change in your client when you cut over those reads.
  • /v1/dilution-data -> /v1/dilution/events
  • /v1/dilution-data?ticker={t}&id={id} -> /v1/dilution/events/{event_id}
  • /v1/dilution-rating (latest) -> /v1/dilution/score
  • /v1/dilution-rating (history) -> /v1/dilution/ratings
  • /v1/offerings -> /v1/dilution/events?form=S-1,S-3,424B5
  • /v1/registrations -> /v1/dilution/events?form=S-1,S-3
  • /v1/float-outstanding -> /v1/dilution/share-float-history?limit=1
  • /v1/historical-float-pro -> /v1/dilution/share-float-history
  • /v1/screener -> /v1/dilution/coverage
  • /v1/reverse-splits -> /v1/dilution/reverse-splits
  • /v1/nasdaq-compliance -> /v1/dilution/nasdaq-compliance
  • (no AskEdgar route) -> /v1/dilution/warrants
  • (no AskEdgar route) -> /v1/dilution/convertibles
  • (no AskEdgar route) -> /v1/dilution/rofr
  • (no AskEdgar route) -> /v1/dilution/lockups
  • (no AskEdgar route) -> /v1/dilution/cash-position
  • (no AskEdgar route) -> /v1/dilution/corporate-actions

Request translation examples

Dilution events for a ticker

# AskEdgar
curl "https://api.askedgar.com/v1/dilution-data?ticker=MULN" \
  -H "API-KEY: $ASKEDGAR_API_KEY"

# OMNI Datastream
curl "https://api.secapi.ai/v1/dilution/events?ticker=MULN" \
  -H "x-api-key: $OMNI_DATASTREAM_API_KEY"

Latest dilution score

# AskEdgar
curl "https://api.askedgar.com/v1/dilution-rating?ticker=MULN" \
  -H "API-KEY: $ASKEDGAR_API_KEY"

# OMNI Datastream
curl "https://api.secapi.ai/v1/dilution/score?ticker=MULN" \
  -H "x-api-key: $OMNI_DATASTREAM_API_KEY"

Share-float history (full series)

# AskEdgar
curl "https://api.askedgar.com/v1/historical-float-pro?ticker=MULN" \
  -H "API-KEY: $ASKEDGAR_API_KEY"

# OMNI Datastream
curl "https://api.secapi.ai/v1/dilution/share-float-history?ticker=MULN" \
  -H "x-api-key: $OMNI_DATASTREAM_API_KEY"

Verification model migration

AskEdgar exposes a single boolean. OMNI exposes the components an agent can reason about:
// AskEdgar
{ "verified": true }

// OMNI
{
  "verification": {
    "confidence": 0.94,
    "crossValidationsPassed": 3,
    "sourceSpanResolved": true,
    "verifiedAt": "2026-04-22T14:31:08Z",
    "modelVersion": "claude-opus-4-7",
    "reviewer": "human:operator-id-184"
  }
}
Practical rewrite: replace verified === true checks with verification.confidence >= 0.9 && verification.sourceSpanResolved. Tighten or relax the threshold per workflow.

Pricing impact

AskEdgar’s API is strictly per-KB. OMNI offers PAYG (per-call) and flat subscriptions. The conversion lever depends on payload size and call volume:
ProfileVolumeAskEdgar API (PAYG, per-KB)OMNI optionOMNI $/mo
Light researcher100 dilution-data calls~10.80(10.80 (≈0.108/call)PAYG (250 free grant)$0
Hedge-fund analyst600 dilution-data calls~$64.80PAYG (250 free + 350 × $0.01)$3.50
Hedge-fund analyst600 dilution-data calls~$64.80Personal (predictable)$55
Small-cap research team5,000 dilution-data calls~$540Team (predictable)$239
Small-cap research team5,000 dilution-data calls~$540PAYG (4,750 × $0.01)$47.50
AskEdgar API costs assume the published /v1/dilution-data rate of $0.018/KB and a typical ~6 KB response. OMNI quotas verified against infra/stripe/pricing-plans.json. The 250 included calls renew monthly per apps/docs/content/billing-faq.md.

Migration script template

#!/usr/bin/env bash
# Bash treats ** as literal unless globstar is enabled. Without this, the script
# expands src/**/*.{ts,js,py} to a literal path and sed gets a "file not found".
shopt -s globstar nullglob
# Drop-in cutover. Manual review required for the warrants/convertibles split.
# Host replacement does NOT include /v1 — the path substitutions below already
# carry /v1/... so combining the two would produce /v1/v1/... (broken).
sed -i.bak \
  -e 's|https://api\.askedgar\.com|https://api.secapi.ai|g' \
  -e 's|API-KEY: \${ASKEDGAR_API_KEY}|x-api-key: ${OMNI_DATASTREAM_API_KEY}|g' \
  -e 's|/v1/dilution-data|/v1/dilution/events|g' \
  -e 's|/v1/dilution-rating|/v1/dilution/score|g' \
  -e 's|/v1/historical-float-pro|/v1/dilution/share-float-history|g' \
  -e 's|/v1/float-outstanding|/v1/dilution/share-float-history|g' \
  -e 's|/v1/reverse-splits|/v1/dilution/reverse-splits|g' \
  -e 's|/v1/nasdaq-compliance|/v1/dilution/nasdaq-compliance|g' \
  src/**/*.{ts,js,py}

# Manual review checklist:
#  - DilutionEntity warrants/convertibles fields -> /v1/dilution/warrants and /v1/dilution/convertibles
#  - /v1/offerings, /v1/registrations -> /v1/dilution/events with form= filters
#  - /v1/dilution-rating history -> /v1/dilution/ratings (separate from /v1/dilution/score)
#  - /v1/float-outstanding (returns latest entry only) -> /v1/dilution/share-float-history returns the full series; add `&limit=1` (or `?limit=1` if no other params) to your query string to preserve "latest only" semantics
#  - `verified === true` -> verification.confidence >= 0.9 && verification.sourceSpanResolved

Migration notes

  • Pin omni-version in production clients before cutover.
  • Capture Request-Id during dual-run testing so request diagnostics stay comparable across the two providers.
  • AskEdgar’s verified: boolean collapses 6 dimensions into 1. Expect richer per-row metadata on OMNI; build your gating logic around the verification block, not a single flag.
  • AskEdgar’s API is metered per-KB; OMNI’s is per-call. For payload-heavy workloads the unit-cost story flips — re-benchmark before locking the pricing tier.
  • askedgar_url is preserved on every OMNI dilution row, so you can keep a back-link to the AskEdgar Copilot UI if your operators want to dual-source during cutover.
  1. issuer resolution and ticker mapping
  2. dilution events list (replaces /v1/dilution-data)
  3. dilution score and ratings (replaces /v1/dilution-rating)
  4. share-float history (replaces /v1/float-outstanding and /v1/historical-float-pro)
  5. nasdaq compliance and reverse splits (1:1 replacement)
  6. warrants and convertibles split (manual review of the bundled DilutionEntity shape)
  7. offerings and registrations (replaced by /v1/dilution/events with form filters)
  8. screener (replaced by /v1/dilution/coverage)
  9. webhook subscription (signed events, 7 dilution event types)

Compare OMNI Datastream and AskEdgar

Side-by-side feature, schema, and pricing comparison.

Dilution endpoints

Open the 14 OMNI dilution routes with realistic examples.

Auth and pricing

Provision an org-scoped API key and review the PAYG ladder.