BRVM Data API
Market data for developers
Access real-time and historical BRVM stock data through a clean REST API. Build trading bots, dashboards, research tools, and more.
# Get all BRVM stocks curl https://djai.app/api/v1/stocks # Get Sonatel price history (1 year) curl https://djai.app/api/v1/stocks/SNTS/history?period=1y
Base URL
https://djai.app/api/v1All endpoints return JSON with a consistent data + meta structure.
Authentication
Pass your API key via the x-api-key header:
curl -H "x-api-key: YOUR_API_KEY" \ https://djai.app/api/v1/stocks
No key? The free tier allows 10 requests/hour per IP.
Response Format
Success (200)
{
"data": { ... },
"meta": {
"timestamp": "2026-03-21T12:00:00.000Z",
"source": "DJAI BRVM API"
}
}Error (4xx / 5xx)
{
"error": {
"code": "RATE_LIMITED",
"message": "Rate limit exceeded..."
},
"meta": {
"timestamp": "2026-03-21T12:00:00.000Z",
"source": "DJAI BRVM API"
}
}Endpoints
Available Resources
GET
/api/v1/stocksList all active BRVM stocks with their current price and sector.
Example
curl "https://djai.app/api/v1/stocks"
With API Key
curl -H "x-api-key: YOUR_KEY" "https://djai.app/api/v1/stocks"
Response
{
"data": {
"data": [
{
"ticker": "SNTS",
"name": "Sonatel",
"current_price": 18500,
"change_pct": 1.37,
"sectors": { "id": "...", "name": "Telecoms" }
}
],
"count": 48
},
"meta": { "timestamp": "2026-03-21T12:00:00Z", "source": "DJAI BRVM API" }
}GET
/api/v1/stocks/:tickerGet detailed information for a single stock.
Example
curl "https://djai.app/api/v1/stocks/SNTS"
With API Key
curl -H "x-api-key: YOUR_KEY" "https://djai.app/api/v1/stocks/SNTS"
Response
{
"data": {
"data": {
"ticker": "SNTS",
"name": "Sonatel",
"current_price": 18500,
"change_pct": 1.37,
"sectors": { "id": "...", "name": "Telecoms" }
}
},
"meta": { "timestamp": "...", "source": "DJAI BRVM API" }
}GET
/api/v1/stocks/:ticker/historyRetrieve historical daily OHLCV prices for a stock.
Query Parameters
| Name | Type | Description |
|---|---|---|
period | string | 30d | 90d | 1y | 5y (default: 90d) |
from | string | Start date YYYY-MM-DD (overrides period) |
to | string | End date YYYY-MM-DD |
Example
curl "https://djai.app/api/v1/stocks/SNTS/history?period=1y"
With API Key
curl -H "x-api-key: YOUR_KEY" "https://djai.app/api/v1/stocks/SNTS/history?period=1y"
Response
{
"data": {
"data": [
{ "ticker": "SNTS", "date": "2025-03-21", "open": 18400, "high": 18600, "low": 18300, "close": 18500, "volume": 1234 }
],
"count": 252
},
"meta": { "timestamp": "...", "source": "DJAI BRVM API" }
}GET
/api/v1/sectorsList all sectors with their associated stocks.
Example
curl "https://djai.app/api/v1/sectors"
With API Key
curl -H "x-api-key: YOUR_KEY" "https://djai.app/api/v1/sectors"
Response
{
"data": {
"data": [
{
"id": "...",
"name": "Industrie",
"stocks": [
{ "ticker": "UNLC", "name": "Unilever CI", "current_price": 5100, "change_pct": -0.5 }
]
}
],
"count": 8
},
"meta": { "timestamp": "...", "source": "DJAI BRVM API" }
}GET
/api/v1/newsGet the latest BRVM news articles. Optionally filter by ticker.
Query Parameters
| Name | Type | Description |
|---|---|---|
ticker | string | Filter by stock ticker (optional) |
limit | number | Number of articles, 1-50 (default: 10) |
Example
curl "https://djai.app/api/v1/news?ticker=SNTS&limit=5"
With API Key
curl -H "x-api-key: YOUR_KEY" "https://djai.app/api/v1/news?ticker=SNTS&limit=5"
Response
{
"data": {
"data": [
{
"id": "...",
"title": "Sonatel publie ses resultats annuels",
"published_at": "2026-03-20T08:00:00Z",
"tickers": ["SNTS"]
}
],
"count": 5
},
"meta": { "timestamp": "...", "source": "DJAI BRVM API" }
}Pricing
API Access Tiers
Start for free, upgrade when you need more capacity.
Free
10 requests / hour
0 FCFA
- All endpoints accessible
- No API key required
- Rate limited by IP address
- Community support
Developer
1 000 requests / hour
Coming soon
- All endpoints accessible
- API key authentication
- Higher rate limits
- Email support
Business
Custom
Contact us
- Unlimited requests
- Dedicated API key
- Webhook notifications
- Priority support
- Custom data exports
Error Codes
| HTTP | Code | Description |
|---|---|---|
400 | INVALID_PARAM | A query parameter has an invalid value. |
401 | INVALID_API_KEY | The x-api-key header contains an unknown key. |
404 | NOT_FOUND | The requested resource does not exist. |
429 | RATE_LIMITED | You have exceeded the rate limit for your tier. |
500 | DB_ERROR | A database error occurred on our side. |
500 | INTERNAL_ERROR | An unexpected server error. |