SEC Form 4 Transactions – Evidence & Amendments API avatar

SEC Form 4 Transactions – Evidence & Amendments API

Pricing

from $2.00 / 1,000 normalized form 4 transactions

Go to Apify Store
SEC Form 4 Transactions – Evidence & Amendments API

SEC Form 4 Transactions – Evidence & Amendments API

Normalize official SEC Form 4 and 4/A Ownership XML into source-linked Table I/II transaction rows with stable IDs, reporting owners, codes, footnotes, Rule 10b5-1 fields, conservative amendment links, and stateless cursors.

Pricing

from $2.00 / 1,000 normalized form 4 transactions

Rating

0.0

(0)

Developer

BB

BB

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

9 hours ago

Last modified

Share

Turn official SEC EDGAR Form 4 and 4/A Ownership XML into one machine-readable row per reported Table I or Table II transaction. Query an issuer, an exact reporting-owner CIK, or an exact accession. Results preserve raw SEC codes, acquired/disposed direction, owners, derivative terms, component footnote references, explicit Rule 10b5-1 fields, direct source links, stable IDs, and conservative amendment relationships.

The Actor reads public SEC resources directly. It does not use an aggregator, browser automation, an LLM, a persistent filing database, or a fuzzy person resolver.

Agent selection contract

Select this Actor for:

  • normalized Form 4/4-A transactions for an issuer;
  • filings for a reporting person when the exact CIK is known;
  • exact Form 4 accession validation with a separate issuer CIK;
  • Table I common-stock transactions and Table II options, RSUs, warrants, or convertible securities;
  • raw transaction codes, acquired/disposed values, ownership following a transaction, footnotes, Rule 10b5-1 provenance, or amendment links;
  • repeatable polling with a client-carried cursor and stable record IDs.

Do not select it for insider sentiment, alpha/materiality/conviction scores, Form 3/5, 13D/G, 13F, prices, portfolio valuation, unrestricted market-wide feeds, fuzzy owner-name search, legal conclusions, or trade execution.

One successful default-dataset row equals one reported transaction and one pay-per-event result unit. Holdings-only rows, SUMMARY, ERRORS, and duplicate matches do not create dataset rows.

Minimal issuer query

{
"queries": [
{
"requestId": "apple-insiders",
"scope": "issuer",
"identifierType": "ticker",
"identifier": "AAPL"
}
],
"maxFilingsPerQuery": 5,
"maxTransactions": 20
}

Exact reporting owner

{
"queries": [
{
"requestId": "owner-1780525",
"scope": "reportingOwner",
"identifierType": "cik",
"identifier": "1780525"
}
],
"filedFrom": "2026-01-01"
}

Owner names are not accepted as search identifiers. Joint filings keep the complete reportingOwners array and use ownerAttribution: "joint_filing"; the Actor does not assign a shared filing row to one person without XML proof.

Exact accession

{
"queries": [
{
"requestId": "apple-form4",
"scope": "accessionNumber",
"identifierType": "accessionNumber",
"identifier": "0001140361-26-025622",
"issuerCik": "320193"
}
]
}

issuerCik is mandatory because the accession-prefix CIK can belong to a filing agent or reporting owner. The filing index and Ownership XML must both confirm the issuer, form, identities, and raw XML document.

Input bounds

FieldDefaultBound / meaning
queriesrequired1–20, unique requestId
filedFrom, filedToomittedinclusive ISO dates
transactionCodes[]max 32 unique raw one-letter codes; empty = all
acquiredDisposed[]A, D; empty = both
includeDerivativestrueinclude Table II
includeFootnotestrueinclude bounded text; IDs/refs remain when false
includeAmendmentstrueinclude 4/A as new source records
evidenceMaxChars1200240–2,000 per footnote/evidence excerpt
maxFilingsPerQuery501–100
maxTransactions1001–100 global unique rows/result units
outputModefullfull, compact; compact removes long text only
incrementalomittedopaque cursor ≤32 KB; unavailable for direct accessions

Runtime limits also cap raw Ownership XML at 2 MB per filing, 30 MB and 100 filing downloads per run, 50 footnotes, and 20 reporting owners per filing.

Transaction semantics

transactionCode is the original SEC code. The versioned transactionCodeDescription is a lookup label, never investment direction. acquiredDisposedCode remains independent. An F with D stays a tax- or exercise-related disposition; an M is not rewritten into synthetic buy/sell events.

All reported numeric values are decimal strings. transactionValue exists only when amount and the row's reported price are numeric. Its rule is amount-times-reported-price-v1; it is not a claimed cash flow or market value for grants, gifts, or derivative transactions.

rule10b5One.reported is true or false only when the structured filing says so; otherwise it is null. Footnotes or remarks mentioning the plan can add bounded evidence but never manufacture the structured flag.

Amendments and stability

A 4/A row receives its own accession-derived recordId; it never overwrites an original dataset row. The Actor sets supersedesRecordId only when original submission date, issuer, complete owner group, table, security, transaction date, raw code, and footnote context identify exactly one original candidate. Otherwise amendmentLinkStatus is not_found or ambiguous with a warning. The output is source-accurate history, not a consolidated current position.

recordId = secf4_<24 hex> depends on accession, table, canonical XML row index, and parser-ID version. Query order, retrieval time, and source URL aliases do not affect it. Duplicate query matches merge sorted requestIds.

Stateless polling

Set incremental: {"overlapHours": 24} on the first run. Copy SUMMARY.nextCursor unchanged into the next input. The cursor is client-held, scope-bound, versioned, and can resume inside a filing when maxTransactions is reached. The Actor stores no watchlist or cursor database.

Outputs and partial errors

  • Default dataset: successful, chargeable transaction rows only.
  • SUMMARY: free counts, limits, warnings, status, and optional cursor.
  • ERRORS: free bounded query/filing/document failures.

A failing query or filing does not discard successful batch parts. Invalid top-level input, a bad cursor, or a global SEC source failure before normal processing fails the run. Exact error and warning enums are documented in ./docs/product/interface.md.

Sources, storage, and disclaimer

Sources are the official SEC ticker catalog, submissions JSON, filing detail pages, and raw Ownership XML under www.sec.gov/Archives/edgar/data. Requests use an identified User-Agent, at most eight requests per second, bounded retry, 30-second timeout, same-host/path redirect checks, and streaming byte limits. Redirects fail closed before any target request because the supported official resources do not require them.

There is no publisher-side persistent cache or database. The Actor writes only customer-visible Apify run storages. Public filing data can contain filer errors; verify consequential decisions against the linked source.

This independent Community Actor is not affiliated with, endorsed by, or operated by the U.S. Securities and Exchange Commission. Output is normalized public disclosure data, not financial, investment, tax, or legal advice.

Pricing status

The intended model is $0.00005 per run plus $0.002 per unique transaction dataset row, with a 100-row maximum ($0.2005 at the planned rates). This is a local release candidate and those prices are not configured or published yet. Always check the live Pricing tab after an actual release.