Sec Edgar Company Filings Export avatar

Sec Edgar Company Filings Export

Pricing

from $2.00 / 1,000 delivered filings

Go to Apify Store
Sec Edgar Company Filings Export

Sec Edgar Company Filings Export

SEC Portfolio Filing Delta Export keeps a portfolio filing database current without manually combining company exports, removing duplicate filings, or investigating whether an empty export means no new filings or a failed company check.

Pricing

from $2.00 / 1,000 delivered filings

Rating

0.0

(0)

Developer

Jordan Nabbe

Jordan Nabbe

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Share

Keep your portfolio filing database current without repeatedly merging issuer exports or investigating unexplained empty results. Built for small financial-data teams and research operations, SEC EDGAR Company Filings Export delivers deduplicated filing metadata, preserves portfolio membership and explains the outcome of every input. Process customer-supplied SEC JSON offline or retrieve public SEC submissions through the same normalization pipeline.

What it does

  • Resolves numeric CIKs, ticker symbols and official company submissions HTTPS URLs.
  • Reads actual submissions JSON and referenced historical JSON parts overlapping your date window.
  • Filters 10-K, 10-Q and 8-K filings, including separately selected amendments.
  • Deduplicates filings by normalized CIK plus accession number across portfolio aliases.
  • Produces membership and coverage tables, a reusable checkpoint and CSV exports.

Only delivered filing rows enter the default dataset. Supporting tables and errors stay in OUTPUT. Every filing, membership and coverage row includes a source reference. Document links come from validated metadata; filing document bodies are not downloaded.

How to use it

Start with the prefilled offline example, or paste this complete input:

{
"mode": "inline",
"date_from": "2025-01-01",
"date_to": "2025-01-31",
"portfolio": [{ "identifier": "DEMO", "portfolio_id": "research" }],
"snapshots": [{
"cik": "0000000001",
"submissions": {
"cik": "1",
"name": "Synthetic Example Issuer",
"tickers": ["DEMO"],
"filings": {
"files": [],
"recent": {
"accessionNumber": ["0000000001-25-000001"],
"filingDate": ["2025-01-15"],
"form": ["8-K"],
"primaryDocument": ["demo.htm"]
}
}
}
}]
}

Supply exactly one of portfolio or portfolio_csv. CSV accepts actual text with identifier and optional portfolio_id headers. Remove the prefilled CSV when switching to structured records. Each input receives a stable zero-based input_index. Numeric identifiers mean CIK; ambiguous tickers fail explicitly. Identifiers and portfolio IDs remain strings.

The sample-input.json fixture demonstrates two portfolio aliases, overlapping historical data, an amendment and an out-of-range filing. Its unrestricted OUTPUT is specified in sample-output.json. All example issuers and filings are synthetic.

For document bytes, replace submissions with submissions_base64, containing canonical base64 of a UTF-8 SEC JSON document. Values in historical_files accept JSON objects or base64 JSON. This metadata Actor does not parse PDF or Excel documents.

For live checks, use mode: "remote", remove snapshots, and provide sec_user_agent with an organization or application name followed by a monitored email address. Supply a customer-owned state_store_id, omit checkpoint, and set remote_serialized: true after arranging sequential scheduling for every client sharing your SEC egress identity. The acknowledgement does not create a lock.

An identifier can be an official company URL such as https://data.sec.gov/submissions/CIK0000320193.json. Remote mode fetches that company's submissions and required historical parts. Inline mode treats the URL as a company identifier and uses the corresponding supplied snapshot without fetching. URLs with other hosts, credentials, queries, fragments or alternative paths are rejected. Historical URLs are constructed only from validated filenames referenced by the submissions response.

To export only unseen filings, copy the returned checkpoint into the next input. Alternatively, state_store_id loads and updates CHECKPOINT_V1 in that named key-value store. These two options are mutually exclusive. Remote ticker references from the fixed SEC ticker endpoint are cached for 24 hours in the named store. Recent submissions and overlapping historical files are fetched anew on later runs.

Output example

cikaccessionformfiling_dateis_amendment
00000000010000000001-25-0000018-K2025-01-15false
00000000010000000001-25-0000028-K/A2025-01-10true

OUTPUT contains filings, memberships, coverage, checkpoint, errors and outcome. The outcome status is SUCCEEDED, PARTIAL, FAILED or LIMIT_REACHED. It includes input success and failure counts, delivered filing count, a spending-stop flag and known undelivered staged rows. undelivered does not estimate filings in unchecked companies. Coverage counts repeat across aliases; use billableCount for the unique delivered total.

Download output.json, checkpoint.json, filings.csv, memberships.csv and coverage.csv from the run store. CSV files use fixed columns, quoted fields and formula-prefix protection. JSON retains original customer values. Import CIK and accession columns as text to prevent spreadsheet type inference from removing zeros. Missing report dates become JSON null. Coverage CSV flattens error codes, messages and retryability into separate columns.

