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, sector, industry }. sector/industry are the issuer's classification (nullable, same taxonomy as the insider API).
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).