{"openapi":"3.1.0","info":{"title":"ScrapeMole Quotes: stock, ETF, index, FX and crypto market data for AI agents","version":"1.0.0","description":"Pay-per-call market data for agents: live-ish stock, ETF, index, FX and crypto quotes (price, change, day range, 52-week range, volume), batch quotes for up to 10 symbols, OHLCV price history, ticker search, and CoinGecko crypto prices with market cap and 24h change. Public market data only, no keys, no accounts. USDC via x402; failed calls are never charged.\n\nPayments: x402 v2, scheme \"exact\", USDC on Base (eip155:8453). The payment is verified before the work and settled only when the response is 200. Terms: https://quotes.scrapemole.workers.dev/terms","contact":{"email":"edgaras@mail.grokbot.com","url":"https://scrapemole.pages.dev"},"x-guidance":"Call any /v1 endpoint without payment to receive a 402 with the exact price, then retry with an x402 client (e.g. @x402/fetch). 4xx/5xx responses are never charged."},"servers":[{"url":"https://quotes.scrapemole.workers.dev"}],"components":{"securitySchemes":{"x402":{"type":"http","scheme":"x402","description":"HTTP 402 payment with USDC via the x402 protocol."}}},"paths":{"/v1/quote":{"get":{"operationId":"quote","summary":"Current quote for one ticker (stock, ETF, index, FX pair, future or crypto): price, change, % change, day range, 52-week range, volume, exchange, currency.","description":"Use when an agent needs the latest market price of a listed instrument: AAPL, MSFT, NVDA, SPY, ^GSPC (S&P 500), ^IXIC, EURUSD=X, GC=F (gold futures), BTC-USD, 7203.T (Tokyo), VOW3.DE (Xetra). Returns price, previous close, absolute and percent change, day high/low, volume, 52-week high/low, exchange, currency, instrument type, market time and a Yahoo Finance link. Use /v1/search first if you only know the company name. Data may be delayed by the source.","tags":["finance","stocks","quotes","market-data","stock-price","etf","index","forex","crypto","trading","yahoo-finance"],"parameters":[{"name":"symbol","in":"query","required":true,"description":"Yahoo-style ticker, e.g. AAPL, BRK-B, ^GSPC, EURUSD=X, BTC-USD, 7203.T.","schema":{"type":"string","examples":["AAPL"]}}],"security":[{"x402":[]}],"x-payment-info":{"protocols":["x402"],"pricingMode":"fixed","price":"0.002","currency":"USD","network":"eip155:8453","networks":["eip155:8453"],"asset":"USDC"},"responses":{"200":{"description":"Result (the payment settles only for this status).","content":{"application/json":{"example":{"symbol":"AAPL","name":"Apple Inc.","type":"EQUITY","currency":"USD","exchange":"NasdaqGS","price":340.97,"previousClose":336.64,"change":4.33,"changePercent":1.2862,"dayHigh":342.63,"dayLow":337.6,"volume":25796997,"fiftyTwoWeekHigh":345.34,"fiftyTwoWeekLow":243.42,"marketTime":"2026-10-12T20:00:01.000Z","source":"Yahoo Finance","sourceUrl":"https://finance.yahoo.com/quote/AAPL"}}}},"400":{"description":"Invalid input. Not charged.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"charged":{"type":"boolean","const":false}}}}}}}},"402":{"description":"Payment required (x402). The PAYMENT-REQUIRED header (mirrored in the body) carries price, network and payTo."},"404":{"description":"Not found / no data. Not charged.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"charged":{"type":"boolean","const":false}}}}}}}},"502":{"description":"Upstream error. Not charged.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"charged":{"type":"boolean","const":false}}}}}}}},"504":{"description":"Upstream timeout. Not charged.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"charged":{"type":"boolean","const":false}}}}}}}}}}},"/v1/quotes":{"get":{"operationId":"quotes","summary":"Quotes for up to 10 tickers in one call (stocks, ETFs, indices, FX, crypto): price, change, % change, day and 52-week range, volume.","description":"Use to price a watchlist or portfolio in one paid call: pass up to 10 comma-separated Yahoo-style tickers (e.g. AAPL,MSFT,NVDA,SPY,BTC-USD). Each item has the same fields as /v1/quote; unknown symbols are listed in \"notFound\" instead of failing the whole call. Charged only if at least one symbol resolves.","tags":["finance","stocks","quotes","batch","watchlist","portfolio","market-data","crypto","etf"],"parameters":[{"name":"symbols","in":"query","required":true,"description":"Comma-separated tickers (1-10).","schema":{"type":"string","examples":["AAPL,MSFT,BTC-USD"]}}],"security":[{"x402":[]}],"x-payment-info":{"protocols":["x402"],"pricingMode":"fixed","price":"0.002","currency":"USD","network":"eip155:8453","networks":["eip155:8453"],"asset":"USDC"},"responses":{"200":{"description":"Result (the payment settles only for this status).","content":{"application/json":{"example":{"count":3,"quotes":[{"symbol":"AAPL","price":340.97,"changePercent":1.29},{"symbol":"MSFT","price":512.1,"changePercent":-0.3},{"symbol":"BTC-USD","price":83552.71,"changePercent":2.2}],"notFound":[],"source":"Yahoo Finance"}}}},"400":{"description":"Invalid input. Not charged.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"charged":{"type":"boolean","const":false}}}}}}}},"402":{"description":"Payment required (x402). The PAYMENT-REQUIRED header (mirrored in the body) carries price, network and payTo."},"404":{"description":"Not found / no data. Not charged.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"charged":{"type":"boolean","const":false}}}}}}}},"502":{"description":"Upstream error. Not charged.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"charged":{"type":"boolean","const":false}}}}}}}},"504":{"description":"Upstream timeout. Not charged.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"charged":{"type":"boolean","const":false}}}}}}}}}}},"/v1/history":{"get":{"operationId":"history","summary":"Historical OHLCV bars for a ticker: intraday (5m-1h) or daily/weekly/monthly, ranges from 1 day to max, with dividends and splits.","description":"Use for charts, backtests, returns and volatility: returns open/high/low/close/adjusted close/volume bars for one ticker over a range (1d, 5d, 1mo, 3mo, 6mo, ytd, 1y, 2y, 5y, 10y, max) at an interval (5m, 15m, 30m, 1h, 1d, 1wk, 1mo; intraday 5m-30m only up to 1mo, 1h up to 2y). Also returns period return %, high/low and dividends/splits in the range. Default interval depends on range. Up to \"limit\" most recent bars.","tags":["finance","stocks","history","ohlcv","candles","backtesting","charts","market-data","time-series","crypto"],"parameters":[{"name":"symbol","in":"query","required":true,"description":"Yahoo-style ticker.","schema":{"type":"string","examples":["AAPL"]}},{"name":"range","in":"query","required":false,"description":"Lookback range.","schema":{"type":"string","enum":["1d","5d","1mo","3mo","6mo","ytd","1y","2y","5y","10y","max"],"default":"1mo"}},{"name":"interval","in":"query","required":false,"description":"Bar size; default depends on range (1d->5m, 5d->30m, 1mo-1y->1d, 2y/5y->1wk, 10y/max->1mo).","schema":{"type":"string","enum":["5m","15m","30m","1h","1d","1wk","1mo"]}},{"name":"limit","in":"query","required":false,"description":"Max bars, most recent kept (1-2000).","schema":{"type":"string","default":"500"}}],"security":[{"x402":[]}],"x-payment-info":{"protocols":["x402"],"pricingMode":"fixed","price":"0.002","currency":"USD","network":"eip155:8453","networks":["eip155:8453"],"asset":"USDC"},"responses":{"200":{"description":"Result (the payment settles only for this status).","content":{"application/json":{"example":{"symbol":"AAPL","currency":"USD","range":"1mo","interval":"1d","count":21,"periodReturnPercent":4.2,"bars":[{"t":"2026-10-12T13:30:00.000Z","o":336.82,"h":342.63,"l":337.6,"c":340.97,"adjClose":340.97,"v":25796997}],"source":"Yahoo Finance"}}}},"400":{"description":"Invalid input. Not charged.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"charged":{"type":"boolean","const":false}}}}}}}},"402":{"description":"Payment required (x402). The PAYMENT-REQUIRED header (mirrored in the body) carries price, network and payTo."},"404":{"description":"Not found / no data. Not charged.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"charged":{"type":"boolean","const":false}}}}}}}},"502":{"description":"Upstream error. Not charged.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"charged":{"type":"boolean","const":false}}}}}}}},"504":{"description":"Upstream timeout. Not charged.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"charged":{"type":"boolean","const":false}}}}}}}}}}},"/v1/search":{"get":{"operationId":"search","summary":"Find ticker symbols by company, fund, index or coin name: symbol, name, type, exchange, sector and industry.","description":"Use to resolve a company or asset name to a tradable ticker before calling /v1/quote or /v1/history: \"apple\" -> AAPL, \"s&p 500\" -> ^GSPC, \"volkswagen\" -> VOW3.DE, \"bitcoin\" -> BTC-USD. Returns up to 20 matches with symbol, short/long name, quote type (EQUITY, ETF, INDEX, MUTUALFUND, CURRENCY, CRYPTOCURRENCY, FUTURE), exchange, sector and industry where known.","tags":["finance","stocks","ticker-lookup","symbol-search","search","company","etf","market-data"],"parameters":[{"name":"q","in":"query","required":true,"description":"Company, fund, index or asset name (or partial ticker).","schema":{"type":"string","examples":["apple"]}},{"name":"limit","in":"query","required":false,"description":"Max results (1-20).","schema":{"type":"string","default":"8"}}],"security":[{"x402":[]}],"x-payment-info":{"protocols":["x402"],"pricingMode":"fixed","price":"0.002","currency":"USD","network":"eip155:8453","networks":["eip155:8453"],"asset":"USDC"},"responses":{"200":{"description":"Result (the payment settles only for this status).","content":{"application/json":{"example":{"query":"apple","count":1,"results":[{"symbol":"AAPL","name":"Apple Inc.","type":"EQUITY","exchange":"NASDAQ","sector":"Technology","industry":"Consumer Electronics"}],"source":"Yahoo Finance"}}}},"400":{"description":"Invalid input. Not charged.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"charged":{"type":"boolean","const":false}}}}}}}},"402":{"description":"Payment required (x402). The PAYMENT-REQUIRED header (mirrored in the body) carries price, network and payTo."},"404":{"description":"Not found / no data. Not charged.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"charged":{"type":"boolean","const":false}}}}}}}},"502":{"description":"Upstream error. Not charged.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"charged":{"type":"boolean","const":false}}}}}}}},"504":{"description":"Upstream timeout. Not charged.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"charged":{"type":"boolean","const":false}}}}}}}}}}},"/v1/crypto":{"get":{"operationId":"crypto","summary":"Crypto prices by CoinGecko id or ticker symbol: price, 24h change %, market cap, 24h volume, in USD or other currencies.","description":"Use for cryptocurrency prices across thousands of coins and tokens: pass CoinGecko ids (bitcoin,ethereum,solana; up to 25) or ticker symbols (BTC,ETH,SOL; up to 5, resolved to the highest-ranked coin with that symbol). Returns price, 24h change %, market cap, 24h volume and last-updated time per coin, in one or more vs currencies (usd default; eur, btc, eth, …). Use /v1/crypto/search to find ids. For on-chain DEX prices of Base/Ethereum tokens by contract use ScrapeMole Onchain.","tags":["crypto","cryptocurrency","prices","bitcoin","ethereum","market-cap","coingecko","tokens","finance","market-data"],"parameters":[{"name":"ids","in":"query","required":false,"description":"Comma-separated CoinGecko coin ids (1-25). Either ids or symbols is required.","schema":{"type":"string","examples":["bitcoin,ethereum"]}},{"name":"symbols","in":"query","required":false,"description":"Comma-separated ticker symbols (1-5), e.g. BTC,ETH,SOL. Resolved via CoinGecko search.","schema":{"type":"string"}},{"name":"vs","in":"query","required":false,"description":"Comma-separated quote currencies (1-3).","schema":{"type":"string","default":"usd"}}],"security":[{"x402":[]}],"x-payment-info":{"protocols":["x402"],"pricingMode":"fixed","price":"0.002","currency":"USD","network":"eip155:8453","networks":["eip155:8453"],"asset":"USDC"},"responses":{"200":{"description":"Result (the payment settles only for this status).","content":{"application/json":{"example":{"vs":["usd"],"count":2,"coins":[{"id":"bitcoin","usd":83534,"usd24hChangePercent":-0.29,"usdMarketCap":1678858001942,"usd24hVolume":31895660399,"lastUpdated":"2026-10-13T06:11:50.000Z","sourceUrl":"https://www.coingecko.com/en/coins/bitcoin"}],"source":"CoinGecko"}}}},"400":{"description":"Invalid input. Not charged.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"charged":{"type":"boolean","const":false}}}}}}}},"402":{"description":"Payment required (x402). The PAYMENT-REQUIRED header (mirrored in the body) carries price, network and payTo."},"404":{"description":"Not found / no data. Not charged.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"charged":{"type":"boolean","const":false}}}}}}}},"502":{"description":"Upstream error. Not charged.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"charged":{"type":"boolean","const":false}}}}}}}},"504":{"description":"Upstream timeout. Not charged.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"charged":{"type":"boolean","const":false}}}}}}}}}}},"/v1/crypto/search":{"get":{"operationId":"cryptoSearch","summary":"Find CoinGecko coin ids by name or ticker: id, name, symbol, market cap rank, logo.","description":"Use to resolve a coin or token name/ticker (\"solana\", \"pepe\", \"usdc\") to its CoinGecko id for /v1/crypto. Returns up to 25 matches ordered by CoinGecko relevance with id, name, symbol, market-cap rank and logo thumbnail.","tags":["crypto","cryptocurrency","search","coingecko","tokens","lookup"],"parameters":[{"name":"q","in":"query","required":true,"description":"Coin name or ticker.","schema":{"type":"string","examples":["solana"]}},{"name":"limit","in":"query","required":false,"description":"Max results (1-25).","schema":{"type":"string","default":"10"}}],"security":[{"x402":[]}],"x-payment-info":{"protocols":["x402"],"pricingMode":"fixed","price":"0.001","currency":"USD","network":"eip155:8453","networks":["eip155:8453"],"asset":"USDC"},"responses":{"200":{"description":"Result (the payment settles only for this status).","content":{"application/json":{"example":{"query":"solana","count":1,"coins":[{"id":"solana","name":"Solana","symbol":"SOL","marketCapRank":7,"sourceUrl":"https://www.coingecko.com/en/coins/solana"}],"source":"CoinGecko"}}}},"400":{"description":"Invalid input. Not charged.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"charged":{"type":"boolean","const":false}}}}}}}},"402":{"description":"Payment required (x402). The PAYMENT-REQUIRED header (mirrored in the body) carries price, network and payTo."},"404":{"description":"Not found / no data. Not charged.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"charged":{"type":"boolean","const":false}}}}}}}},"502":{"description":"Upstream error. Not charged.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"charged":{"type":"boolean","const":false}}}}}}}},"504":{"description":"Upstream timeout. Not charged.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"charged":{"type":"boolean","const":false}}}}}}}}}}}}}