# Zagreb Stock Exchange (ZSE) API
> Live Croatian equity data from the Zagreb Stock Exchange (ZSE): 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 CROBEX index family (CROBEX, CROBEX Total Return, CROBEX Plus). Foreign depositary receipts are filtered out so you get only genuine Croatian companies such as Zagrebacka banka, INA, Hrvatski Telekom and KONCAR.

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

## Pricing
- **Free** (Free) — 1,520 calls/Mo, 3 req/s
- **Basic** ($13/Mo) — 46,200 calls/Mo, 7 req/s
- **Pro** ($39/Mo) — 195,000 calls/Mo, 18 req/s
- **Business** ($79/Mo) — 812,000 calls/Mo, 45 req/s

## Endpoints

### Quotes

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

**Parameters:**
- `symbols` (query, required, string) — Comma-separated ZSE tickers (up to 20) Example: `ZABA,INA,HT`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/croatia-stock-api/v1/quote?symbols=ZABA%2CINA%2CHT"
```

**Response:**
```json
{
    "data": {
        "count": 3,
        "market": "ZSE",
        "quotes": [
            {
                "low": 22.9,
                "high": 23.3,
                "last": 22.9,
                "name": "Zagrebacka banka dd",
                "open": 23.1,
                "pe_ttm": 12.7321,
                "sector": "Finance",
                "symbol": "ZABA",
                "ticker": "ZSE:ZABA",
                "volume": 3491,
                "currency": "EUR",
                "change_abs": -0.1,
                "change_pct": -0.4348,
                "market_cap": 7362649689
            },
            {
                "low": 520,
                "high": 520,
                "last": 520,
                "name": "INA-Industrija nafte d.d.",
                "open": 520,
                "pe_ttm": 36.7751,
                "sector": "Energy Minerals",
                "symbol": "INA",
                "ticker": "ZSE:INA",
                "volume": 10,
                "currency": "EUR",
                "change_abs": 0,
                "change_pct": 0,
                "market_cap": 5200000000
            },
            {
                "low": 39.4,
                "high": 40,
                "last": 39.8,
                "name": "Hrvatski Telekom d.d.",
                "open": 39.4,
                "pe_ttm": 20.8039,
                "sector": "Communications",
                "symbol": "HT",
                "ticker": "ZSE:HT",
                "volume": 3249,
                "cu
…(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/croatia-stock-api/v1/screener?sort=market_cap&order=desc&limit=25"
```

**Response:**
```json
{
    "data": {
        "sort": "market_cap",
        "count": 25,
        "order": "desc",
        "market": "ZSE",
        "results": [
            {
                "low": 22.9,
                "high": 23.3,
                "last": 22.9,
                "name": "Zagrebacka banka dd",
                "open": 23.1,
                "pe_ttm": 12.7321,
                "sector": "Finance",
                "symbol": "ZABA",
                "ticker": "ZSE:ZABA",
                "volume": 3491,
                "currency": "EUR",
                "change_abs": -0.1,
                "change_pct": -0.4348,
                "market_cap": 7362649689
            },
            {
                "low": 520,
                "high": 520,
                "last": 520,
                "name": "INA-Industrija nafte d.d.",
                "open": 520,
                "pe_ttm": 36.7751,
                "sector": "Energy Minerals",
                "symbol": "INA",
                "ticker": "ZSE:INA",
                "volume": 10,
                "currency": "EUR",
                "change_abs": 0,
                "change_pct": 0,
                "market_cap": 5200000000
            },
            {
                "low": 39.4,
                "high": 40,
                "last": 39.8,
                "name": "Hrvatski Telekom d.d.",
                "open": 39.4,
                "pe_ttm": 20.8039,
                "sector": "Communications",
                "symbol": "HT",
                "ticker": "ZSE
…(truncated, see openapi.json for full schema)
```

### Indices

#### `GET /v1/index` — Zagreb indices (CROBEX family)

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

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

**Response:**
```json
{
    "data": {
        "count": 1,
        "market": "ZSE",
        "indices": [
            {
                "low": 4374.31,
                "high": 4407.9,
                "name": "CROBEX",
                "open": 4374.31,
                "index": "CBX",
                "label": "CROBEX",
                "value": 4394.31,
                "change_abs": 23.07,
                "change_pct": 0.5278
            }
        ]
    },
    "meta": {
        "timestamp": "2026-06-15T11:16:06.576Z",
        "request_id": "692021f2-7ec2-43e1-9534-3cc12bf9a3e0"
    },
    "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/croatia-stock-api/v1/meta"
```

**Response:**
```json
{
    "data": {
        "market": "Zagreb Stock Exchange (ZSE)",
        "source": "TradingView screener (croatia market), keyless",
        "country": "Croatia",
        "indices": [
            "CBX",
            "CBXTR",
            "CBXPL"
        ],
        "currency": "EUR",
        "examples": {
            "index": "/v1/index",
            "quote": "/v1/quote?symbols=ZABA,INA,HT",
            "screener": "/v1/screener?sort=change&order=desc&limit=10"
        },
        "endpoints": {
            "/v1/index": "Zagreb indices (CROBEX = CBX, CROBEX Total Return = CBXTR, CROBEX Plus = CBXPL)",
            "/v1/quote": "live quote for one or more ZSE stocks by ticker (symbols=ZABA,INA,HT)",
            "/v1/screener": "rank local primary listings by market_cap | change | volume (sort, order, limit)"
        },
        "cache_ttl_ms": 20000
    },
    "meta": {
        "timestamp": "2026-06-15T11:16:06.672Z",
        "request_id": "ae0cd4d9-748c-4124-944f-bc82ed9567ce"
    },
    "status": "ok",
    "message": "Meta",
    "success": true
}
```


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