Stock Quotes (Prices)
Access high-quality End-of-Day (EOD) historical pricing and intraday minute-by-minute bar data. Query single or multiple tickers simultaneously with custom lookback periods and dynamic pagination.
https://data.businessquant.com/quotes?ticker={ticker}&mode={mode}&api_key={api_key}
Supported Data Modes
The API supports three distinct resolution modes to power everything from long-term backtesting to live-market dashboards:
daily(Dynamic Daily): The default. Returns historical End-of-Day data, but seamlessly merges the latest ongoing live quote at the very top during active market hours.eod(Strictly End of Day): Returns only fully completed, historical daily closes. No live market data is appended.minute-bars(Intraday): High-resolution, 1-minute interval quotes for granular intraday charting and analysis.
Parameters
The Quotes endpoint uses URL query parameters to define the target securities, the data resolution, and the time horizon. It supports querying multiple tickers in a single request for optimized data fetching.
| Parameter | Description |
|---|---|
| api_key |
Required
Your unique API key for authentication.
|
| ticker |
Required
String
A single stock ticker or a comma-separated list of tickers.
Format:
ticker=AAPL,MSFT |
| mode |
Optional
The resolution of the pricing data. Valid options are daily (default), eod, or minute-bars.
Format:
mode=daily |
| period |
Conditional
Lookback period to fetch data relative to today. Valid determinants are d (days), w (weeks), mo (months), and y (years).
Format:
period=1mo |
| from_date |
Conditional
Start date for a custom range. Must be in YYYY-MM-DD format.
Format:
from_date=2023-01-01 |
| till_date |
Conditional
End date for a custom range. Must be in YYYY-MM-DD format.
Format:
till_date=2023-12-31 |
| page |
Optional
The page number for pagination. Default is 1.
Format:
page=1 |
| limit |
Optional
The maximum number of records to return per page.
Format:
limit=100 |
curl -X GET "https://data.businessquant.com/quotes?ticker=AAPL&mode=daily&period=1mo&limit=100&api_key=YOUR_API_KEY"
{
"metadata": {
"cik": 320193,
"ticker": "AAPL",
"companyname": "Apple Inc.",
"companyname_short": "Apple",
"from_date": "2023-11-20",
"till_date": "2023-12-20",
"mode": "daily",
"pagination": {
"current_page": 1,
"limit": 100,
"total_records": 22,
"total_pages": 1
}
},
"data": [
{
"date": "2023-12-20 16:00:00",
"open": 196.90,
"high": 197.68,
"low": 194.83,
"close": 194.83,
"volume": 52242815
},
{
"date": "2023-12-19 16:00:00",
"open": 196.16,
"high": 196.95,
"low": 195.89,
"close": 196.94,
"volume": 40714051
},
{
"date": "2023-12-18 16:00:00",
"open": 196.09,
"high": 196.63,
"low": 194.39,
"close": 195.89,
"volume": 55751861
},
{
"date": "2023-12-15 16:00:00",
"open": 197.53,
"high": 198.40,
"low": 197.00,
"close": 197.57,
"volume": 128256749
},
{
"date": "2023-12-14 16:00:00",
"open": 198.02,
"high": 199.62,
"low": 196.16,
"close": 198.11,
"volume": 66831581
}
]
}
Architecture: Multi-Ticker Payload & Real-Time Merging
The Quotes endpoint is uniquely designed to optimize bulk data fetching and provide the freshest data possible. Here is how the API handles complex requests:
1. Multi-Ticker Output Wrapping:
When you query multiple tickers simultaneously (e.g., ticker=AAPL,MSFT), the API intelligently avoids mixing the data. Instead of a flat array, it returns a Dictionary Object where the exact ticker strings act as the parent keys, each containing its own isolated metadata and data blocks.
{
"AAPL": {
"metadata": { ... },
"data": [ ... ]
},
"MSFT": {
"metadata": { ... },
"data": [ ... ]
}
}
2. Real-Time Interim Merging (Daily Mode):
When fetching daily data while the market is actively open, waiting for End-of-Day processing isn't viable. The API automatically queries our Interim Real-Time Engine and dynamically injects the current live trading bar at the very top of your data array (Index 0), seamlessly merging historical and live data into one continuous stream.
Smart Behavior
If the market has closed but EOD processing hasn't finished, the API will update the live bar to lock in at 16:00:00. This guarantees you always have the latest daily close without needing a separate endpoint.
Endpoint Variations
Below are the distinct ways to format your request for high-frequency or custom time-series data.
https://data.businessquant.com/quotes?ticker=AAPL&mode=minute-bars&period=1d&limit=500&api_key=YOUR_API_KEY
https://data.businessquant.com/quotes?ticker=AAPL&mode=eod&period=1mo&limit=100&api_key=YOUR_API_KEY
https://data.businessquant.com/quotes?ticker=AAPL,MSFT&mode=daily&from_date=2020-01-01&till_date=2023-12-31&api_key=YOUR_API_KEY