Skip to content
WebSocket (Namespace: /13dg)

Stream of parsed Schedule 13D/13G beneficial-ownership filings.

Stream of parsed Schedule 13D/13G beneficial-ownership filings. A single `13dg_filing` event per filing carries the COMPLETE detail object — identical to GET /api/v1/ownership/beneficial-ownership/filings/{accession} — including all filers, positions (sole/shared voting & dispositive power), classified purpose with intent flags, exhibits, structured items, and (for amendments) the amendment delta block (prior/current %, threshold crossings, conversions). Server-side filtering eliminates client-side firehose handling. Catch-up delivery on connect replays recent matching filings; subscriptions persist across reconnects (7-day TTL).

100 tokens/conn-daySince v3.38.0

Why use this

Real-time push stream of Schedule 13D/13G beneficial-ownership filings — receive each filing within seconds of being parsed, FULLY STRUCTURED (the exact same object the detail REST endpoint returns, so no follow-up call is needed). Unlike the quarterly-batched 13F stream, 13D/G filings are event-driven and arrive throughout the year — this is the activist-and-ownership-change firehose. Server-side filtering on issuer (CIK + ticker), filer (CIK + name substring), form type (13D vs 13G vs amendments), minimum ownership %, isAmendment, isConversion, purpose category, and threshold crossings (5/10/15/20%). The right choice for activist-campaign trackers, ownership-change alerting, and 13D/G analytics desks. 100-token flat per-UTC-day connection fee.

Common use case

Alert the instant an activist files a 13D on a watchlist name, track every new filing by a specific fund (e.g. Icahn, Elliott), or flag any beneficial owner crossing the 5%/10% ownership threshold — in real time, with the full structured filing in a single push.

Socket.IO WebSocket stream for live Schedule 13D/13G beneficial-ownership filings. Connect to namespace /13dg and subscribe to receive a single 13dg_filing event per parsed filing whose body is byte-identical to GET /api/v1/ownership/beneficial-ownership/filings/{accession}. Event-driven (filed throughout the year, unlike quarterly 13F) — the activist-and-ownership-change feed. Flat 100-token-per-UTC-day connection cost.

Parameters

NameInRequiredDefaultAllowedDescriptionExample
api_keyauthrequiredAPI key. Three methods (first match): Socket.IO `auth.api_key` payload (recommended), HTTP header `X-API-Key` or `Authorization: Bearer`, or `?api_key=` query. 100-token/day fee on first connect of the UTC day, charged separately per namespace. Free-tier OK.tok_test_abc123
pathconfigrequired/socket.ioSocket.IO HTTP path. Default `/socket.io` — the same path the `/sec` and `/13f` streams use; the connection multiplexes namespaces onto a single TCP socket. Pass to your client as `io(url, { path: '/socket.io' })`./socket.io
namespaceconfigrequired/13dgSocket.IO namespace. Connect via `io('/13dg', {...})`. Carries both Schedule 13D and 13G (and their /A amendments) — filter by `form_types` if you want only one./13dg

Response schema

FieldTypeNullableDescription
eventstringnoEvent name — `13dg_filing` for a parsed filing, `13dg_heartbeat` for keep-alive (every 30 s), `subscribed` / `subscription_restored` / `unsubscribed` for subscription-state events. Use to dispatch handlers.
accessionNostringnoSEC accession number in canonical `XXXXXXXXXX-YY-NNNNNN` format. Deduplication key.
formTypestringnoNormalized form type: SC_13D, SC_13D_A, SC_13G, or SC_13G_A.
issuerobjectnoSubject company — { name, cik, ticker, cusip, classOfSecurities }.
aggregatePercentnumberyesAggregate percent of class beneficially owned across all reporting persons on the cover page.
filersarraynoReporting persons (one filing may have many — group filings). Each carries identity, reporting-person type, citizenship, group membership, and legal-disclosure flags.
positionsarraynoPer-filer ownership positions with sole/shared voting and dispositive power, source of funds, and share breakdowns.
purposeobjectyesClassified Item 4 purpose: primary category + 18 boolean intent flags (seeksBoard, seeksMergerAcquisition, …).
amendmentobjectyesPresent only when isAmendment=true. Prior/current %, share/percent change, threshold crossings (5/10/15/20% + direction), and conversion flags (13G↔13D).

Sample response

·
  • "event": "13dg_filing"
  • "accessionNo": "0001193125-26-041429"
  • "formType": "SC_13D_A"
  • "issuer":
    • "name": "EXAMPLE CORP"
    • "cik": "0000123456"
    • "ticker": "EXMP"
    }
  • "aggregatePercent": 9.8
}

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 -X WS "https://api.finradar.aiWebSocket (Namespace: /13dg)?api_Token=YOUR_API_KEY" \
  -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).