DEV Community

Cover image for The hour before the call: how an analyst built a company one-pager from the filings, not the model's memory
Michael
Michael

Posted on • Originally published at scrapers.lat

The hour before the call: how an analyst built a company one-pager from the filings, not the model's memory

This is a story about the last hour before an investment call, and the two Apify Actors that turned a scramble into a five-minute job. No mocked screens, no toy numbers. Every filing date, accession number, and insider trade below is a real lookup against the live SEC, captured from an actual chat.

The setup

Daniel does buy-side research at a fund that moves fast. When a name lands on the calendar, he has to walk into the call already fluent in it: what the company most recently told the SEC, and what the people who run it have been doing with their own shares. Two questions, both boring, both non-negotiable, and both easy to get subtly wrong under time pressure.

The trap is obvious once you have been burned by it. Ask a language model "what was in NVIDIA's latest 10-K" and it will answer confidently from training data that may be a year stale, with a fiscal period that quietly does not match the filing on record. For a one-pager that a portfolio manager will act on, "roughly right, from memory" is worse than useless. Daniel needs facts that trace back to a document with an accession number, not a plausible paragraph.

For years the manual version of this was two browser tabs. One on SEC EDGAR's full-text search, hunting for the most recent annual report and copying the filing date and period. One on the Form 4 feed, scrolling insider transactions and trying to eyeball whether the selling meant anything. Ten minutes if the site was fast and he knew exactly what he was looking for. Longer when he didn't, which was most of the time on a name he was meeting cold.

So the week before this call, he did it differently. He wired the two SEC data sources directly into Claude as tools, using the official Apify MCP server, and let the model do the fetching. Setup was one config block and a restart.

The SEC EDGAR 10-K, 10-Q and 8-K Filings Scraper on the Apify Store

The two Actors he connected:

  • The SEC EDGAR 10-K, 10-Q & 8-K Filings Scraper returns a company's filings of record by ticker or CIK: form type, filing date, period of report, accession number, filer category, and the direct link to the document on sec.gov.
  • The SEC Form 4 Insider Trading Transactions Scraper returns insider trades as structured rows: insider name, role, transaction code (buy, sell, grant, gift), shares, price per share, transaction value, and shares owned afterward.

Both exposed to Claude through one MCP endpoint. Nothing else changed about how he works: he opens a chat and types in plain English.

Sixty minutes out: the filing

An hour before the call, Daniel opened a chat and asked for the one thing he refuses to take from memory: the latest annual report on file.

Claude pulling NVIDIA's latest 10-K straight from SEC EDGAR

One tool call, and the filing came back as a record, not a recollection. The latest 10-K for NVIDIA Corp was filed 2026-02-25, covering the fiscal year ended 2026-01-25, under accession number 0001045810-26-000021. Claude also handed back the CIK (0001045810), the filer status (large accelerated filer), the Nasdaq listing, and the four prior 10-Ks going back to fiscal 2022, so Daniel had a clean five-year annual trail if the call turned historical.

The distinction that matters: the agent did not tell Daniel what NVIDIA earned. It told him which document to trust, with the exact period and accession, so any figure he cites on the call traces to that filing rather than to a model's guess about last year. That is the honest division of labor. The tool finds and identifies the primary source; the analyst reads it.

The insider question

Filing in hand, Daniel asked the second question, the one that separates a real read from a headline. Insider selling at NVIDIA had been in the news, big dollar figures attached. He wanted to know what was actually underneath the number.

The SEC Form 4 Insider Trading Transactions Scraper on the Apify Store

He didn't want a total. He wanted the composition.

Claude breaking down NVIDIA Form 4 activity and separating the signal from the noise

One tool call pulled forty Form 4 transactions filed since January, and Claude did the part that a raw dollar sum hides: it separated the flow into buckets.

Almost all the dollar volume came from one person. Director Mark A. Stevens sold roughly $446 million of stock on the open market across the window: 565,615 shares at $210.44 and 319,385 at $209.70 on a single day in June, half a million more shares at $222.38 earlier that month, and so on. Enormous, but it is one insider, and the sales are staggered across dates in a way that reads as a pre-arranged plan rather than a reaction to anything.

