SEC Section 16 Ownership avatar

SEC Section 16 Ownership

Under maintenance

Pricing

from $0.05 / 1,000 section 16 entries

Go to Apify Store
SEC Section 16 Ownership

SEC Section 16 Ownership

Under maintenance

Normalize public Forms 3, 4, and 5 into individual holdings, transactions, owner relationships, and amendment links.

Pricing

from $0.05 / 1,000 section 16 entries

Rating

0.0

(0)

Developer

BB

BB

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

4 days ago

Last modified

Share

SEC Section 16 Ownership Normalizer

Planned SEC Complete Data Suite actor for public Forms 3, 4, and 5. It emits one provenance-backed Section 16 holding, transaction, or owner-relationship entry per XML table path, without netting positions or inferring market value.

Package 4 adds a native Apify lifecycle adapter around the bounded, stateless source layer: it validates input before constructing an HTTP client, writes only validated entries to the default Dataset, and always persists validated SUMMARY and sanitized ERRORS records to the default Key-Value Store. It does not make charge calls. Package 3 added the source layer itself: exact identifier resolution, SEC archive attachment location, Insider Transactions bulk-dataset discovery, streaming HTTPX download accounting, the shared eight-RPS limiter, bounded retries and allowlisted redirects, and a scope-bound cursor. Runtime requests remain limited to the two public SEC sources in the source inventory. Ticker/company-name resolution is pure and receives an already obtained official catalog; it does not add a third runtime endpoint.

The XML parser continues to receive caller-provided ParseContext; IDs, XML anchors, reconciliation diagnostics, amendment links, partial failures, and global deduplication remain deterministic. The adapter is covered only by offline fake Actor/service lifecycle tests; no Cloud action or live SEC request has been made.

Local development

Python 3.13 is required. Runtime and development dependencies are exact-pinned in requirements.lock and requirements-dev.lock. The container entry point is python -m sec_section16_ownership_normalizer.

PYTHONDONTWRITEBYTECODE=1 PYTHONPATH=src:vendor \
../sec-8k-event-normalizer/.venv/bin/python -m pytest