# Bulgarian Stock Exchange (BSE Sofia) API
> Live Bulgarian equity data from the Bulgarian Stock Exchange (BSE Sofia): real-time quotes for any listed stock by ticker (price, % change, intraday OHLC, volume, market cap), a ranking screener for gainers, losers, most-active and top market-cap local primary listings, and the Sofia index family (SOFIX, BGB 40 and BG REIT). Foreign depositary receipts are filtered out so you get only genuine Bulgarian companies such as Shelly Group, Sopharma, Speedy and First Investment Bank.

## 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/bulgaria-stock-api/..."
```

## Pricing
- **Free** (Free) — 1,480 calls/Mo, 3 req/s
- **Basic** ($12/Mo) — 44,800 calls/Mo, 7 req/s
- **Pro** ($37/Mo) — 188,000 calls/Mo, 17 req/s
- **Business** ($76/Mo) — 779,000 calls/Mo, 44 req/s

## Endpoints

### Quotes

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

**Parameters:**
- `symbols` (query, required, string) — Comma-separated BSE Sofia tickers (up to 20) Example: `SLYG,SFA,FIB`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/bulgaria-stock-api/v1/quote?symbols=SLYG%2CSFA%2CFIB"
```

**Response:**
```json
{
    "data": {
        "count": 3,
        "market": "BSESOF",
        "quotes": [
            {
                "low": 60.1,
                "high": 60.4,
                "last": 60.1,
                "name": "Shelly Group PLC",
                "open": 60.2,
                "pe_ttm": 40.5232,
                "sector": "Communications",
                "symbol": "SLYG",
                "ticker": "BSESOF:SLYG",
                "volume": 62,
                "currency": "EUR",
                "change_abs": -0.4,
                "change_pct": -0.6612,
                "market_cap": 1094176255
            },
            {
                "low": 1.87,
                "high": 1.89,
                "last": 1.89,
                "name": "Sopharma AD",
                "open": 1.89,
                "pe_ttm": 13.0165,
                "sector": "Health Technology",
                "symbol": "SFA",
                "ticker": "BSESOF:SFA",
                "volume": 7090,
                "currency": "EUR",
                "change_abs": 0,
                "change_pct": 0,
                "market_cap": 968573428
            },
            {
                "low": 3.12,
                "high": 3.12,
                "last": 3.12,
                "name": "First Investment Bank AD",
                "open": 3.12,
                "pe_ttm": 4.7699,
                "sector": "Finance",
                "symbol": "FIB",
                "ticker": "BSESOF:FIB",
                "volume": 5,
                
…(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/bulgaria-stock-api/v1/screener?sort=market_cap&order=desc&limit=25"
```

**Response:**
```json
{
    "data": {
        "sort": "market_cap",
        "count": 25,
        "order": "desc",
        "market": "BSESOF",
        "results": [
            {
                "low": 60.1,
                "high": 60.4,
                "last": 60.1,
                "name": "Shelly Group PLC",
                "open": 60.2,
                "pe_ttm": 40.5232,
                "sector": "Communications",
                "symbol": "SLYG",
                "ticker": "BSESOF:SLYG",
                "volume": 62,
                "currency": "EUR",
                "change_abs": -0.4,
                "change_pct": -0.6612,
                "market_cap": 1094176255
            },
            {
                "low": 1.87,
                "high": 1.89,
                "last": 1.89,
                "name": "Sopharma AD",
                "open": 1.89,
                "pe_ttm": 13.0165,
                "sector": "Health Technology",
                "symbol": "SFA",
                "ticker": "BSESOF:SFA",
                "volume": 7090,
                "currency": "EUR",
                "change_abs": 0,
                "change_pct": 0,
                "market_cap": 968573428
            },
            {
                "low": 8.55,
                "high": 8.55,
                "last": 8.55,
                "name": "Tchaikapharma High Quality Medicines, Inc.",
                "open": 8.55,
                "pe_ttm": 215.9091,
                "sector": "Health Technology",
                "symbol": "THQM
…(truncated, see openapi.json for full schema)
```

### Indices

#### `GET /v1/index` — Sofia indices (SOFIX family)

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

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

**Response:**
```json
{
    "data": {
        "count": 1,
        "market": "BSESOF",
        "indices": [
            {
                "low": 1245.65,
                "high": 1254.52,
                "name": "SOFIX BGN",
                "open": 1250.42,
                "index": "SOFIX",
                "label": "SOFIX",
                "value": 1245.79,
                "change_abs": -4.63,
                "change_pct": -0.3703
            }
        ]
    },
    "meta": {
        "timestamp": "2026-06-15T11:16:04.277Z",
        "request_id": "6669227f-746a-4aaa-baff-dd6eca1acfc6"
    },
    "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/bulgaria-stock-api/v1/meta"
```

**Response:**
```json
{
    "data": {
        "market": "Bulgarian Stock Exchange (BSE Sofia)",
        "source": "TradingView screener (bulgaria market), keyless",
        "country": "Bulgaria",
        "indices": [
            "SOFIX",
            "BGBX40",
            "BGREIT"
        ],
        "currency": "EUR",
        "examples": {
            "index": "/v1/index",
            "quote": "/v1/quote?symbols=SLYG,SFA,FIB",
            "screener": "/v1/screener?sort=change&order=desc&limit=10"
        },
        "endpoints": {
            "/v1/index": "Sofia indices (SOFIX, BGB 40 = BGBX40, BG REIT = BGREIT)",
            "/v1/quote": "live quote for one or more BSE Sofia stocks by ticker (symbols=SLYG,SFA,FIB)",
            "/v1/screener": "rank local primary listings by market_cap | change | volume (sort, order, limit)"
        },
        "cache_ttl_ms": 20000
    },
    "meta": {
        "timestamp": "2026-06-15T11:16:04.366Z",
        "request_id": "d769d3e7-6e15-453b-ade9-20798341be5a"
    },
    "status": "ok",
    "message": "Meta",
    "success": true
}
```


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