3spread

13F institutional holdings API

Quarterly holdings reported by institutional investment managers on Form 13F, standardized so positions are comparable across managers and quarters. Free on the Community tier: 10,000 requests per day, 600 per minute.

What is in it

  • ·A cross-filing holdings stream, filterable by manager and by security
  • ·The distinct manager index, so you can resolve a filer before you query it
  • ·Per-filing detail for any 13F, by filing id

Endpoints

3 endpoints on https://api.3spread.com. Full parameters and response schemas are in the API reference.

MethodEndpointReturns
GET/v1/institutional-holdingsList filings
GET/v1/institutional-holdings/holdingsHoldings stream
GET/v1/institutional-holdings/{filing_id}Get a filing

Query it

Every dataset is available on the free Community tier. Sign up, provision a key, and query it. No credit card.

curl
curl "https://api.3spread.com/v1/institutional-holdings?limit=10" \
  -H "apikey: $THREESPREAD_API_KEY"
Python (py3spread)
from py3spread import Client

client = Client()  # reads THREESPREAD_API_KEY
page = client.institutional_holdings.list(limit=10)

for row in page["data"]:
    print(row)

What people build with it

  • ·Diff a fund's portfolio quarter over quarter to see what they bought and sold
  • ·Find every manager holding a given security, and how that changed
  • ·Rebuild a manager's position history from their full filing record

Guides using this dataset

The other datasets

All of them are included, free, on the same key.

Get Started

Choose the path that fits your needs.

Read the docs

Every endpoint, parameter, and response schema.

Get a free key

The Community tier is free: 10,000 requests per day (600 per minute), every dataset.

Commercial use

Licensing, redistribution, and custom delivery.