BAKO
API DocsAccess historical prices and ML-powered predictions for 40,000+ stocks, ETFs, and cryptocurrencies via a simple REST API.
Paid endpoints require an API key passed via the api-key header. Get your key by signing up
and subscribing.
curl -H "api-key: YOUR_API_KEY" \ https://api.bako.co/v1/history?symbol=NVDA
The /v1/symbols endpoint is free and does not require an API key.
Search and browse all available symbols. No API key required.
| Parameter | Type | Description |
|---|---|---|
| type | string optional | stock, etf, or crypto. Omit for all types. |
| search | string optional | Partial match on ticker symbol (e.g., NVD matches NVDA). |
| limit | integer optional | Results per page. Default: 100, max: 1000. |
| offset | integer optional | Pagination offset. Default: 0. |
{
"total": 34236,
"limit": 2,
"offset": 0,
"count": 2,
"data": [
{ "symbol": "NVDA", "type": "Stock", "exchange": "NASDAQ", "startDate": "1999-01-22", "endDate": "2026-06-18" },
{ "symbol": "NVDL", "type": "ETF", "exchange": "NASDAQ", "startDate": "2022-12-13", "endDate": "2026-06-18" }
]
}
Retrieve historical close prices for a symbol.
| Parameter | Type | Description |
|---|---|---|
| symbol | string required | Ticker symbol (e.g., NVDA, btcusd). |
| type | string optional | Asset type (stock or crypto). Useful to specify when a stock
and crypto share the same ticker symbol. |
| startDate | string optional | ISO date string (YYYY-MM-DD). |
| endDate | string optional | ISO date string (YYYY-MM-DD). |
{
"symbol": "NVDA",
"count": 500,
"data": [
{
"date": "2024-01-02",
"price": 48.16
},
{
"date": "2024-01-03",
"price": 47.56
},
{
"date": "2024-01-04",
"price": 47.99
}
...
]
}
Get ML-powered price predictions. Returns up to 100 days of forecasted prices. Predictions are generated daily using Vertex AI (TimesFM) and TensorFlow.js models, enhanced with real-time news analysis.
| Parameter | Type | Description |
|---|---|---|
| symbol | string required | Ticker symbol (e.g., NVDA, btcusd). |
| type | string optional | Asset type (stock or crypto). Useful to specify when a stock
and crypto share the same ticker symbol. |
| predictionDate | string optional | Prediction date version (YYYY-MM-DD). Defaults to latest available. |
| startDate | string optional | ISO date string (YYYY-MM-DD). |
| endDate | string optional | ISO date string (YYYY-MM-DD). |
{
"symbol": "NVDA",
"predictionDate": "2026-06-20",
"horizon": 100,
"count": 100,
"data": [
{
"date": "2026-06-21",
"price": 120.50
},
{
"date": "2026-06-22",
"price": 121.25
},
...
]
}
The API uses standard HTTP status codes:
| Code | Meaning |
|---|---|
| 200 | Success |
| 400 | Bad request — missing required parameters |
| 401 | Unauthorized — invalid or missing API key |
| 404 | Not found — symbol or prediction data not available |
| 429 | Rate limited — daily quota exceeded |
| 500 | Server error |
API calls are rate-limited per API key on a daily basis. When you exceed your daily quota, the API
returns a 429 status code. Usage resets at midnight UTC.
Upgrade your plan for higher limits, or contact us for enterprise needs.