# Euronext Brussels (BEL 20) API
> Live Belgian equity data from Euronext Brussels: real-time quotes for any listed stock by ticker (price, % change, intraday OHLC, volume, market cap in EUR), a ranking screener for gainers, losers, most-active and top market-cap local primary listings, and the Brussels BEL 20 index. Foreign depositary receipts are filtered out so you get only genuine Belgian companies such as Anheuser-Busch InBev, KBC Group, UCB, argenx and Elia Group.

## Authentication
All requests require your oanor API key in the `x-oanor-key` header. Get one at https://www.oanor.com/developer/keys.

```bash
curl -H "x-oanor-key: oanor_live_…" "https://api.oanor.com/belgium-stock-api/..."
```

## Pricing
- **Free** (Free) — 1,500 calls/Mo, 2 req/s
- **Basic** ($12/Mo) — 45,000 calls/Mo, 5 req/s
- **Pro** ($34/Mo) — 182,000 calls/Mo, 15 req/s
- **Business** ($75/Mo) — 750,000 calls/Mo, 40 req/s

## Endpoints

### Quotes

#### `GET /v1/quote` — Live quote for one or more Brussels stocks

**Parameters:**
- `symbols` (query, required, string) — Comma-separated Brussels tickers (up to 20) Example: `ABI,KBC,UCB`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/belgium-stock-api/v1/quote?symbols=ABI%2CKBC%2CUCB"
```

**Response:**
```json
{
    "data": {
        "count": 3,
        "market": "EBR",
        "quotes": [
            {
                "low": 70.84,
                "high": 71.52,
                "last": 71.28,
                "name": "Anheuser-Busch InBev SA/NV",
                "open": 71.26,
                "pe_ttm": 23.6434,
                "sector": "Consumer Non-Durables",
                "symbol": "ABI",
                "ticker": "EURONEXT:ABI",
                "volume": 1656502,
                "currency": "EUR",
                "change_abs": 0.2,
                "change_pct": 0.2814,
                "market_cap": 141407693081
            },
            {
                "low": 112.9,
                "high": 115.5,
                "last": 114.6,
                "name": "KBC Group N.V.",
                "open": 113.2,
                "pe_ttm": 13.1593,
                "sector": "Finance",
                "symbol": "KBC",
                "ticker": "EURONEXT:KBC",
                "volume": 483123,
                "currency": "EUR",
                "change_abs": 3.75,
                "change_pct": 3.3829,
                "market_cap": 47864119065
            },
            {
                "low": 264.7,
                "high": 275.5,
                "last": 274.9,
                "name": "UCB S.A.",
                "open": 269.3,
                "pe_ttm": 34.2623,
                "sector": "Health Technology",
                "symbol": "UCB",
                "ticker": "EURONEXT:UCB",
          
…(truncated, see openapi.json for full schema)
```

### Screener

#### `GET /v1/screener` — Rank local primary listings

**Parameters:**
- `sort` (query, optional, string) — Sort field: market_cap, change or volume Example: `market_cap`
- `order` (query, optional, string) — asc or desc Example: `desc`
- `limit` (query, optional, string) — Number of results (1-100) Example: `25`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/belgium-stock-api/v1/screener?sort=market_cap&order=desc&limit=25"
```

**Response:**
```json
{
    "data": {
        "sort": "market_cap",
        "count": 25,
        "order": "desc",
        "market": "EBR",
        "results": [
            {
                "low": 70.84,
                "high": 71.52,
                "last": 71.28,
                "name": "Anheuser-Busch InBev SA/NV",
                "open": 71.26,
                "pe_ttm": 23.6434,
                "sector": "Consumer Non-Durables",
                "symbol": "ABI",
                "ticker": "EURONEXT:ABI",
                "volume": 1656502,
                "currency": "EUR",
                "change_abs": 0.2,
                "change_pct": 0.2814,
                "market_cap": 141407693081
            },
            {
                "low": 264.7,
                "high": 275.5,
                "last": 274.9,
                "name": "UCB S.A.",
                "open": 269.3,
                "pe_ttm": 34.2623,
                "sector": "Health Technology",
                "symbol": "UCB",
                "ticker": "EURONEXT:UCB",
                "volume": 169042,
                "currency": "EUR",
                "change_abs": 3.9,
                "change_pct": 1.4391,
                "market_cap": 52229958569
            },
            {
                "low": 771,
                "high": 787,
                "last": 783.6,
                "name": "argenx SE",
                "open": 774,
                "pe_ttm": 45.7027,
                "sector": "Health Technology",
                "symbol": "ARG
…(truncated, see openapi.json for full schema)
```

### Indices

#### `GET /v1/index` — Brussels index (BEL 20)

**Parameters:**
- `symbol` (query, optional, string) — Optional specific index symbol(s) Example: `BEL20`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/belgium-stock-api/v1/index?symbol=BEL20"
```

**Response:**
```json
{
    "data": {
        "count": 1,
        "market": "EBR",
        "indices": [
            {
                "low": 5675.91,
                "high": 5738.75,
                "name": "BEL 20 Index",
                "open": 5675.91,
                "index": "BEL20",
                "value": 5737.19,
                "change_abs": 90.32,
                "change_pct": 1.5995
            }
        ]
    },
    "meta": {
        "timestamp": "2026-06-15T02:10:05.541Z",
        "request_id": "ff01954a-a3f8-4a7c-8af0-23a510340f0f"
    },
    "status": "ok",
    "message": "Index retrieved successfully",
    "success": true
}
```

### Meta

#### `GET /v1/meta` — Market metadata & endpoint guide

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/belgium-stock-api/v1/meta"
```

**Response:**
```json
{
    "data": {
        "market": "Euronext Brussels",
        "source": "TradingView screener (belgium market), keyless",
        "country": "Belgium",
        "indices": [
            "BEL20",
            "BELP",
            "BEL20NR"
        ],
        "currency": "EUR",
        "examples": {
            "index": "/v1/index",
            "quote": "/v1/quote?symbols=ABI,KBC,UCB",
            "screener": "/v1/screener?sort=change&order=desc&limit=10"
        },
        "endpoints": {
            "/v1/index": "Brussels index (BEL 20)",
            "/v1/quote": "live quote for one or more Brussels stocks by ticker (symbols=ABI,KBC,UCB)",
            "/v1/screener": "rank local primary listings by market_cap | change | volume (sort, order, limit)"
        },
        "cache_ttl_ms": 20000
    },
    "meta": {
        "timestamp": "2026-06-15T02:10:05.636Z",
        "request_id": "62204c15-73ed-4b81-9d3d-5a8903d604cd"
    },
    "status": "ok",
    "message": "Meta",
    "success": true
}
```


---
Marketplace page: https://www.oanor.com/api/belgium-stock-api
OpenAPI spec: https://www.oanor.com/api/belgium-stock-api/openapi.json
