Short answer: The Borsa Istanbul Data Store (DataStore) is the exchange's own platform for historical and reference data, delivered as files after login, with no documented API. As read on 6 November 2026, end-of-day price and index files were listed at TRY 0, monthly intraday trade and order book files at TRY 850 each and monthly ITCH files at TRY 1,700 each. A purchase covers your own work only: the platform's terms bar passing the data to third parties, including affiliates, or publishing it, so a product needs a separate agreement.
Vendor catalogs show that Borsa Istanbul history exists but rarely what a file holds. The exchange's own DataStore (opens in a new tab) publishes field lists, file names and prices on product pages anyone can open, so a developer can size a project before paying.
Everything below was read on those pages and in the platform's terms on 6 November 2026, without an account or a purchase, so checkout and paid file contents were not tested. No data vendor is recommended. Live feeds and fees are in Borsa Istanbul API and market data.
What can you buy on the Borsa Istanbul Data Store?
The catalog held 119 product types on 6 November 2026 across equities, debt securities, derivatives (VİOP), indices, precious metals and public offerings, sold mostly as one file per month.
| Product | File name | Price | Size | Oldest listed |
|---|---|---|---|---|
| Daily closing prices and volumes, equity | PP_GUNSONUFIYATHACIM.M.YYYYMM | TRY 0 | 30 to 49 MB | Jan 1988 |
| Intraday trade book, equity | PP_GUNICIISLEM.M.YYYYMM | TRY 850 | 3.2 to 5.0 GB | Jan 2005 |
| Intraday order book, equity | PP_GUNICIEMIR.M.YYYYMM | TRY 850 | 26 to 33 GB | Jan 2005 |
| ITCH, equity | ITCH_Packets.PP.M.YYYYMM | TRY 1,700 | 17 to 22 GB | 22 Aug 2014 |
| VIOP ITCH | ITCH_Packets.VIOP.M.YYYYMM | TRY 1,700 | 17 to 23 GB | Mar 2017 |
| Intraday values, all indices | PP_GUNICITUMENDEKS.M.YYYYMM | TRY 850 | 43 to 73 MB | Jan 1998 |
| Daily index values and volumes | PP_GUNSONUENDEKSHACIM.M.YYYYMM | TRY 0 | Under 1 MB | Jan 1988 |
| Index calculation files, daily | endeks_bolen_*, endeks_agirlik_* | None shown | Up to 1 MB | Nov 2015 |
| Debt market bulletin, weekly | kasgb2017.zip | None shown | 5.4 MB | 2015 |
Prices carry a lira sign. Products with no price shown have no add button, only a note to subscribe to the product group or email for historical data. Over the past year, trade books appeared a day after month end and order books four to ten days after, so the October 2026 order book was not yet listed on 6 November.
What each Data Store file contains
Each product page publishes a field list, summarized here.
| File | What it holds |
|---|---|
| Daily closing prices (56 fields) | Instrument codes, segment, BIST 100 and BIST 30 flags, gross settlement and suspension flags, open, low, high, close, VWAP, totals, and session and short sale breakdowns |
| Intraday trade book (25 fields) | Date and time, stock, trade and order numbers, side, short sale flag, active or passive, price, quantity, best bid and ask, running VWAP |
| Intraday order book (23 fields) | Transaction type, stock, order number, side, previous and remaining price, quantity and expiry, order type, best bid and ask |
| ITCH and VIOP ITCH | Order and trade messages, sold as raw binary only; the page links a sample of about 150 MB (opens in a new tab) for 8 October 2018 with binary and parsed data |
| Daily index values (10 fields) | Date, code, name, price or return type, divisor, close, low, high, traded value and volume |
| Index weight and divisor files | Share codes, total shares, close or VWAP, free-float ratio, weighting factor, weight, divisor, index value, ISIN, and whether a row is before or after adjustment |
| Debt market bulletin | Dates, ISIN, low, high and weighted average price, simple and compound yield, volume, days to maturity, accrued interest |
Public offering data (hisse2026.zip, TRY 0) | Issuer, price, ratio, proceeds in lira and USD, market, dates, investor counts including foreign, underwriting |
The weight and divisor files let you rebuild index levels with the formula in the BIST 100 guide.
Traps the Data Store catalog itself warns about
The 2020 index rescale is the largest trap; the rest concern fields, file names and number formats.
| Trap | What to do |
|---|---|
| Two zeros. Lira-based BIST stock indices and customer indices were divided by 100 from 27 July 2020, that date included. | Divide earlier index values by 100 and multiply earlier divisors by 100. The exchange accepts no responsibility here, so test the join. |
| VİOP. Index futures and options changed for the same reason. | Check contract terms before joining files across that date. |
| Field names change, the pages warn. The free bulletin of 4 November 2026 has MARKET SUB SEGMENT where the catalog lists A_B_C_D GROUP, lacks its four midday fields and adds midpoint, short sell and participation index columns. | Check the header or field count of every file and stop on a change. |
| Old format notes. The format PDF is version 1.3 from 2016, for files after the 30 November 2015 BISTECH move. | Treat it as a guide, not the current schema. |
| CSV decimals. Pages say Excel needs a dot decimal and comma grouping to show numbers correctly. | Parse in code, not on a machine with a Turkish locale. |
Reissued files. The intraday index product lists two July 2026 files under one name: 43.3 MB created 31 July and 72.5 MB created 27 October. The weekly debt file is still named kasgb2017.zip. | Key your archive on name plus creation date, and keep every version. |
| No adjusted prices. The adjusted price page, TRY 500 in the catalog, listed no files and says to email the exchange. | Budget for your own corporate action handling; see how to choose a stock market data API. |
| No accuracy warranty. The terms say data may contain errors. | Reconcile against the free daily bulletin. |
A Python loader for the daily index file, tested on synthetic data
This loader reads the published 10-field layout with DD.MM.YYYY dates, as the format PDF documents, applies the 2020 rescale and stops on anything unexpected.
import csv, io, math
from datetime import date, datetime
# Fields as published on the DataStore product page
FIELDS = ["Date", "Index Code", "Indices", "Index Type", "Divisor", "Closing Value",
"Lowest Value", "Highest Value", "Traded Value", "Traded Volume"]
CUTOVER = date(2020, 7, 27) # TL indices divided by 100 from this date
def number(text):
x = float(text) # a comma decimal raises ValueError here
if not math.isfinite(x) or x <= 0:
raise ValueError(f"bad number {repr(text)}")
return x
def load_index_file(text):
out, seen = [], set()
for r in csv.reader(io.StringIO(text.lstrip("\ufeff")), delimiter=";"):
if not r or r[0].strip().lower() in ("date", "tarih"):
continue # blank line or header row
day = datetime.strptime(r[0].strip(), "%d.%m.%Y").date() # anything else fails
if not len(r) == len(FIELDS):
raise ValueError(f"expected {len(FIELDS)} fields, got {len(r)}")
row = dict(zip(FIELDS, r))
code, kind = row["Index Code"].strip(), row["Index Type"].strip()
if not code or not kind or (day, code, kind) in seen:
raise ValueError(f"empty or repeated key {repr((code, kind))} on {day}")
seen.add((day, code, kind))
close, divisor = number(row["Closing Value"]), number(row["Divisor"])
# USD and EUR codes (ending TLUS, TLER) kept their scale
if day < CUTOVER and not code.endswith(("TLUS", "TLER")):
close, divisor = close / 100, divisor * 100
out.append((day.isoformat(), code, kind, close, divisor)) # unrounded: early values are tiny
return out
# Synthetic rows, not exchange data
SYNTHETIC = ";".join(FIELDS) + """
24.07.2020;XTEST;SYNTHETIC;Fiyat;2000.000;100000.00;99000.00;101000.00;5000000.00;700000
27.07.2020;XTEST;SYNTHETIC;Fiyat;200000.000;1010.00;1000.00;1020.00;5200000.00;710000
24.07.2020;XTEST_CFNPTLUS;SYNTHETIC USD;Fiyat;9000.000;850.00;840.00;860.00;730000.00;700000
"""
for row in load_index_file(SYNTHETIC):
print(row)
for old, new in ((";710000", ""), ("100000.00", "1e400"), (";XTEST;", ";;")):
try:
load_index_file(SYNTHETIC.replace(old, new))
except ValueError as err:
print("rejected:", err)Output, Python 3.11.3, 6 November 2026:
('2020-07-24', 'XTEST', 'Fiyat', 1000.0, 200000.0)
('2020-07-27', 'XTEST', 'Fiyat', 1010.0, 200000.0)
('2020-07-24', 'XTEST_CFNPTLUS', 'Fiyat', 850.0, 9000.0)
rejected: expected 10 fields, got 9
rejected: bad number '1e400'
rejected: empty or repeated key ('', 'Fiyat') on 2020-07-24The rescale puts both days on one scale, with the divisor continuous at 200,000, and leaves the USD row alone. In the exchange's index code file (opens in a new tab), updated 18 May 2026, all 340 USD and EUR codes among 510 end in TLUS or TLER, and no other code does. The rows are invented; check the real layout on your first file.
Data Store prices, academic discounts and registration
List prices are per file and include VAT, the basket says; academic discounts depend on the age of the data.
| Age of the data at application | Intraday order, trade and index data | End-of-day data, company yearbooks |
|---|---|---|
| Current half-year | 90% off | 90% off |
| The 5 years before that | 90% off | Free |
| Earlier | Free | Free |
An academic profile needs the application letter (opens in a new tab) signed by a department head, dean or rector or a deputy, and a copy of the user's academic or student ID; it lasts one month.
Hypothetical budget, at list prices read on 6 November 2026: 12 months of equity trade book plus 12 months of order book is 24 × TRY 850 = TRY 20,400, VAT included. At the latest six files' average sizes, 12 × 4.3 GB + 12 × 30.6 GB is about 420 GB of zipped files, so storage and parsing can outweigh the fee. The Python backtesting comparison ran on daily bars, so plan how ticks become bars.
The personal profile form asks for a Turkish identity number, and the corporate form for a tax office and tax ID. Whether a buyer outside Turkey can complete them could not be verified without applying, so ask the exchange at vyk-marketing@borsaistanbul.com first. The terms say payments cannot be canceled or refunded.
What a Data Store purchase allows, and what it does not
A purchase lets you use the data in your own work, not republish it or build it into a product.
| Planned use | What the texts say |
|---|---|
| Your own research | Allowed: use is limited to your own studies and works (Statement, Article 2) |
| Testing your own algorithms on ITCH | Allowed for companies, but the data may not be passed on, copied, used commercially or traded (ITCH page) |
| Sharing with affiliates or subsidiaries | Barred: they count as third parties (Article 3) |
| Sharing with colleagues in the same company | Not addressed directly; the basket note limits use to the profile owner, so ask |
| Publishing tables or charts of purchased data | Barred without written permission: purchased information is confidential (Article 3) |
| Feeding an app, SaaS product or client report | Not covered; the basket note sends anyone seeking distribution rights to the exchange |
| Bots or download scripts on your account | Barred: no robot or virtual users, and no scanning or collecting software without prior written consent (Article 4.3) |
For breach, the Letter of Undertaking sets liquidated damages of 20 times the sale price, plus other losses. Turkish law and Istanbul courts apply, the Turkish text prevails and all rights stay with the exchange.
Distribution, non-display use and derived data need the Data Distribution Agreement, and a derived index a separate agreement, as the market data guide explains. Settle this before buying any file; Fincode's project and product analysis is one way to scope it. This is a reading of published texts, not legal advice.
What is free elsewhere on the Borsa Istanbul site
Several official files need no DataStore account, though free to download does not mean free to redistribute.
| Data | File | Notes |
|---|---|---|
| Daily equity bulletin | /data/thb/YYYY/MM/thbYYYYMMDD1.zip | Semicolon CSV with Turkish and English header rows, 57 fields. The English page (opens in a new tab) and the July 2025 DataFilePaths.zip (opens in a new tab) workbook give an ehb pattern that returned 404 for every date tried |
| Market totals, index history | Consolidated data (opens in a new tab) | Excel workbooks in zip files |
| Latest index values | PayEndeksleri.zip (opens in a new tab) | Price and return, last trading day |
| Index constituents | hisse_endeks_ds.csv (opens in a new tab) | Current members only |
The site's copyright notice (opens in a new tab) says its information may not be copied or distributed without prior written consent. Fund and disclosure data have separate routes, compared in TEFAS, KAP and EVDS data access.
Frequently asked questions
Does the Borsa Istanbul Data Store have an API?
No documented API was found: files are added to a library and downloaded, and the terms bar robot users. Live data comes through licensed distributors.
How much does Borsa Istanbul historical data cost?
As read on 6 November 2026, per file with VAT: end-of-day equity files TRY 0, monthly intraday trade and order book files TRY 850 and monthly ITCH files TRY 1,700. Confirm on the product page.
Can I use Data Store files in my app or publish them?
No. The purchase terms limit use to your own work and bar disclosure to third parties; distribution or use in a product needs a separate agreement with Borsa Istanbul.
Is any Borsa Istanbul data free?
Yes. The daily bulletin, consolidated data, latest index values and index constituents need no account, though the site's notice restricts copying and distribution.
Sources
- Borsa Istanbul DataStore: platform, Use and Confidentiality Statement and Letter of Undertaking in the web application (opens in a new tab)
- DataStore: Intraday Transaction Book Data, equity (opens in a new tab)
- DataStore: Intraday Order Book Data, equity (opens in a new tab)
- DataStore: ITCH Data, equity (opens in a new tab)
- DataStore: VIOP ITCH Data (opens in a new tab)
- DataStore: Daily Closing Prices and Trade Volumes, equity (opens in a new tab)
- DataStore: Daily Index Values and Trade Volumes (opens in a new tab)
- DataStore: Data Used in Index Calculation (free float, divisors, weights) (opens in a new tab)
- DataStore: Outright Purchases and Sales Market Daily Bulletin Data (opens in a new tab)
- DataStore: Initial Public Offerings (shares) (opens in a new tab)
- DataStore: Daily Adjusted Closing Price Data (opens in a new tab)
- DataStore: Data Reporting and Acceptance Formats, version 1.3 (opens in a new tab)
- Borsa Istanbul: Historical Data Sales (opens in a new tab)
- Borsa Istanbul: Daily Bulletin page (opens in a new tab)
- Borsa Istanbul: FAQ on data distribution and index licensing (Turkish) (opens in a new tab)
This guide is general information, not investment, legal or tax advice. Amounts, rates and rules in Turkey change often: check the date given for each figure and the official source before you rely on it, and ask a licensed adviser about your own situation. Sources, checks and corrections: see the editorial policy.