Quickstart
Create a key, call the API, and know what to do next.
1. Create an API key
Open the dashboard and create a key:
https://noxstock.com/dashboard/keysCopy the key once. Keys start with nxs_ and are sent in the X-API-Key header.
Treat API keys as secrets. Do not paste full keys into chat, logs, GitHub issues, screenshots, or frontend code.
2. Set your environment
export NOXSTOCK_API_BASE_URL="https://api.noxstock.com"
export NOXSTOCK_API_KEY="nxs_your_api_key"3. Discover a supported symbol
curl "$NOXSTOCK_API_BASE_URL/v2/search?query=apple" \
-H "X-API-Key: $NOXSTOCK_API_KEY"4. Check coverage
curl "$NOXSTOCK_API_BASE_URL/v2/coverage?symbol=AAPL" \
-H "X-API-Key: $NOXSTOCK_API_KEY"Use coverage before building batch jobs. It tells you whether a symbol is supported and what kind of asset it is.
5. Pull a snapshot
curl "$NOXSTOCK_API_BASE_URL/v2/snapshot?symbol=AAPL" \
-H "X-API-Key: $NOXSTOCK_API_KEY"Snapshot is the default first call for most workflows. It combines quote, performance, 52-week range, quick valuation/fundamental facts, sector, and industry when available.
6. Add depth only when needed
# Valuation is free-tier accessible.
curl "$NOXSTOCK_API_BASE_URL/v2/valuation?symbol=AAPL" \
-H "X-API-Key: $NOXSTOCK_API_KEY"
# Starter/Builder routes.
curl "$NOXSTOCK_API_BASE_URL/v2/fundamentals?symbol=AAPL&period=quarter" \
-H "X-API-Key: $NOXSTOCK_API_KEY"
curl "$NOXSTOCK_API_BASE_URL/v2/filings?symbol=AAPL&form=10-K,10-Q&limit=5" \
-H "X-API-Key: $NOXSTOCK_API_KEY"Use from JavaScript
const res = await fetch("https://api.noxstock.com/v2/snapshot?symbol=AAPL", {
headers: { "X-API-Key": process.env.NOXSTOCK_API_KEY! },
});
if (!res.ok) {
const { error } = await res.json();
throw new Error(`${error.code}: ${error.message}`);
}
const { data } = await res.json();
console.log(data.symbol, data.freshness, data.quote?.price);Use from Python
import os
import httpx
headers = {"X-API-Key": os.environ["NOXSTOCK_API_KEY"]}
with httpx.Client(base_url="https://api.noxstock.com", headers=headers, timeout=30) as client:
response = client.get("/v2/snapshot", params={"symbol": "AAPL"})
response.raise_for_status()
print(response.json()["data"])