Guides

Can ChatGPT or Claude Access Live Market Data?

Out of the box, no, LLMs are frozen at their training cutoff. But you can give them live market data through tools. Here is how it actually works.

Updated July 2, 20269 min read
Can ChatGPT or Claude Access Live Market Data?
Run a live filing query

Give an agent a source-linked event feed

ChatGPT cannot invent a live market feed. Connect Arkolith, then let the agent poll recent SEC events with a cursor and follow each result back to its primary filing.

First call
curl -H "Authorization: Bearer $ARKOLITH_KEY" \
  "https://arkolith.com/api/v1/events?form=4&limit=20"

Agent prompt

Use Arkolith events.latest to find the newest Form 4 filings, summarize only open-market transactions, and cite every SEC source document.

The short version

By default, no. ChatGPT and Claude answer from training data frozen at a cutoff, so any "current" market figure is recalled, not fetched, and can be quarters stale. Built-in browsing reads pages but is not a structured data feed. The fix is to connect a tool: an MCP server the agent calls directly (one command in Claude Code), or a REST API your code calls and feeds into the prompt. Once connected, the model fetches real numbers with a source and timestamp at answer time, and every figure can be audited back to its filing.

Why they can't, by default

An LLM is trained up to a cutoff date and then frozen. Ask it for "the latest" anything and it will produce a confident, plausible answer from memory, which may be months old or simply wrong. There's no live connection unless you add one. (This is also why they hallucinate numbers.)

The failure mode is worse than "no answer." Ask an unconnected model for a fund's largest position and you usually get a specific name and a specific percentage, delivered in the same tone whether it is right or two filing cycles stale. There is no internal signal for "my information expired," so the staleness is silent. Raw recall is fine for mechanics (what a 13F is, how insider forms work) and unreliable for anything with a date attached: positions, stakes, insider activity, prices.

Restrained editorial illustration of a drafting table with a notebook and folded map: image for

Doesn't built-in browsing solve this?

Partly. ChatGPT can browse the web and Claude can search in some configurations, which covers news, documentation, and one-off facts on a single page. For market data the limits show up fast:

  • Browsing returns prose, not records. The model paraphrases a rendered page: a summarized figure with no field names, no identifiers, no guarantee the number was copied correctly.
  • The primary sources are too big to read. Q1 2026 alone had 1,824 13F filers reporting 1.87M positions worth $53.7T, plus an insider feed past 51,000+ transactions. No browsing session pages through that, and no context window holds it.
  • No identifier resolution. Filings key on CUSIPs and CIKs, not tickers. A model matching "Berkshire" by string will conflate the filer with the issuer (both exist in the data) and never notice.
  • No provenance. A table scraped from a third-party page carries no machine-readable source, so the answer cannot be audited back to a filing.

Browsing is a reading tool. A financial workflow needs a query tool: structured requests and responses, stable identifiers, a source on every value.

How to give them live data

Two paths, depending on whether an agent or your code is calling:

1. Connect a tool via MCP (best for chat/agents)

Model Context Protocol lets the assistant call external tools. Add a market-data MCP server once and the agent can query it in plain language:

claude mcp add --transport http arkolith \
  https://arkolith.com/api/mcp \
  --header "Authorization: Bearer YOUR_KEY"

Now ask: "Which funds hold Nvidia?" and the agent calls the tool and answers with sourced data. After that one command it discovers the server's tools, decides when to call them, and chains calls unscripted: resolve the name, fetch the holders, pull the filing. You can eyeball what it fetched against the Nvidia ownership page, which reads the same records. ChatGPT reaches this kind of server through its connector setup on developer and enterprise plans; the server does not care which client calls. Full walkthrough: connect market data to Claude with MCP. New to MCP? Start here.

2. Call an API from your code (best for apps)

If you're building software around the model, hit a REST API directly and feed the result into your prompt:

# 1. Resolve the name to an entity
curl -H "Authorization: Bearer YOUR_KEY" \
  "https://arkolith.com/api/v1/search?q=nvidia"

# 2. Fetch a fund's holdings by the CIK you resolved
curl -H "Authorization: Bearer YOUR_KEY" \
  "https://arkolith.com/api/v1/funds/CIK/holdings"

The production pattern: your code calls the API, validates the response, and hands the JSON to the model with one rule: answer only from these fields, cite the source on each number. The model never touches the data path; it reasons over records it cannot mutate.

Which path to pick:

You are building Use Why
A chat workflow in Claude Code or an agent framework MCP The agent discovers tools and chains calls on its own
An app with deterministic logic (screeners, alerts, reports) REST You control fields, retries, caching, and error handling
A research notebook or backtest REST You want raw records, not conversational summaries

See the API docs for endpoints and fields.

The part that matters: sourcing

