# Frontier Labs Stocks API - Agent Guide Minimal REST API for real-time stock prices. No key required. Base URL: https://stocks.frontierlabs.nl ## Endpoints - GET /{TICKER} Price shorthand, e.g. /AAPL (alias for /api/v1/price?ticker=AAPL). Case-insensitive. - GET /api/v1/price?ticker=X Latest regular-market price for ticker X. - GET /list Featured symbols, each with a live quote: {"count": N, "quotes": [{ticker,price,currency,timestamp,healthPercentage}, ...]}. - GET /api/v1 Service discovery (JSON catalog). - GET /openapi.json Machine-readable spec. Tickers: A-Z a-z 0-9 . - = (max 12). Reserved paths (/, /list, /openapi.json, /AGENTS.md, /api/...) are never treated as tickers. ## Response Default (200): { "ticker": "AAPL", "price": 175.42, "currency": "USD", "timestamp": 1711978432, "healthPercentage": 53.2 } "timestamp" is upstream regular-market epoch seconds (UTC). "healthPercentage" is a naive 0-100 technical-health score from price action (60+ healthy, 40-60 neutral, below 40 weak; UI sub-tiers Very healthy >=75, Very weak <25); a display heuristic, not company fundamentals or financial advice, omitted when no signal. Add &full=1 to also get: - "percentChange": daily move vs previous close (%) - "meta": every raw upstream field - "derived": computed analytics (companyName, exchange, asOf, previousClose, dayChange, dayRange, fiftyTwoWeekRange, volume, priceDecimals) - "series": intraday { interval, range, points:[{t,c}] } (<=120 points; absent on the fallback source) ## Errors 400 missing/invalid ticker | 404 not found or delisted | 500 upstream unreachable Body: { "error": "message" } ## Notes - Thin proxy: keep to a few requests per second. - Detected agents (bot/LLM User-Agent, or "x-agent: true") get an extra "help" field, and GET / returns this guide instead of the HTML page.