explaingit

3spread/py3spread

Analysis updated 2026-05-18

3PythonAudience · developerComplexity · 2/5Setup · easy

TLDR

A Python client for pulling structured SEC filing data, like insider trades and fund holdings, through the free 3spread API.

Mindmap

mindmap
  root((py3spread))
    What it does
      SEC filing data client
      Free API access
      Structured Python objects
    Tech stack
      Python
      REST API wrapper
    Use cases
      Insider trading analysis
      Fund holdings comparison
      Regulatory data tracking
    Audience
      Developers
      Financial researchers
    Datasets
      Insider filings
      Institutional holdings
      Fund portfolios

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Pull insider stock transaction data directly from SEC filings for analysis.

USE CASE 2

Compare institutional investment managers' portfolio holdings and overlap.

USE CASE 3

Track money market fund yields over time using regulatory filing data.

USE CASE 4

Keep a local database in sync with new SEC filings using the changefeed.

What is it built with?

Python

How does it compare?

3spread/py3spread0marildo/imago0xdfi/glm-5.2-1m-4x-dgx-spark
Stars333
LanguagePythonPythonPython
Setup difficultyeasyeasyhard
Complexity2/52/55/5
Audiencedevelopergeneralresearcher

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · easy Time to first run · 5min

Requires a free 3spread API key, and the service itself is still in public beta with some data coverage gaps.

In plain English

py3spread is a Python client library for the 3spread API, which gives access to machine readable data pulled from official SEC filings, including insider stock transactions, large fund holdings, ownership disclosures, and more. API keys are free for individual users, giving access to every dataset at a generous rate limit of 36,000 requests per hour. The service itself is currently in public beta, meaning it is live and usable but still being refined. Its historical data currently goes back to filings accepted in early 2021, and the README is upfront that there can be gaps in coverage across different filing types and time periods, along with occasional parsing errors. The client includes a coverage endpoint so users can check what data is actually available rather than assuming it exists. Using the library is straightforward: after installing it with pip and setting an API key, you create a client object and call methods like client.filings.list or client.insiders.iter_transactions to pull data, with the iter style methods automatically handling pagination behind the scenes. The README shows several example uses of this data, such as comparing how similar different investment managers' stock holdings are to each other, reconstructing a stock's price history purely from insider trade filings, and tracking money market fund yields over time using regulatory reports, each with a linked example notebook. The library organizes data into named resources, one for each major SEC filing type, such as insider filings, institutional holdings, fund portfolios, and beneficial ownership reports. It also includes a changefeed system so a downstream database can stay updated by polling for new filing events. Errors from the API are converted into specific Python exception types, and common transient failures are retried automatically. The project requires Python 3.10 or newer and includes a test suite for contributors.

Copy-paste prompts

Prompt 1
Walk me through installing py3spread and pulling recent insider transactions for a stock ticker.
Prompt 2
Explain how py3spread's iter methods handle pagination compared to the list methods.
Prompt 3
Help me build a chart of a company's stock price using only Form 4 insider filing data.
Prompt 4
Show me how to poll the changefeed to keep a database updated with new filings.

Frequently asked questions

What is py3spread?

A Python client for pulling structured SEC filing data, like insider trades and fund holdings, through the free 3spread API.

What language is py3spread written in?

Mainly Python. The stack also includes Python.

How hard is py3spread to set up?

Setup difficulty is rated easy, with roughly 5min to a first successful run.

Who is py3spread for?

Mainly developer.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.