← LearnClaude API · Tools

How to Get Real-Time Financial Data with the Claude API

Use Claude API's built-in web search tool (type: web_search_20260209) to retrieve live stock prices, P/E ratios, earnings summaries, and SEC filings at query time. Add the tool to your API request's tools array and Claude autonomously searches, retrieves, and cites sources — no custom scraping code required.

To get real-time financial data with the Claude API, add the web search tool to your API request. Claude will autonomously query live financial sites, synthesize the results, and return cited source URLs — all within a single API call, with no client-side scraping infrastructure needed. Because financial figures like stock prices and P/E ratios change daily, Claude's training data alone is unreliable; the web search tool solves this by fetching current data at inference time.

What Is the Claude API Web Search Tool?

The web search tool is a server-side, built-in feature of the Claude API. Unlike custom function-calling setups where you write your own search or scraping logic, this tool runs entirely on Anthropic's infrastructure. When you include it in an API request, Claude decides when to issue searches, Anthropic's servers execute the queries and retrieve web content, and Claude synthesizes the results into a final response with cited source URLs — all in one turn.

As of early 2026, the latest version (web_search_20260209) adds dynamic filtering: Claude writes and executes server-side code to pre-filter retrieved HTML before it enters the context window. This reduces token consumption and improves accuracy compared to the earlier version (web_search_20250305), which passed full HTML into context without pre-filtering. You can read the full specification in the Anthropic web search tool documentation.

Why Is This Useful for Financial Data Specifically?

Financial data has a short shelf life. A stock price from yesterday's training snapshot is useless for a live trading dashboard. The web search tool addresses several real fintech scenarios:

  • Live stock prices and P/E ratios — Claude pulls current figures from financial sites and cites the source so users can verify.
  • Recent earnings summaries — Earnings reports are released quarterly; the tool retrieves the latest filings rather than relying on stale training data.
  • SEC filings and due diligence — A financial research agent can ground earnings analysis in primary SEC filings, citing specific filing URLs rather than paraphrased secondary sources.
  • Regulatory changes — Legal and compliance teams can surface newly enacted regulations or agency guidance that postdate Claude's training cutoff.
  • Competitive intelligence — Business intelligence pipelines can enrich company lists with current funding rounds, product launches, and executive changes.

How Do You Set Up the Web Search Tool for Financial Queries?

The setup is straightforward. Below is a step-by-step guide followed by a working Python example.

  1. Enable web search at the organization level. Log in to the Anthropic Console and confirm your organization administrator has turned on web search for your org.
  2. Obtain an API key from the Console.
  3. Add the tool definition to the tools array in your request, using type: "web_search_20260209" and name: "web_search".
  4. Optionally configure domain restrictions. For financial data, you might whitelist trusted sources like sec.gov or a specific financial data provider using allowed_domains. Note: you cannot use allowed_domains and blocked_domains in the same request.
  5. Set a max_uses cap to control how many searches Claude issues per request, keeping costs predictable.
  6. Send the request with a supported model. Claude autonomously searches, retrieves, and returns a synthesized answer.
  7. Extract and render citations. Anthropic's usage policy requires that you display the url, title, and cited_text fields from citation objects to end users.

Minimal Working Example: Live Stock Data

import anthropic

client = anthropic.Anthropic()

response = client.messages.create(
    model="claude-sonnet-4-5-20250929",
    max_tokens=1024,
    tools=[{
        "type": "web_search_20260209",
        "name": "web_search",
        "max_uses": 3
    }],
    messages=[{
        "role": "user",
        "content": "What is the current stock price, P/E ratio, and most recent quarterly earnings for Apple (AAPL)?"
    }]
)

for block in response.content:
    print(block)

Claude will issue up to three searches, pull live data from financial sites, and return a synthesized answer with citation objects containing url, title, and cited_text fields.

Domain-Restricted Example: SEC Filings Only

import anthropic

client = anthropic.Anthropic()

response = client.messages.create(
    model="claude-sonnet-4-5-20250929",
    max_tokens=2048,
    tools=[{
        "type": "web_search_20260209",
        "name": "web_search",
        "allowed_domains": ["sec.gov"],
        "max_uses": 5
    }],
    messages=[{
        "role": "user",
        "content": "Find the most recent 10-K filing for Tesla and summarize the key risk factors."
    }]
)

for block in response.content:
    print(block)

By setting allowed_domains to ["sec.gov"], every citation in the response will point to a primary SEC source — no secondary summaries or paraphrased blog posts. This is the pattern recommended for due-diligence workflows where source integrity matters.

What Are the Common Pitfalls When Fetching Financial Data?

Token bloat from unfiltered HTML

