---
title: "Parsed Form 3/4/5, 13F-HR or SCHEDULE 13D/G data"
method: GET
path: "/edgar/accession/{accessionNumber}/structured"
tags: ["EDGAR"]
---

# Parsed Form 3/4/5, 13F-HR or SCHEDULE 13D/G data

`GET /edgar/accession/{accessionNumber}/structured`

## Request

- Base URL: `https://api.signal8.ai/api/v1/public`
- URL: `https://api.signal8.ai/api/v1/public/edgar/accession/{accessionNumber}/structured`
- Auth: API key in header `X-Api-Key`

Machine-readable data parsed from a filing's XML, from the Signal8
archive. `kind` is `ownership` (Form 3/4/5 and amendments — owners
with relationship incl. the filer's own "Other" text, totals, and
`parsed.transactions`: table, securityTitle, transactionDate, code,
acquiredDisposed, shares, pricePerShare, sharesOwnedAfter,
ownership D/I, natureOfIndirectOwnership, and for derivatives
exercisePrice, exerciseDate, expirationDate, underlyingTitle,
underlyingShares), `thirteen_f` (13F-HR holdings) or `schedule13`
(XML SCHEDULE 13D/G, filed 2025 onward).

**13F values:** the raw `valueThousands` is in THOUSANDS of dollars for
filings before 2023-01-03 and in whole DOLLARS from that date (SEC
format change). Each holding therefore carries `valueUsd` and the
payload `totalMarketValueUsd` (normalised to dollars; null when the
unit cannot be determined) and `valueUnit`. Holdings are capped at
`holdingsLimit`; `holdingsTotal` and `holdingsTruncated` report the
cut. `parsed: null` on a 13F means the filing has no information
table (e.g. 13F-NT) — not zero holdings.

**Null means not stated in the filing, never zero.** Form 4
`directShares` is null on a derivative-only filing (the filing says
nothing about common stock). `parsed.transactions` absent means the
table could not be read.

**Credit cost: 5**

## Path parameters

- `accessionNumber` string, required

## Query parameters

- `holdingsLimit` integer

## Response `200`

Structured filing data

- object

## Other responses

- `400`: Invalid request parameters
- `401`: Missing or invalid API key
- `402`: Not enough credits for this request
- `404`: No structured data — `error.reason` / `error.details.reason` is one of filing_not_held, unsupported_form, not_structured (primary document is not XML, e.g. pre-2025 Schedule 13D/G), not_parseable, body_not_stored, document_not_stored. Read the filing with /edgar/document/{filingId} instead.
- `429`: Rate limit exceeded
- `502`: The archive did not answer.

---

[API](https://skmtc.dev/signal8/apis/signal8-public-api.md) · [All operations](https://skmtc.dev/signal8/apis/signal8-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/signal8/apis/signal8-public-api/revisions/5a18ae8d6d58?raw)