The executives' "selling" was mostly not selling at all. The CFO and the EVPs appear under transaction code F: shares automatically surrendered to cover taxes when equity awards vest, all at the same $207.41 on the same day. That is a mechanical event, not a market call. Colette Kress, the CFO, shows 40,746 shares withheld this way, not sold into a decision.

The CEO made no open-market sale at all. Jensen Huang's only entries in the window are a 400,000-share gift and tax withholding on vesting. And across all forty transactions, there was not a single open-market insider buy.

Claude's read, stated plainly: this is not a broad executive exodus. The scary headline is one director's programmatic sales plus routine vesting mechanics, and the person running the company did not sell a share on the market. Then the line that keeps the tool in its lane: this is the structure of the insider flow, not a buy or sell recommendation; the judgment call is yours. That is exactly right. The agent organized the evidence. It did not tell Daniel what to think of it.

Five minutes out: the dossier

With both pieces gathered, Daniel asked for the deliverable: a single one-pager he could drop into his call notes, with the source run cited for each block so anyone reviewing it later could reproduce every line.

Claude consolidating the filing facts and insider read into a single traceable one-pager

Two tables and a two-sentence read. The company and its latest annual filing at the top, the insider composition below, and under each block the Actor and run ID it came from. An analyst reading this six months from now can re-run either pull and get the same rows. That is the difference between a note that says "insiders are selling" and a note that says "insider selling is concentrated in one director's plan; here is the run that proves it."

The whole thing (filing, insider breakdown, consolidated one-pager) took the length of a coffee. The old version of this hour was two tabs, a lot of scrolling, and a quiet worry that the fiscal period on the slide didn't quite match the filing.

What actually changed

Nothing about Daniel's analysis moved to the machine. He still decides what the company is worth and what to say on the call. What moved was the fetching and the sorting, the mechanical layer that used to eat the hour and occasionally introduced a stale fact:

  • The source is authoritative. Every filing fact carries an accession number and every insider figure carries a run ID. The one-pager is audit-ready by construction, not by cleanup afterward.
  • The signal is separated from the noise. A raw "insiders sold $500M" is a trap. Splitting it into one director's plan, mechanical tax withholding, and zero buys is the actual read, and the agent did that sorting in seconds.
  • The model's memory never touched the numbers. The point of wiring in the tools is precisely so Claude answers from today's filings, not from whatever it absorbed in training. On a name that reports every quarter, that is the whole ballgame.

Daniel walked into the call working from the record. On a busy morning, with the old two-tab process, the fiscal period might have been last year's and the insider story might have been the headline instead of the truth.

Build the same agent

Everything in this story is reproducible today with a free Apify account and any MCP-capable client (Claude Desktop, Cursor, or your own agent):

  1. Get your Apify API token from the Apify Console under Settings → Integrations.
  2. Add the official Apify MCP server to your client and list the two Actors in the tools parameter:
{
  "mcpServers": {
    "apify": {
      "url": "https://mcp.apify.com?tools=scrapers_lat/sec-edgar-filings-scraper,scrapers_lat/sec-form4-insider-trades-scraper",
      "headers": { "Authorization": "Bearer YOUR_APIFY_TOKEN" }
    }
  }
}
Enter fullscreen mode Exit fullscreen mode
  1. Restart the client and ask it, in plain English, for a company's latest 10-K and its recent Form 4 activity. It will pick the right tool for each question and cite the run.

📌 Note: each tool call is a real Actor run billed to your Apify account (both are pay-per-result, a fraction of a cent per lookup). For a watchlist rather than one name, run the Actors on a schedule through the Apify API and have the agent read the latest results, instead of one call per chat.

🏹 Extend it: the same pattern covers the rest of a diligence sheet. Add SEC 13F Institutional Holdings to see who owns the stock, or SEC Financial Statements to pull the actual line items behind the 10-K, and your research agent builds the whole one-pager from filings of record, without a single line of new code.

The Actors used in this story: SEC EDGAR 10-K, 10-Q & 8-K Filings Scraper and SEC Form 4 Insider Trading Transactions Scraper.

Top comments (0)