API Documentation
The AsherCore API is a plain HTTPS + JSON interface to our market-data platform. Every endpoint is a GET, every response is JSON, and the base URL is https://ashercore.com. No SDK required.
Introduction
AsherCore serves normalized market data — OHLCV candles, live prices, funding rates, order books and a full instrument catalog — across crypto, equities and forex, all from our own store. You get one key that spans every asset class.
# The canonical "hello world" — 3 hourly BTC candles curl "https://ashercore.com/api/market/candles?coin=BTC&interval=1h&limit=3" \ -H "Authorization: Bearer YOUR_ASHERCORE_KEY"
Authentication
Authenticate every request with your API key, available in your dashboard. Pass it either as a bearer token in the Authorization header (recommended) or as a key query parameter.
# Header (preferred) -H "Authorization: Bearer core_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" # …or query param ?key=core_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Rate limits & quotas
Each plan sets a monthly call quota and a per-second rate limit. Limits are returned on every response as headers:
| Header | Meaning |
|---|---|
X-RateLimit-Limit | Requests allowed per second on your plan. |
X-RateLimit-Remaining | Calls left in your monthly quota. |
Retry-After | Seconds to wait after a 429. |
| Plan | Monthly calls | Rate | History |
|---|---|---|---|
| Sandbox | 10,000 | 1 / sec | 30 days |
| Starter | 500,000 | 10 / sec | Full |
| Growth | 5,000,000 | 50 / sec | Full |
| Scale | 25,000,000 | 200 / sec | Full |
Errors
AsherCore uses standard HTTP status codes. Error bodies carry an error string.
| Code | Meaning |
|---|---|
200 | OK. |
400 | Bad request — e.g. an unsupported interval. |
401 | Missing or invalid API key. |
429 | Rate limit or monthly quota exceeded. |
500 | Server error — retry with backoff. |
Candles
OHLCV candles for any instrument, at the native base interval resampled to your requested timeframe.
| Param | Type | Description |
|---|---|---|
coin required | string | Ticker, e.g. BTC, ETH, AAPL, EURUSD. |
interval | string | 1m · 5m · 15m · 1h · 4h · 1D · 1W. Default 1h. |
limit | int | Bars to return, 10–5000. Default 200. |
before | int | Unix-seconds cursor for scroll-back — returns bars strictly older than this. |
venue | string | Optional venue override — one of /api/market/venues. |
// Response { "coin": "BTC", "interval": "1h", "exchange": "Binance", "source": "Binance Spot", "candles": [ { "time": 1723420800, "open": 61240.1, "high": 61510.0, "low": 61180.4, "close": 61432.7, "volume": 812.44 } ] }
Catalog
The full instrument universe — every symbol we ingest, pre-tagged with venue and asset class. No parameters. Cached ~5 minutes.
{ "updated": 1723420800000, "count": 2506,
"coins": [ { "symbol": "BTC", "venue": "binance", "class": "crypto" } ] }
Coins
The fast, cached snapshot of priced majors — last price and change for the top instruments. Ideal for a default watchlist view.
Quote
Latest quote for a single instrument.
| Param | Type | Description |
|---|---|---|
coin required | string | Ticker, e.g. ETH. |
Mids
Live mid prices — the low-latency map of ticker → price for building tickers and dashboards.
Funding
Perpetual funding rates by instrument. Pair with /api/market/funding-radar for a ranked, cross-venue view of the richest funding.
Order book
Order-book depth snapshot for an instrument (bids/asks). Growth plan and above.
| Param | Type | Description |
|---|---|---|
coin required | string | Ticker, e.g. BTC. |
Screener
A ranked, filterable slice of the universe — perfect for discovery UIs and dynamic watchlists.
Venues
The venues we ingest and their coverage metadata — use the returned ids as the venue parameter on /api/market/candles.