Pricing

Pay per event. The main charge is per unique delivered filing; everything else listed below is free.

EventPrice (USD)Charged when
Validated export run (apify-actor-start)$0.005Once before processing validated input, within the spending limit.
Delivered filing (apify-default-dataset-item)$0.002A filing row is persisted through the reviewed billing helper.

Not charged:

  • OUTPUT
  • output.json
  • checkpoint.json
  • filings.csv
  • memberships.csv
  • coverage.csv
  • Coverage
  • Portfolio memberships
  • Per-item failures

Examples (default 512 MB memory, one start event):

  • Two new filings: $0.005 start + 1 × $0.005 + 2 × $0.002 = $0.014
  • Successful empty replay: $0.005 start + 1 × $0.005 + 0 × $0.002 = $0.01
  • Invalid configuration: $0.005 start + 0 × $0.005 + 0 × $0.002 = $0.005

Spending limit: when you set a maximum cost per run, the Actor stops before it would exceed it, keeps every unique delivered filing it already delivered and reports limitReached in the OUTPUT record. It never delivers results beyond the limit.

The Store's Pricing tab shows the prices in force. If this section and the Pricing tab ever differ, the Pricing tab applies.

Use cases

  • Schedule recurring portfolio checks and upsert filings using key.
  • Backfill an inclusive filing-date window while retaining portfolio identifiers.
  • Retry failed companies without advancing their checkpoint keys.
  • Process archived snapshots without source-network access.

Limits

Input is limited to 20 MiB, 500 portfolio records and 500 snapshots. CSV is limited to 256 KiB. Individual JSON documents are limited to 10 MiB. Source trees allow eight nesting levels and 100 ordinary object keys, with explicit larger limits for checkpoint and ticker indexes. A company may reference 100 historical files and contain 100,000 source filing records. A run stages at most 100,000 new rows. Checkpoints hold at most 250,000 accessions across 10,000 companies; overflow never silently removes existing keys.

Remote requests are sequential, with at least 500 milliseconds between starts and a 30-second timeout. Transient errors permit three retries after the initial attempt with exponential backoff, jitter and Retry-After handling. Delays exceeding 60 seconds produce an error without retrying early. Redirects are limited to three and checked against the same endpoint allowlist. Access denial stops immediately.

Network work is bounded by 2,000 requests, 10 MiB per response and 100 MiB of total response bytes. Processing and source requests share a 20-minute deadline; SDK storage operations additionally depend on platform timeouts. Remote company snapshots cannot exceed 20 MiB. Deployment must retain trusted DNS, TLS verification and private-network egress restrictions: the permitted fetch interface does not expose resolved socket addresses.

Inline coverage describes supplied material, not live SEC completeness. Missing overlapping history, malformed parallel arrays or conflicting metadata fail the company before delivery. Other companies continue. Dates must be calendar-valid YYYY-MM-DD strings; ambiguous US and European slash-style dates are rejected. The Actor extracts no financial amounts, financial facts, insider filings, filing text or investment recommendations, and invents no confidence scores.

A company checkpoint advances only after its complete staged result set is delivered and any named-store write succeeds. A crash, uncertain storage acknowledgement or spending stop can leave delivered rows without a committed company checkpoint. Replay can emit those rows again. Use downstream upserts by key; dataset delivery and checkpoint writes are separate operations. Use one writer per checkpoint store and serialize all remote traffic sharing an SEC egress identity.

FAQ

Can a run succeed with no new filings? Yes. A completed company check with no unseen matching filings receives success_empty. This coverage is a usable output. If no company check succeeds and no filing is delivered, the Actor stores OUTPUT and fails.

Do repeated portfolio aliases duplicate results? They share one company result set while retaining separate membership and coverage rows.

Are amendments included? Defaults include every supported amendment. Each amendment retains its own accession and has is_amendment: true.

Does inline mode access the network? It makes no source requests, including when a company is identified by URL. Omit state_store_id for self-contained local processing. The sample uses local SDK storage and needs no network. Hosted output publication and explicitly selected named stores use platform storage services.

Where does reusable state live? Automatic state lives only in the customer-selected named store. Default-store checkpoint files are exports for explicit reuse, never implicitly loaded state. Keep portfolio artifacts private.

How is this project verified? Run npm test with Node 24 and factory-pinned dependencies. Tests cover exact OUTPUT, invalid input, pricing-contract event expectations, all billing scenarios, replay, base64 documents, official URL identifiers, history, CSV and mocked remote requests. This revision has not been executed during generation. Live access, deployment egress enforcement and production cost benchmarks remain release checks.

Is this an SEC service? No. This is an independent export tool without SEC endorsement.