OHLCV Flat Files

OHLCV Data in CSV Files

Access historical Open, High, Low, Close, Volume, and trade count data through FinFeedAPI Flat Files.

OHLCV data is pre-aggregated into defined time periods and distributed as compressed CSV files through an S3-compatible API. Files are organized by exchange, OHLCV period, and data date for efficient historical data retrieval.

What Are OHLCV Flat Files?

FinFeedAPI OHLCV Flat Files provide bulk access to historical stock market data across exchanges in North America, Europe, Asia-Pacific, and other global markets.

Pre-aggregated historical periods

The datasets contain pre-aggregated Open, High, Low, Close, Volume, and trade count data for individual exchange symbols. Each record includes the OHLCV period boundaries, timestamps of the first and last trades, price values, traded volume, and number of trades recorded during the period.

Instead of retrieving historical records individually through an API, developers can download compressed .csv.gz files organized by exchange, OHLCV period, and data date. This structure supports efficient retrieval of specific historical periods and larger datasets for research, backtesting, quantitative analysis, and local data processing.

Available exchanges, dataset periods, and individual files can be discovered through the Flat Files MCP server or S3-compatible listing operations before the required files are downloaded.

Global exchange coverage

Coverage includes Investors Exchange (IEXG) in North America; major European markets; Asia-Pacific exchanges; and additional venues such as the Jamaica Stock Exchange and Moscow Exchange.

Europe

  • Euronext Paris, Amsterdam, Brussels, and Lisbon
  • Warsaw Stock Exchange
  • Borsa Italiana
  • SIX Swiss Exchange
  • Prague Stock Exchange
  • Wiener Börse
  • Oslo Børs
  • Spotlight Stock Market

Asia-Pacific

  • Hong Kong
  • Shanghai
  • Shenzhen
  • Taiwan
  • Taipei
  • New Zealand

What's Included?

Each OHLCV record contains standardized information about market activity during a defined period. These fields provide pre-aggregated price and trading activity data that can be used directly in historical analysis without reconstructing OHLCV periods from individual trades.

OHLCV record fields

FieldWhat it means
id_exchangeExchange identifier
exchange_symbolSymbol as identified by the exchange
time_period_startUTC timestamp when the OHLCV period starts
time_period_endUTC timestamp when the OHLCV period ends
time_openUTC timestamp of the first trade in the period
time_closeUTC timestamp of the last trade in the period
price_openPrice of the first trade in the period
price_highHighest price during the period
price_lowLowest price during the period
price_closePrice of the last trade in the period
volume_tradedTotal volume traded during the period
trades_countNumber of trades executed during the period

How Are OHLCV Flat Files Organized?

OHLCV data is stored using a predictable S3 object structure based on exchange, dataset period, and data date. This organization allows applications to browse available exchanges and OHLCV periods before selecting individual dates for download.

S3 object structure

Example structure:

s3
E-[EXCHANGE]/T-OHLCV+TP-[PERIOD]/D-YYYYMMDD.csv.gz

For example:

s3
E-IEXG/T-OHLCV+TP-1DAY/D-20161212.csv.gz

What the path identifies

  • E-[EXCHANGE] — the exchange
  • T-OHLCV+TP-[PERIOD] — the OHLCV dataset and aggregation period
  • D-YYYYMMDD — the date represented by the file
  • .csv.gz — gzip-compressed CSV format

Compressed CSV Data

OHLCV Flat Files are delivered as CSV files compressed with gzip. Date-based partitioning also allows applications to download only the historical files required for a particular workflow.

Semicolon-delimited .csv.gz files

The documented OHLCV format uses a semicolon (;) delimiter, with each row representing OHLCV data for a symbol and period.

Files can be decompressed using standard gzip-compatible tools and then loaded into databases, analytical environments, data warehouses, or local processing pipelines.

How Is OHLCV Data Created?

FinFeedAPI continuously collects market activity from supported exchanges and uses collected trade data to calculate OHLCV values for individual symbols. Daily periods follow UTC boundaries.

Daily OHLCV processing workflow

  1. 1Trade data is collected from the exchange.
  2. 2Trades are normalized and aggregated by symbol.
  3. 3Open, high, low, close, volume, and trade count values are calculated.
  4. 4After the UTC day is complete, the aggregated data is stored in a daily file and uploaded to the Flat Files S3 bucket.

Access OHLCV Flat Files Through S3 or MCP

FinFeedAPI provides two complementary ways to work with Flat Files, plus Snowflake access for teams that want to query selected historical datasets with SQL.

S3-Compatible API

The S3-compatible API is used to list and download historical files.

Applications can use standard S3-compatible clients and SDKs to browse objects and retrieve .csv.gz files. The API supports core operations for listing objects and downloading individual files.

Flat Files MCP Server

The hosted Flat Files MCP server provides tools for discovering available buckets, exchanges, dataset prefixes, and individual file objects. MCP is designed for discovery and listing. File contents are downloaded through the S3 API.

  1. 1Discover the available bucket.
  2. 2Browse exchange prefixes.
  3. 3Discover available OHLCV periods.
  4. 4Enumerate individual date files.
  5. 5Download the selected object through the S3-compatible API.

Snowflake

Snowflake access lets teams query selected FinFeedAPI historical datasets directly from their Snowflake environment using SQL, without downloading, storing, or managing flat files manually. It is designed for scalable analytics, reporting, research, backtesting, and enterprise data workflows that need bulk historical market data available inside an existing data warehouse.

OHLCV Flat Files Dataset Characteristics

Key properties

  • Historical OHLCV market data
  • Pre-aggregated Open, High, Low, Close, Volume, and trade count values
  • Exchange and symbol identifiers included in each record
  • UTC timestamps for period boundaries and first and last trades
  • Organized by exchange, OHLCV period, and data date
  • CSV format with semicolon delimiters
  • gzip-compressed .csv.gz files
  • S3-compatible listing and downloads
  • MCP support for bucket, prefix, and object discovery
  • Date-based partitioning for selective historical retrieval

What Should You Know About OHLCV Flat Files?

Historical OHLCV datasets can contain market-specific conditions that applications should account for during analysis.

Some symbols may contain zero values when there was no trading activity during a period. Inactive symbols may also appear with zero or null price and volume values.

Exchange downtime or connectivity issues can result in gaps in historical OHLCV data.

For daily OHLCV data, periods are aligned to UTC day boundaries.

Applications processing historical files should account for these conditions rather than assuming every symbol contains continuous trading activity on every date.

When Should You Use OHLCV Flat Files?

OHLCV Flat Files are suited to workflows that need pre-aggregated historical market data in downloadable files.

What data do you need?

If you need...Use...
Bulk historical OHLCV dataOHLCV Flat Files
Daily historical price and volume analysisOHLCV Flat Files
Historical volatility calculationsOHLCV Flat Files
Historical trading activity analysisOHLCV Flat Files
Local processing of historical datasetsOHLCV Flat Files
Browsing available Flat Files datasets with an AI-compatible interfaceFlat Files MCP
Downloading specific historical filesFlat Files S3 API

Common use cases

  • Historical market analysis
  • Backtesting
  • Price and volume analysis
  • Volatility calculations
  • Quantitative research
  • Local historical data processing
  • Building historical datasets for analytical workflows
OHLCV Flat Files

Ready to Work with OHLCV Flat Files?

Browse available exchanges and OHLCV periods, identify the historical files you need, and download compressed datasets through the FinFeedAPI S3-compatible Flat Files API.

Use the Flat Files MCP server when you want to discover available buckets, prefixes, and file objects programmatically or through an MCP-compatible client.