Schedule 13D / 13G parser — beneficial ownership reports of >5% positions.
Handles the structured-XML era (SEC mandated XML for Schedules 13D/G filed from December 2024; form types "SCHEDULE 13D" / "SCHEDULE 13G" and their /A amendments, with a primary_doc.xml). Legacy "SC 13D" / "SC 13G" filings are HTML/text-only and intentionally NOT registered — they fall through to filing-obj's :default raw-HTML result.
The 13D and 13G XML schemas differ in field naming (issuerCIK vs issuerCik, dateOfEvent vs eventDateRequiresFilingThisStatement, aggregateAmountOwned vs reportingPersonBeneficiallyOwnedAggregateNumber- OfShares, ...); this parser normalizes both into one result shape.
Usage: (require '[edgar.forms.schedule13]) ; side-effectful load registers methods (edgar.filing/filing-obj filing) ;=> {:form "SCHEDULE 13D" :schedule :13d ; :issuer {:cik ... :name ... :cusip ...} ; :reporting-persons [{:name ... :aggregate-owned ... :percent-of-class ...} ...]}
Schedule 13D / 13G parser — beneficial ownership reports of >5% positions.
Handles the structured-XML era (SEC mandated XML for Schedules 13D/G
filed from December 2024; form types "SCHEDULE 13D" / "SCHEDULE 13G"
and their /A amendments, with a primary_doc.xml). Legacy "SC 13D" /
"SC 13G" filings are HTML/text-only and intentionally NOT registered —
they fall through to filing-obj's :default raw-HTML result.
The 13D and 13G XML schemas differ in field naming (issuerCIK vs
issuerCik, dateOfEvent vs eventDateRequiresFilingThisStatement,
aggregateAmountOwned vs reportingPersonBeneficiallyOwnedAggregateNumber-
OfShares, ...); this parser normalizes both into one result shape.
Usage:
(require '[edgar.forms.schedule13]) ; side-effectful load registers methods
(edgar.filing/filing-obj filing)
;=> {:form "SCHEDULE 13D" :schedule :13d
; :issuer {:cik ... :name ... :cusip ...}
; :reporting-persons [{:name ... :aggregate-owned ... :percent-of-class ...} ...]}(parse-schedule13 filing)Parse a Schedule 13D/13G (XML era) filing map into a structured map. Returns nil when the filing carries no XML document. Otherwise: {:form "SCHEDULE 13D" | "SCHEDULE 13G" (from the XML submissionType; falls back to the filing's :form) :schedule :13d | :13g :security-class class of securities the schedule covers :event-date "MM/DD/YYYY" event date triggering the filing :rule designated rule (13G only, e.g. "Rule 13d-1(b)") :issuer {:cik ... :name ... :cusip ...} :reporting-persons [{:cik :name :citizenship :sole-voting :shared-voting :sole-dispositive :shared-dispositive :aggregate-owned :percent-of-class :type :fund-type :comments} ...]}
Parse a Schedule 13D/13G (XML era) filing map into a structured map.
Returns nil when the filing carries no XML document. Otherwise:
{:form "SCHEDULE 13D" | "SCHEDULE 13G" (from the XML
submissionType; falls back to the filing's :form)
:schedule :13d | :13g
:security-class class of securities the schedule covers
:event-date "MM/DD/YYYY" event date triggering the filing
:rule designated rule (13G only, e.g. "Rule 13d-1(b)")
:issuer {:cik ... :name ... :cusip ...}
:reporting-persons [{:cik :name :citizenship :sole-voting :shared-voting
:sole-dispositive :shared-dispositive
:aggregate-owned :percent-of-class :type
:fund-type :comments} ...]}cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |