{"openapi":"3.1.0","info":{"title":"Tunis Stock Exchange (BVMT) API","version":"1.0.0","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.","contact":{"name":"PremiumApi","url":"https://www.oanor.com/by/premiumapi"}},"servers":[{"url":"https://api.oanor.com/tunisia-stock-api","description":"oanor gateway"}],"tags":[{"name":"Quotes"},{"name":"Screener"},{"name":"Indices"},{"name":"Meta"}],"components":{"securitySchemes":{"oanorKey":{"type":"apiKey","in":"header","name":"x-oanor-key","description":"Get your key at https://www.oanor.com/developer/keys"}}},"security":[{"oanorKey":[]}],"paths":{"/v1/quote":{"get":{"operationId":"get_v1_quote","tags":["Quotes"],"summary":"Live quote for one or more BVMT stocks","description":"","parameters":[{"name":"codes","in":"query","required":true,"description":"BVMT ticker(s), comma-separated up to 20","schema":{"type":"string"},"example":"BIAT,SFBT"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"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","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","market_cap":3901218801,"change_percent":-4.9}],"source":"Tunis Stock Exchange / BVMT (TradingView)"},"meta":{"timestamp":"2026-06-15T02:10:23.202Z","request_id":"b7392aea-b6ba-458a-b683-37b82e91f5bb"},"status":"ok","message":"Quote retrieved successfully","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/screener":{"get":{"operationId":"get_v1_screener","tags":["Screener"],"summary":"Ranked market screener (primary Tunisian listings)","description":"","parameters":[{"name":"by","in":"query","required":false,"description":"Ranking: gainers, losers, active, marketcap","schema":{"type":"string"},"example":"marketcap"},{"name":"limit","in":"query","required":false,"description":"Results 1-100","schema":{"type":"string"},"example":"20"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"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,"change_percent":-0.01},{"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","market_cap":3901218801,"change_percent":-4.9},{"price":72.7,"change":1.2000000000000028,"sector":"Finance","ticker":"AB","volume":17166,"company":"Amen Bank","currency":"TND","market_cap":2538683760,"change_percent":1.68},{"price":8.4,"change":0.08000000000000007,"sector":"Finance","ticker":"BT","volume":106189,"company":"Banque de Tunisie SA","currency":"TND","market_cap":2267999897,"change_percent":0.96},{"price":19.98,"change":0.08000000000000185,"sector":"Distribution Services","ticker":"DH","volume":16718,"company":"Delice Holding SA","currency":"TND","market_cap":2194094095,"change_percent":0.4},{"price":19.82,"change":-0.17999999999999972,"sector":"Finance","ticker":"BNA","volume":51679,"company":"Banque Nationale Agricole","currency":"TND","market_cap":1258035135,"change_percent":-0.9},{"price":14.3,"change":0,"sector":"Consumer Non-Durables","ticker":"SAH","volume":31399,"company":"Societe d'Articles Hygieniques SA","currency":"TND","market_cap":1201428472,"change_percent":0},{"price":21.8,"change":-0.1999999999999993,"sector":"Retail Trade","ticker":"NAKL","volume":1234,"company":"Ennakl","currency":"TND","market_cap":1164047453,"change_percent":-0.91},{"price":27.4,"change":0.29999999999999716,"sector":"Process Industries","ticker":"SOTUV","volume":29993,"company":"Societe Tunisienne de Verreries SA","currency":"TND","market_cap":1075572695,"change_percent":1.11},{"price":12.7,"change":-0.10000000000000142,"sector":"Electronic Technology","ticker":"OTH","volume":16259,"company":"One Tech Holding SA","currency":"TND","market_cap":1021080004,"change_percent":-0.78},{"price":29.8,"change":-0.5399999999999991,"sector":"Finance","ticker":"UIB","volume":2195,"company":"Union Internationale de Banques","currency":"TND","market_cap":970288016,"change_percent":-1.78},{"price":5.91,"change":-0.20999999999999996,"sector":"Finance","ticker":"STB","volume":16862,"company":"Societe Tunisienne de Banque","currency":"TND","market_cap":914206167,"change_percent":-3.43},{"price":76.6,"change":0.19999999999998863,"sector":"Finance","ticker":"STAR","volume":365,"company":"Societe Tunisienne d'Assurances & de Reassurances","currency":"TND","market_cap":766000204,"change_percent":0.26},{"price":38,"change":-0.25,"sector":"Finance","ticker":"UBCI","volume":25,"company":"Union Bancaire pour le Commerce et l'Industrie SA","currency":"TND","market_cap":760058056,"change_percent":-0.65},{"price":14.5,"change":-0.27999999999999936,"sector":"Non-Energy Minerals","ticker":"TPR","volume":43585,"company":"Tunisie Profiles Aluminium","currency":"TND","market_cap":725000000,"change_percent":-1.89},{"price":14,"change":-0.07000000000000028,"sector":"Finance","ticker":"BH","volume":808,"company":"BH Bank","currency":"TND","market_cap":666399979,"change_percent":-0.5},{"price":1.9,"change":0.010000000000000009,"sector":"Non-Energy Minerals","ticker":"CC","volume":60017,"company":"Carthage Cement","currency":"TND","market_cap":652887376,"change_percent":0.53},{"price":13.55,"change":-0.8499999999999996,"sector":"Retail Trade","ticker":"ARTES","volume":2446,"company":"Automobile Reseau Tunisien et Services SA","currency":"TND","market_cap":518287507,"change_percent":-5.9}],"description":"largest (by market cap)"},"meta":{"timestamp":"2026-06-15T02:10:23.398Z","request_id":"d27a90f1-9a2f-47c5-a410-86fa93917d82"},"status":"ok","message":"Screener retrieved successfully","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/index":{"get":{"operationId":"get_v1_index","tags":["Indices"],"summary":"Live value of the Tunindex 20 index","description":"","parameters":[{"name":"name","in":"query","required":false,"description":"TUN20","schema":{"type":"string"},"example":"TUN20"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"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}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/meta":{"get":{"operationId":"get_v1_meta","tags":["Meta"],"summary":"Service metadata & endpoint catalog","description":"","parameters":[],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"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"},"status":"ok","message":"Meta","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}}},"x-oanor-pricing":[{"slug":"free","name":"Free","price_cents_month":0,"monthly_call_quota":7000,"rps_limit":2,"hard_limit":true},{"slug":"basic","name":"Basic","price_cents_month":1170,"monthly_call_quota":164000,"rps_limit":10,"hard_limit":true},{"slug":"pro","name":"Pro","price_cents_month":5630,"monthly_call_quota":950000,"rps_limit":20,"hard_limit":true},{"slug":"scale","name":"Scale","price_cents_month":10830,"monthly_call_quota":5210000,"rps_limit":50,"hard_limit":true}],"x-oanor-marketplace-url":"https://www.oanor.com/api/tunisia-stock-api"}