Yeah, neither do we.
Your broker shows you what institutions held last quarter. These funds publish their holdings every single day — to public websites, for free. We just read them before everyone else does.
13F filings. Updated quarterly, published with a 45-day delay. By the time you see it, the trade is 90+ days old and the move already happened.
Actively-managed ETFs publish their full holdings every market day on their websites. We scrape, normalize, and diff them before the opening bell.
14 ETFs. 6 providers. Every position, every day. Cross-fund conviction scoring, streak tracking, and option flow — decoded.
Signals weighted by fund AUM. A $6.8B ARK buy ranks higher than a $50M fund's identical move.
Know when an institution has been accumulating a position for 3, 5, or 10 consecutive days.
Visual grid: tickers × funds. Color intensity = weight delta. See the whole market in one glance.
Look up any stock — see every fund holding it, their weights, recent changes, and options exposure.
Flagged when funds within the same family take opposite positions. That's rare. That's a signal.
Paste your Discord webhook once. Get the full daily briefing delivered to your server every morning.
We translate covered calls and cash-secured puts into plain English — so you know what the fund actually thinks.
Other tools charge $19–$500/mo for ETF data. We cross multiple fund families AND add intelligence on top.
| Feature | TickerTrace | 13F Filings | ETF Research Center | Cathie's ARK Tracker |
|---|---|---|---|---|
| Update frequency | Daily | Quarterly | Daily | Daily |
| Data delay | Same day | 90+ days | Same day | Same day |
| Cross-fund coverage | 14 ETFs, 6 providers | All 13F filers | Broad | ARK only (6 ETFs) |
| Conviction scoring | ✓ | ✗ | ✗ | ✗ |
| Streak tracking | ✓ | ✗ | ✗ | ✗ |
| Option flow decoded | ✓ | ✗ | ✗ | ✗ |
| Divergence alerts | ✓ | ✗ | ✗ | ✗ |
| Discord alerts | ✓ | ✗ | ✗ | ✗ |
| Activity heatmap | ✓ | ✗ | ✗ | ✗ |
| JSON API | ✓ | ✗ | $29/mo | ✗ |
| Price | Free / $15mo | Free | $29/mo | Free |
If you know of an ETF that publishes daily holdings, we can add it — usually in under an hour. Same provider? One line of code.
Request a FundIf you manage a Discord community, newsletter, or trading group — we'll give your members access and share 40% of revenue you refer. Forever.
Apply to PartnerStart free. Upgrade when you're ready.
Top signals, sector flow, briefing card.
Full access, Discord alerts, JSON API, historical data.
We believe in radical transparency. That includes the embarrassing parts.
The REX CSV returns holdings under the internal name 'REX_ULTI'. Our scraper trusted the source data. That was a mistake. Then our CUSIP resolver labeled every ticker 'OTHER'. 'OTHER' is in our junk filter. 88 rows, zero visible. Three engineers, zero brain cells.
We bought the domain, pointed DNS at Namecheap, then our AI tried to fight Apache for port 80 by installing nginx. On a server that already had Apache. It lost. We used Apache instead. SSL via Let's Encrypt.
Replaced our hand-rolled auth with Firebase. Had to generate a service account key from the console because gcloud wasn't installed. The AI tried to navigate the Firebase console in a browser. It could not. Instructions were given instead.
Three new ETFs in one session. ULTI (REX Shares) required a POST request to download CSV. SLTY (YieldMax) just worked. BLOX was fine until we realized their CSV uses 'Account' as their ticker column. Scraper didn't care. Dashboard did.
The 'Upgrade to Pro' button was pointing to localhost:8100. On production. For 12 hours. Nobody noticed because we didn't have any users yet. Fixed by someone who was definitely not the same person who wrote it.
Some funds only publish CUSIP identifiers (9-char codes), not ticker symbols. Built a cache + OpenFIGI fallback. Cache hit rate: ~95%. Cost: $0. Time spent debugging why 'N97284108' wasn't resolving: too long.