# Tunis Stock Exchange (BVMT) API
> Live data for the Tunis Stock Exchange (BVMT, the Tunisian market) with no key: the live quote for one or more stocks by ticker (price, change, open/high/low, volume, market cap, P/E, sector, in Tunisian dinars, with the company name), a ranked market screener (top gainers, losers, most active, or largest by market cap; primary Tunisian listings only), and the live value of the Tunindex 20 index.

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

## Pricing
- **Free** (Free) — 7,000 calls/Mo, 2 req/s
- **Basic** ($12/Mo) — 164,000 calls/Mo, 10 req/s
- **Pro** ($56/Mo) — 950,000 calls/Mo, 20 req/s
- **Scale** ($108/Mo) — 5,210,000 calls/Mo, 50 req/s

## Endpoints

### Quotes

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

**Parameters:**
- `codes` (query, required, string) — BVMT ticker(s), comma-separated up to 20 Example: `BIAT,SFBT`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/tunisia-stock-api/v1/quote?codes=BIAT%2CSFBT"
```

**Response:**
```json
{
    "data": {
        "note": "The live quote for one or more Tunisian (BVMT) stocks — price, change, open/high/low, volume, market cap, P/E and sector (in Tunisian dinars), with the company name. Pass codes (the BVMT ticker, comma-separate up to 20, e.g. BIAT,SFBT).",
        "count": 2,
        "quotes": [
            {
                "low": 159.4,
                "high": 159.5,
                "open": 159.49,
                "price": 159.48,
                "change": 0,
                "sector": "Finance",
                "ticker": "BIAT",
                "volume": 656,
                "company": "Banque Internationale Arabe de Tunisie SA",
                "currency": "TND",
                "pe_ratio": null,
                "market_cap": 6506783704,
                "change_percent": 0
            },
            {
                "low": 14.4,
                "high": 14.98,
                "open": 14.98,
                "price": 14.55,
                "change": -0.75,
                "sector": "Consumer Non-Durables",
                "ticker": "SFBT",
                "volume": 24239,
                "company": "Societe de Fabrication des Boissons de Tunisie SA",
                "currency": "TND",
                "pe_ratio": null,
                "market_cap": 3901218801,
                "change_percent": -4.9
            }
        ],
        "source": "Tunis Stock Exchange / BVMT (TradingView)"
    },
    "meta": {
        "timestamp": "2026-06-15T02:10:23.202Z",
      
…(truncated, see openapi.json for full schema)
```

### Screener

#### `GET /v1/screener` — Ranked market screener (primary Tunisian listings)

**Parameters:**
- `by` (query, optional, string) — Ranking: gainers, losers, active, marketcap Example: `marketcap`
- `limit` (query, optional, string) — Results 1-100 Example: `20`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/tunisia-stock-api/v1/screener?by=marketcap&limit=20"
```

**Response:**
```json
{
    "data": {
        "by": "marketcap",
        "note": "A ranked screener of the Tunisian (BVMT) market — the top stocks by your chosen ranking, limited to primary Tunisian listings. Pass by (gainers, losers, active, or marketcap; default marketcap) and limit (1-100, default 20).",
        "count": 20,
        "source": "Tunis Stock Exchange / BVMT (TradingView)",
        "results": [
            {
                "price": 159.48,
                "change": 0,
                "sector": "Finance",
                "ticker": "BIAT",
                "volume": 656,
                "company": "Banque Internationale Arabe de Tunisie SA",
                "currency": "TND",
                "market_cap": 6506783704,
                "change_percent": 0
            },
            {
                "price": 28.2,
                "change": 0.4499999999999993,
                "sector": "Process Industries",
                "ticker": "PGH",
                "volume": 29561,
                "company": "Poulina Group Holding SA",
                "currency": "TND",
                "market_cap": 5076101688,
                "change_percent": 1.62
            },
            {
                "price": 79.98,
                "change": -0.009999999999990905,
                "sector": "Finance",
                "ticker": "TJARI",
                "volume": 2624,
                "company": "Banque Attijari de Tunisie SA",
                "currency": "TND",
                "market_cap": 3999000168,
 
…(truncated, see openapi.json for full schema)
```

### Indices

#### `GET /v1/index` — Live value of the Tunindex 20 index

**Parameters:**
- `name` (query, optional, string) — TUN20 Example: `TUN20`

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

**Response:**
```json
{
    "data": {
        "low": 8139.07,
        "high": 8207.93,
        "name": "Tunindex 20",
        "note": "The live value of the Tunindex 20 (the Tunis Stock Exchange blue-chip index) — current level, change, and the day's open/high/low. Pass name (TUN20; default TUN20).",
        "open": 8166.98,
        "index": "TUN20",
        "value": 8180.69,
        "change": 15.319999999999709,
        "source": "Tunis Stock Exchange / BVMT (TradingView)",
        "change_percent": 0.19
    },
    "meta": {
        "timestamp": "2026-06-15T02:10:23.603Z",
        "request_id": "bedcee7f-16d1-41f8-a392-8d4d4468ff9f"
    },
    "status": "ok",
    "message": "Index retrieved successfully",
    "success": true
}
```

### Meta

#### `GET /v1/meta` — Service metadata & endpoint catalog

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

**Response:**
```json
{
    "data": {
        "sample": {
            "tun20": 8180.69
        },
        "source": "TradingView public screener (scanner.tradingview.com/tunisia/scan), keyless",
        "indexes": [
            "TUN20"
        ],
        "screens": [
            "gainers",
            "losers",
            "active",
            "marketcap"
        ],
        "service": "tunisia-stock-api",
        "endpoints": {
            "GET /v1/meta": "This document.",
            "GET /v1/index": "Live value of the Tunindex 20 (name).",
            "GET /v1/quote": "Live quote for one or more stocks (codes).",
            "GET /v1/screener": "Ranked market screener (by, limit)."
        },
        "description": "Live data for the Tunis Stock Exchange (BVMT, the Tunisian market) with no key: the live quote for one or more stocks by ticker (price, change, open/high/low, volume, market cap, P/E, sector, in Tunisian dinars, with the company name), a ranked market screener (top gainers, losers, most active, or largest by market cap; primary Tunisian listings only), and the live value of the Tunindex 20 index. The Tunisia-equities / TUN20-index / screener layer for trading dashboards and research. Distinct from other exchange readers — the Tunis Stock Exchange market with a built-in screener. Live, short cache only.",
        "upstream_status": "ok"
    },
    "meta": {
        "timestamp": "2026-06-15T02:10:23.693Z",
        "request_id": "d63e9d13-bb4a-4418-a9f6-49cdaee4d31f"
    },
    "stat
…(truncated, see openapi.json for full schema)
```


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