Skip to content

py3spread

Python client for the 3spread API: machine-readable SEC filing data. Insider transactions, 13F holdings, fund portfolios, beneficial ownership, private offerings, and more, normalized so the same data point has the same key for every filer.

API keys are always free for individuals: sign up at 3spread.com/auth/signup.

Install

pip install py3spread

Requires Python 3.10+. One dependency (httpx), fully type-hinted.

Sixty seconds

from py3spread import Client

client = Client()  # reads THREESPREAD_API_KEY from the environment

# one page
page = client.filings.list(ticker="AAPL", limit=5)

# or let the client walk the pagination for you
for txn in client.insiders.iter_transactions(
    issuer_ticker="AAPL",
    transaction_start="2026-01-01",
    transaction_end="2026-06-30",
):
    print(txn["filer_name"], txn["transaction_shares"], txn["transaction_price_per_share"])

Financial statements, metrics, and ratios from 10-K / 10-Q filings:

for m in client.financials.iter_metrics(
    ticker="AAPL", version="latest", category="total_revenue", period_length=3,
):
    print(m["period_end"], m["fiscal_quarter"], m["value"])

manager similarity heatmap

That heatmap is 40 lines against this client; it lives in the 13F notebook along with sixteen other executed notebooks; see Examples.

Where things are

Beta status

3spread is in public beta. History currently reaches back to filings accepted in early 2021 and expands per the roadmap. Check what is populated with client.coverage before assuming a gap.