Flat Files S3 API – Complete Guide: Authentication, Discovery, Download & Extraction

This guide walks through the full workflow for accessing FinFeedAPI Flat Files via S3 API, covering:

  • Authentication
  • File discovery (listing)
  • Downloading data
  • Extracting .csv.gz files

Each step provides two options:

  • Option A: cURL / Postman
  • Option B: AWS CLI

FinFeedAPI uses a simplified S3-compatible authentication model:

1Access Key ID: YOUR_FINFEEDAPI_KEY
2Secret Access Key: finfeedapi
3Region: us-east-1
  • Your API key acts as the Access Key
  • Secret is always: finfeedapi
  • No token/session exchange required
  • Works across all supported tools

Authentication is passed via headers:

1Authorization: YOUR_FINFEEDAPI_KEY
2Accept: application/xml
  • Method: GET
  • Add headers:
    • Authorization: YOUR_FINFEEDAPI_KEY
    • Accept: application/xml

Configure credentials:

1aws configure
1AWS Access Key ID: YOUR_FINFEEDAPI_KEY
2AWS Secret Access Key: finfeedapi
3Default region name: us-east-1
4Default output format: [Leave blank]

You must first list files using prefixes to identify available datasets.

Flat Files are organized using a structured naming convention:

1E-[EXCHANGE]/
2└── T-OHLCV+TP-1DAY/
3    └── D-YYYYMMDD.csv.gz
  • E- → Exchange (e.g., E-IEXG)
  • T- → Data type + time interval
    • Always OHLCV+TP
    • Example: T-OHLCV+TP-1DAY
  • D- → Date + file name
    • Example: D-20240118.csv.gz
1/E-IEXG/T-OHLCV+TP-1DAY/D-20240118.csv.gz
1curl-X GET \\
2-H"Accept: application/xml" \\
3-H"Authorization: YOUR_FINFEEDAPI_KEY" \\
4"<https://s3.flatfiles.finfeedapi.com/finfeedapi?prefix=E-IEXG/T-OHLCV%2BTP-1DAY/&delimiter=/>"
1<Contents>
2        <Key>E-IEXG/T-OHLCV+TP-1DAY/D-20161212.csv.gz</Key>
3        <LastModified>2025-06-18T22:51:50.994Z</LastModified>
4        <Size>187642</Size>
5    </Contents>
1aws --endpoint-url <http://s3.flatfiles.finfeedapi.com> s3 ls s3://finfeedapi/E-IEXG/T-OHLCV+TP-1DAY/
12025-07-18 08:11:19       1798 D-20240118.csv.gz
22025-07-19 08:10:36       1792 D-20240119.csv.gz
32025-07-22 08:10:01       1847 D-20240122.csv.gz
  • Start from exchange level:
1prefix=E-IEXG/
  • Then drill down:
1E-IEXG/T-OHLCV+TP-1DAY/
  • Dates are encoded directly in file names (D-YYYYMMDD.csv.gz)

Once you identify the Key, download the file.

1curl-X GET \\
2-H"Authorization: YOUR_FINFEEDAPI_KEY" \\
3"<https://s3.flatfiles.finfeedapi.com/finfeedapi/E-XJAM/T-OHLCV+TP-1DAY/D-20240118.csv.gz>" \\
4--output D-20240118.csv.gz
5
1aws --endpoint-url <http://s3.flatfiles.finfeedapi.com> s3 cp s3://finfeedapi/E-XJAM/T-OHLCV+TP-1DAY/D-20240118.csv.gz ~/local/path/

Flat Files are delivered as compressed .csv.gz.

1gunzip D-20240118.csv.gz
1gzip-dk D-20240118.csv.gz
1import gzip
2import shutil
3
4with gzip.open("trades.csv.gz", "rb") as f_in:
5    with open("trades.csv", "wb") as f_out:
6        shutil.copyfileobj(f_in, f_out)

Use 7-Zip:

  • Right-click → Extract
  • Extract again if needed

After extraction:

1D-20240118.csv

Typical contents:

1id_exchange;exchange_symbol;time_period_start;time_period_end;time_open;time_close;price_open;price_high;price_low;price_close;volume_traded;trades_count
2IEXG;SWVL;2024-01-18T00:00:00.0000000;2024-01-19T00:00:00.0000000;2024-01-18T00:00:00.0000000;2024-01-19T00:00:00.0000000;2.1;2.1;2;2.07;0;0
  • Authenticate using API key
  • List files using:
1prefix=E-{EXCHANGE}/T-OHLCV+TP-{INTERVAL}/
  • Identify file: D-YYYYMMDD.csv.gz
  • Download file
  • Extract .csv.gz

šŸŽ‰ You now know how to authenticate, discover, download, and extract Flat Files using the S3 API.

With the consistent structure:

E-{EXCHANGE}/T-OHLCV+TP-{INTERVAL}/D-{YYYYMMDD}.csv.gz

You can easily locate and retrieve OHLCV data for use in your workflows or pipelines.