Stock quote
GET /api/stock-quoteEnd-of-day US equity quote: last close, day range, previous close and the change between them. Send GET /api/stock-quote with the required field symbol and pay $0.001 per call over x402 or MPP (there is no free tier). It returns a JSON object with symbol, currency, price, previousClose, changeAbs and 8 more.
US equities only; indices, FX and crypto are not covered (crypto-price serves those). Built from a three-venue consolidation (Databento DBEQ.BASIC), so the prices track the wider market but the volume counts those three venues only and is returned as venueVolume rather than as a total. No 52-week range and no intraday print: for a date range call stock-history.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
symbol | string | yes | US equity ticker, e.g. AAPL. Indices, FX and crypto are not covered. Also accepted as ticker, coin, asset. |
Example request
curl -i "https://agent402.tools/api/stock-quote?symbol=AAPL"
Without payment this returns HTTP 402 Payment Required with the exact price for stock-quote; any x402 v2 or MPP client pays it and retries.
Example response
{
"symbol": "AAPL",
"currency": "USD",
"price": 335.5,
"previousClose": 336.79,
"changeAbs": -1.29,
"changePct": -0.383,
"dayHigh": 338.41,
"dayLow": 332.545,
"venueVolume": 1630155,
"asOf": "2026-09-18",
"venues": "NYSE Texas (formerly NYSE Chicago), NYSE National, IEX",
"source": "databento.com DBEQ.BASIC",
"note": "End-of-day close from a three-venue consolidation. Not a live intraday quote, not consolidated-tape volume, and no 52-week range - use stock-history for a range."
}
| Field | Type | Always present | In the example |
|---|---|---|---|
symbol | string | yes | AAPL |
currency | string | yes | USD |
price | number | yes | 335.5 |
previousClose | number | yes | 336.79 |
changeAbs | number | yes | -1.29 |
changePct | number | yes | -0.383 |
dayHigh | number | yes | 338.41 |
dayLow | number | yes | 332.545 |
venueVolume | number | yes | 1630155 |
asOf | string | yes | 2026-09-18 |
venues | string | yes | NYSE Texas (formerly NYSE Chicago), NYSE National, IEX |
source | string | yes | databento.com DBEQ.BASIC |
note | string | yes | End-of-day close from a three-venue consolidation. Not a live intraday quote,... |
From an MCP client
catalog.call {
"slug": "stock-quote",
"params": {
"symbol": "AAPL"
}
}
The hosted connector at https://agent402.tools/mcp needs a payment for stock-quote; the stdio package pays it from a wallet or from AGENT402_CREDITS_KEY. Local install: npx -y agent402-mcp.
Errors and behavior
symbolis required. An input the tool rejects returns an HTTP 4xx whose body carrieserror,tool,expected,requiredandexample, so the caller can correct it.- A paid call that ends in any status of 400 or above is not charged over x402, MPP or a prepaid credits key: settlement is cancelled when the tool fails. The exception is a Tempo push credential, a transfer the buyer sent before the call: it settles before the tool runs, so if the tool then fails the payment is recorded as a refund owed to the paying wallet.
- Wallet-only: this tool reaches the network or stored state, so it has no proof-of-work tier. A prepaid card-credits key issued earlier (
Authorization: Bearer a402_...) also pays it. - A
POSTwith a JSON body to /api/stock-quote is served as this GET, with the body as the input. - An
Idempotency-Keyheader makes a retried paid call replay the first 200 instead of charging again (an answer larger than 1 MB is not replayed).
Paid call (JavaScript agent)
import { wrapFetchWithPayment } from "@x402/fetch";
import { x402Client } from "@x402/core/client";
import { registerExactEvmScheme } from "@x402/evm/exact/client";
import { privateKeyToAccount } from "viem/accounts";
const client = new x402Client();
client.setSpendControls?.(false); // keep your own spending ceiling in code
registerExactEvmScheme(client, { signer: privateKeyToAccount(KEY) });
const payFetch = wrapFetchWithPayment(fetch, client);
const res = await payFetch("https://agent402.tools/api/stock-quote?symbol=AAPL");
Part of these workflows
Stock quote is one step in these 8 skill packs, each sold as a single call:
- Earnings deep-dive - Everything you need before a company reports: the latest financials, recent SEC filings, the latest close, and fresh analyst news - in one pass.
- Options analytics - Price a European option on a live stock: pull the current quote, estimate volatility from recent history, run Black-Scholes for fair value + the full greeks, and check the news for catalysts.
- Financial analysis - Quick company snapshot: latest close, 9 key financial metrics (revenue through cash flow), and upcoming earnings - one call, one payment.
- Financial research - Pull SEC filings, the latest close, historical prices, and macro context for a single ticker in one pass.
- Cross-asset price monitor - Side-by-side snapshot of a stock and a crypto asset: the equity's latest close against a live crypto quote, a trailing-year series for each, and a date-stamped comparison.
- Company dossier - Comprehensive company research report in one call: latest close, financials, SEC filings, insider trades, and recent news - all in parallel.
- Earnings watch - Has this company just reported, and what is being said about it? Recent SEC filings, the latest close, and current coverage in one call.
- Insider alert - Insider buying/selling activity for a stock: Form 4 trades, the latest close, and recent SEC filings in one call.
Related tools
Bond price
POST /api/bond-pricePrice a fixed-coupon bond from its yield to maturity: present-value the coupons plus face. Returns clean price, coupon p…
Crypto price
GET /api/crypto-priceLive crypto prices for one or many coins in any vs_currency (usd, eur, btc, eth, etc). Returns last price, 24h change %,…
Stock historical bars
GET /api/stock-historyDaily OHLCV bars for a US equity: the last `days` sessions, 1 to 250, default 30. Daily only, no intraday. Built from a …
Tokenized asset markets
GET /api/rwa-marketsMarket data for tokenized real-world assets - tokenized stocks (Nvidia, Tesla, pre-IPO names), ETFs and commodities like…
Amortization schedule
POST /api/amortizationBuild the full per-period amortization schedule for a fully-amortizing loan. Each row reports the period number, payment…
Annuity present/future value
POST /api/annuityPresent and future value of a level annuity (equal periodic payments). Supports an ordinary annuity (payments at period …