Financial pages are often HTML-heavy with ads, navigation, and boilerplate. The older tool version (web_search_20250305) passes full HTML into the context window, increasing token costs and degrading response quality. Always use web_search_20260209 on a supported model — it pre-filters HTML server-side before it reaches the context window.

Mixing allowed_domains and blocked_domains

The API does not allow both allowed_domains and blocked_domains in a single tool definition. Pick one strategy: whitelist trusted financial sources, or blacklist unreliable ones. Using both causes a validation error.

Omitting citations from user-facing output

Anthropic's usage policy requires that citations be displayed to end users when surfacing web search results. Always extract and render the url, title, and cited_text fields. For a fintech app, this also builds user trust — they can click through to verify a stock price or filing directly.

Using an unsupported model with the dynamic filtering version

The web_search_20260209 type works only with Claude Opus 4.7, Claude Opus 4.6, Claude Sonnet 4.6, and Claude Mythos Preview. Using it with an older model causes an error. For other models, fall back to web_search_20250305.

Hitting max_uses limits unexpectedly

If Claude exhausts its search budget, the response will contain a max_uses_exceeded error code in a web_search_tool_result block, and the stop_reason may be pause_turn. Handle this in your application logic — either re-submit the response as-is to allow Claude to continue, or surface a graceful message to the user.

When Should You Use Web Search vs. Other Approaches?

Approach Best for financial data when… Limitations
Claude API web search tool You need live, public financial data (prices, filings, earnings) with zero client-side infrastructure Requires internet access; results depend on what's publicly crawlable
Custom function-calling + third-party search API You need full control over the search provider, result ranking, or post-processing pipeline Requires managing API keys, scraping logic, and client-side round trips
RAG with a vector database You have a fixed, proprietary corpus (internal research reports, PDFs) that can't be publicly crawled Stale unless you continuously re-index; doesn't cover live market data
web_fetch tool You already know the exact URL of a filing or data page and need Claude to ingest its full content Discovery step is manual; you must know the URL in advance
Document upload at request time You've pre-collected source material and want reproducibility or air-gapped operation No live data; you must collect and upload documents yourself

For most fintech applications that need current public data — prices, filings, earnings releases — the web search tool is the lowest-friction path. For proprietary internal data, RAG remains the right choice. The two approaches are complementary, not mutually exclusive. See the tool use overview for a broader look at how these tools fit together in agentic pipelines.

Is the Web Search Tool Available on All Claude API Plans?

The web search tool is available through the Anthropic API. Access requires that your organization administrator has enabled it at the organization level in the Anthropic Console. The dynamic filtering version (web_search_20260209) is supported on Claude Opus 4.7, Claude Opus 4.6, Claude Sonnet 4.6, and Claude Mythos Preview. The tool moved to general availability in November 2025, meaning the beta header is no longer required in API requests.

Frequently asked questions

Does the Claude API web search tool work for real-time stock prices?

Yes. The web search tool retrieves live data from public financial sites at query time, making it suitable for current stock prices, P/E ratios, and earnings summaries that change too frequently to rely on Claude's training data.

Can I restrict Claude to only search SEC.gov for financial filings?

Yes. Set the allowed_domains parameter to ["sec.gov"] in the tool definition. Claude will only retrieve content from that domain, and all citations will point to primary SEC sources.

What is the difference between web_search_20260209 and web_search_20250305?

The newer version (web_search_20260209) adds dynamic filtering: Claude writes and executes server-side code to pre-filter retrieved HTML before it enters the context window, reducing token costs and improving accuracy. The older version passes full HTML into context without pre-filtering.

Do I have to display citations when showing financial data to users?

Yes. Anthropic's usage policy requires that you extract and render the url, title, and cited_text fields from citation objects in the response before displaying results to end users.

Can I use both allowed_domains and blocked_domains in the same request?

No. The API does not allow both parameters in a single tool definition. Choose one: whitelist specific trusted domains with allowed_domains, or blacklist unwanted domains with blocked_domains.

How do I control costs when using web search for financial queries?

Set the max_uses parameter to cap the number of searches Claude can issue per request. Also use the web_search_20260209 version, which pre-filters HTML server-side to reduce token consumption compared to the older version.

Go deeper

Web search tool (API) is one of 85 features in Claude Master — the independent, always-current manual with worked examples, the pitfalls, and the workflows that make Claude pay.

Get Claude Master — founding price

Independent product. Not affiliated with or endorsed by Anthropic. "Claude" is a trademark of Anthropic, used here only to describe the subject of this guide.

CLAUDEMASTER
An independent publication.
Independent product. Not affiliated with or endorsed by Anthropic. “Claude” is a trademark of Anthropic, used here only to describe the subject of this manual.
© 2026 Claude Master — All rights reserved.