Connecting some data isn't enough, the agent should cite it. If each datapoint comes back with its source and timestamp, the assistant answers with verifiable evidence rather than a confident guess. That's the difference between "live" and "trustworthy."

Sourcing buys three concrete things: you can spot-check the agent against the original filing, the agent can refuse honestly ("no sourced value available") instead of improvising, and surfaces reconcile, because a chat answer and an API response citing the same record cannot quietly disagree.

It also forces honesty about what "live" means. SEC data is event-driven, and each filing type runs on its own legal clock:

Filing What it discloses How fresh it can be
Form 4 Insider buys and sells Within 2 business days of the trade
13D Activist stakes Within 5 business days
Form 3 A new insider's initial position Within 10 days
13F Institutional portfolios (managers above the $100M threshold) Quarterly, due 45 days after quarter end (2026: Feb 17, May 15, Aug 14, Nov 16)

So "did an insider buy this week?" is answerable near-live in disclosure terms, while "what does this fund hold?" is honestly quarterly. An agent that states the as-of date beats one that implies tick-level freshness it does not have.

What "live" should mean in a financial workflow

For market work, a narrow tool plus a hard rule beats a general browser: every number must come from a fetched source.

Question Weak setup Better setup
"Who owns Nvidia?" Ask the model to remember Call a holdings tool backed by 13F data
"Did an insider buy?" Search the web manually Call a Form 4 tool backed by insider transactions
"What did this identifier resolve to?" Guess the ticker Search the API and return the resolved record
"Can I trust this answer?" No source attached Return source, timestamp, and URL

This is why Arkolith's MCP quickstart is built around a real key and live endpoints, not a prompt template. The model should not memorize filing facts; it should call the tool, receive structured data, and cite the source record.

Example agent workflow

Suppose you ask Claude: "Find funds connected to Berkshire and show me the evidence." A grounded agent flow looks like this:

  1. Search for "Berkshire" through the market-data tool.
  2. Pick the relevant manager, fund, or issuer record.
  3. Fetch holdings or filing details from the API.
  4. Answer with the value, source filing, and timestamp.

Step 2 is where fluent agents fail. "Berkshire" matches both a famous 13F filer and an issuer other funds hold; the right pick depends on whether the user wants the portfolio or the shareholder list. A grounded agent states which record it chose and why; an ungrounded one blends the two into one confident paragraph.

Two edge cases worth handling before you trust any setup:

  • Amendments. Filers amend. A restated 13F or corrected Form 4 supersedes the original, and a tool that serves both without marking the authoritative one feeds the agent contradictory "facts." Ask your data source how it handles supersession.
  • Options legs. 13F filings include put and call positions alongside common stock. Naively summing everything turns a large bearish put into a fund's top "holding." A clean tool separates the long book from the options overlay so the agent cannot invert a position's meaning.

The human-facing equivalent is to browse the funds directory or screen managers on the investors leaderboard, inspect a fund page, then use the API docs to reproduce the lookup from code. Chat, dashboard, and API all point at the same source-backed records.

Setup checklist

  • Create an account and get a key.
  • Follow the MCP quickstart if the assistant should call tools directly.
  • Use REST from your application when you need deterministic control over fields and retries.
  • Require the agent to say "data unavailable" when a tool cannot return a sourced value.
  • Treat the key like any bearer credential (env var, never prompt text), and log tool calls in development so you can replay what the agent fetched.

Restrained editorial illustration of a drafting table with a notebook and folded map, alternate view: image for

Frequently asked questions

Can ChatGPT see real-time stock prices?

Not natively. With a connected tool or plugin that provides prices, it can fetch them at answer time. Trust the number only if a source and timestamp come back with it.

Does Claude have internet/market access built in?

No live market feed by default. Connect an MCP server or API and it gains whatever that tool exposes. Connections are per-environment: a server added in Claude Code does not exist in another client until you register it there.

How fresh is SEC filings data once connected?

As fresh as the disclosure rules allow. Insider trades (Form 4) surface within 2 business days, activist stakes (13D) within 5 business days, and institutional portfolios (13F) quarterly with a 45-day deadline. A good tool returns the as-of date on every record so the agent can state the lag instead of hiding it.

Is this hard to set up?

No. Adding an MCP server is one command in Claude Code, and the REST path is one bearer-token request. The slower work is deciding what the agent may claim without a source, and what it must refuse.

Why does ChatGPT sometimes state old stock data confidently?

Without a connected tool, the model answers from training data, which has a cutoff and no awareness of being stale. It fills the gap with its best (dated) recall. A connected data tool replaces that recall with a live, sourced lookup.


Arkolith is an MCP server + API for real-world market data, sourced to the origin. Get a key, read the MCP quickstart, or explore the 13F data layer.

#ChatGPT#Claude#market data#MCP#tools