# We Spent Months Cleaning SEC EDGAR 13F Data So You Don't Have To

> Source: <https://dev.to/james-alphasmo/we-spent-months-cleaning-sec-edgar-13f-data-so-you-dont-have-to-155k>
> Published: 2026-07-24 06:49:46+00:00

SEC EDGAR is public, free, and a mess. Every quarter, 13,000+ institutional investment managers file Form 13F, disclosing their U.S. equity holdings. In theory that's a beautiful dataset — every hedge fund, every pension fund, every bank, all in one place. In practice, the raw filings actively fight you:

`BlackRock, Inc.`

and `BlackRock Inc.`

are two distinct CIK registrations for what most people would call "one" institution. Multiply that across 13,000+ filers and you get a long tail of near-duplicate names that break any naive `GROUP BY institution_name`

.None of this is exotic — it's the normal cost of working with real-world government filing data. But it's exactly the kind of unglamorous plumbing that eats a weekend project before you get to the interesting part: actually asking questions like *"what is smart money buying right now?"*

[AlphaSMO](https://alphasmo.com/13f) is a free public API + CLI + MCP server sitting on top of all that cleaned-up 13F and Form 4 insider-trading data. No signup required to try it:

```
npx alphasmo stocks flows --limit 8
```

That returns stocks ranked by net institutional buy/sell flow for the quarter — piped or scripted, it comes back as JSON automatically:

```
[
  {
    "ticker": "BRK-A",
    "issuer_name": "BERKSHIRE HATHAWAY INC-CL A",
    "net_value_change_usd": 255068024828,
    "avg_weight_pct": 1.42,
    "institution_count": 1418
  }
]
```

The flagship signal is **smart money convergence** — tickers where 13F institutions *and* company insiders (Form 4 filers) are both buying at the same time:

```
npx alphasmo convergence --limit 5 --format table
┌────────┬─────────────────────┬────────────┬───────────────┬───────────────┬────────────┐
│ ticker │ issuer              │ confidence │ unique buyers │ cluster alert │ last buy   │
├────────┼─────────────────────┼────────────┼───────────────┼───────────────┼────────────┤
│ KKR    │ KKR & CO INC        │ 80.48      │ 5             │ yes           │ 2026-03-04 │
├────────┼─────────────────────┼────────────┼───────────────┼───────────────┼────────────┤
│ ELV    │ ELEVANCE HEALTH INC │ 70         │ 2             │ no            │ 2026-07-17 │
├────────┼─────────────────────┼────────────┼───────────────┼───────────────┼────────────┤
│ IP     │ INTERNATIONAL PAPER │ 62.59      │ 3             │ yes           │ 2026-03-12 │
└────────┴─────────────────────┴────────────┴───────────────┴───────────────┴────────────┘
```

Output format auto-detects context — a real table in your terminal, JSON when piped or spawned by a script or an AI agent. `--csv`

gets you a spreadsheet-ready export directly:

```
alphasmo insider trades AAPL --csv | column -s, -t
```

The same data ships as an [MCP server](https://modelcontextprotocol.io), so Claude, ChatGPT, Cursor, or any MCP-compatible client can pull live 13F and insider data mid-conversation, without you writing a single integration line:

```
claude mcp add alphasmo -- npx -y alphasmo@latest mcp
```

Tools exposed: `search_institutions`

, `get_institution_profile`

, `get_institution_holdings`

, `get_stock_overview`

, `get_stock_flows`

, `get_insider_activity`

, `get_smart_money_convergence`

.

```
npm install -g alphasmo
alphasmo --help
```

Anonymous requests work out of the box at a lower rate limit; a free API key ([alphasmo.com/developer](https://alphasmo.com/developer)) raises it. Full REST reference (curl-friendly, no CLI required) is at [alphasmo.com/developer/docs](https://alphasmo.com/developer/docs), and the same underlying data — institution profiles, holdings, quarter-over-quarter changes — is browsable directly at [alphasmo.com/13f](https://alphasmo.com/13f).

The raw data is public. We just did the annoying part first.
