Stock quote

$0.001 per callUSDC via x402GET /api/stock-quote

End-of-day US equity quote: last close, day range, consolidated volume, 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 14 more.

US equities only; indices, FX and crypto are not covered (crypto-price serves those). Built from the official consolidated end-of-day summary across all US exchanges and ATSs, so price, range and volume are market totals. If that dataset is unavailable for a read, the answer comes from a consolidation of three U.S. exchange venues instead and says so: coverage reads three-venue, venueVolume counts those venues only and volume is null. No 52-week range and no intraday print: for a date range call stock-history. Each answer names its dataset and coverage, and says whether its bars came from this session's cache (cached, fetchedAt).

Category: Live public dataTags: finance stocks quote market-data price

Try in playground →

Parameters

NameTypeRequiredDescription
symbolstringyesUS 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": 341.27,
  "previousClose": 340.97,
  "changeAbs": 0.3,
  "changePct": 0.088,
  "dayHigh": 348.1499,
  "dayLow": 340.74,
  "volume": 38983839,
  "venueVolume": 38983839,
  "asOf": "2026-10-13",
  "dataset": "EQUS.SUMMARY",
  "coverage": "consolidated",
  "venues": "All US exchanges and ATSs (consolidated end-of-day summary)",
  "source": "databento.com EQUS.SUMMARY",
  "note": "End-of-day close, not a live intraday quote, and no 52-week range (use stock-history for a range). Official consolidated end-of-day bars across all US exchanges and ATSs; volume is the consolidated total and includes post-market trading. Prices are unadjusted for splits and dividends.",
  "cached": true,
  "fetchedAt": "2026-10-14T13:05:12.000Z",
  "rangeCheckedAt": "2026-10-14T13:00:03.000Z"
}
FieldTypeAlways presentIn the example
symbolstringyesAAPL
currencystringyesUSD
pricenumberyes341.27
previousClosenumberyes340.97
changeAbsnumberyes0.3
changePctnumberyes0.088
dayHighnumberyes348.1499
dayLownumberyes340.74
volumenumberyes38983839
venueVolumenumberyes38983839
asOfstringyes2026-10-13
datasetstringyesEQUS.SUMMARY
coveragestringyesconsolidated
venuesstringyesAll US exchanges and ATSs (consolidated end-of-day summary)
sourcestringyesdatabento.com EQUS.SUMMARY
notestringyesEnd-of-day close, not a live intraday quote, and no 52-week range (use stock-...
cachedbooleanyestrue
fetchedAtstringyes2026-10-14T13:05:12.000Z
rangeCheckedAtstringyes2026-10-14T13:00:03.000Z

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 an AGENT402_CREDITS_KEY issued earlier. Local install: npx -y agent402-mcp.

Errors and behavior

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?.({ maxAmountPerPayment: "$0.001" }); // refuse any quote above this tool's price
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:

Related tools

Bond price

FREE w/ compute · or $0.001 · POST /api/bond-price

Price a fixed-coupon bond from its yield to maturity: present-value the coupons plus face.

Crypto price

$0.001 · GET /api/crypto-price

Live crypto prices for one or many coins in any vs_currency (usd, eur, btc, eth, etc).

Stock historical bars

$0.005 · GET /api/stock-history

Daily OHLCV bars for a US equity: the last `days` sessions, 1 to 250, default 30.

Tokenized asset markets

$0.006 · GET /api/rwa-markets

Market data for tokenized real-world assets - tokenized stocks (Nvidia, Tesla, pre-IPO names), ETFs and commodities like.

Amortization schedule

FREE w/ compute · or $0.001 · POST /api/amortization

Build the full per-period amortization schedule for a fully-amortizing loan.

Annuity present/future value

FREE w/ compute · or $0.001 · POST /api/annuity

Present and future value of a level annuity (equal periodic payments).