Skip to main content

Type-safe, auto-generated client for the **static-klines** API — historical Binance spot klines served as pre-rendered static JSON. No rate limits, infinite cache lifetime, globally CDN'd.

Project description

static_klines v0.1.7 Checked with mypy Vovk.ts

Type-safe, auto-generated client for the static-klines API — historical Binance spot klines served as pre-rendered static JSON. No rate limits, infinite cache lifetime, globally CDN'd.

License: MIT

# Install the package
pip install static_klines

KLinesAPI

KLinesAPI.get_symbols

List supported symbols

Returns the hardcoded list of Binance spot trading pairs covered by this cache. Same enum used by every symbol path parameter.

GET https://finom.github.io/static-klines/api/klines/symbols.json

from static_klines import KLinesAPI

response = KLinesAPI.get_symbols(
    api_root="https://finom.github.io/static-klines/api",
)

print(response)
[
    "BTCUSDT",
    "ETHUSDT",
    "BNBUSDT",
    "SOLUSDT",
    "XRPUSDT",
    "ADAUSDT",
    "DOGEUSDT",
    "AVAXUSDT",
    "LINKUSDT",
    "DOTUSDT"
]

KLinesAPI.get_start_dates

List valid startDates for an interval

Returns the ordered list of startDate values accepted by the candle endpoints for a given interval. Every value is a calendar-aligned UTC date; iterate in order to walk the full history.

GET https://finom.github.io/static-klines/api/klines/start-dates/{interval}.json

from static_klines import KLinesAPI

response = KLinesAPI.get_start_dates(
    params={
        # Binance kline interval code
        "interval": "15m"
    },
    api_root="https://finom.github.io/static-klines/api",
)

print(response)
[
    "2024-01-01",
    "2024-02-01",
    "2024-03-01",
    "2024-04-01"
]

KLinesAPI.get_klines_15_m

Get 15m klines window

Fully-closed Binance spot candles at the 15m interval. Each file covers exactly 1 week (Monday-aligned), anchored at the calendar boundary shown by startDate. Call GET /api/klines/start-dates/15m.json for the full list of valid startDates.

GET https://finom.github.io/static-klines/api/klines/15m/{symbol}/{startDate}.json

from static_klines import KLinesAPI

response = KLinesAPI.get_klines15m(
    params={
        # Trading pair (Binance spot symbol, hardcoded list of 10)
        "symbol": "BTCUSDT",
        # 15m window start date (Monday, UTC, YYYY-MM-DD). Window covers 7 days / 672 candles.
        "startDate": "2023-01-02"
    },
    api_root="https://finom.github.io/static-klines/api",
)

print(response)
[
    [
        1514764800000,
        "13715.65000000",
        "13818.55000000",
        "12750.00000000",
        "13380.00000000",
        "8609.91584400",
        1514851199999,
        "114799747.44197057",
        105595,
        "3961.93894600",
        "52809747.44038045",
        "0"
    ],
    [
        1514851200000,
        "13382.16000000",
        "15473.49000000",
        "12890.02000000",
        "14675.11000000",
        "20078.09211100",
        1514937599999,
        "275545340.79810440",
        197229,
        "9915.30471600",
        "136355703.49029400",
        "0"
    ]
]

KLinesAPI.get_klines_30_m

Get 30m klines window

Fully-closed Binance spot candles at the 30m interval. Each file covers exactly 2 weeks (Monday-aligned), anchored at the calendar boundary shown by startDate. Call GET /api/klines/start-dates/30m.json for the full list of valid startDates.

GET https://finom.github.io/static-klines/api/klines/30m/{symbol}/{startDate}.json

from static_klines import KLinesAPI

response = KLinesAPI.get_klines30m(
    params={
        # Trading pair (Binance spot symbol, hardcoded list of 10)
        "symbol": "BTCUSDT",
        # 30m window start date (Monday, UTC). Window covers 14 days / 672 candles.
        "startDate": "2022-01-03"
    },
    api_root="https://finom.github.io/static-klines/api",
)

print(response)
[
    [
        1514764800000,
        "13715.65000000",
        "13818.55000000",
        "12750.00000000",
        "13380.00000000",
        "8609.91584400",
        1514851199999,
        "114799747.44197057",
        105595,
        "3961.93894600",
        "52809747.44038045",
        "0"
    ],
    [
        1514851200000,
        "13382.16000000",
        "15473.49000000",
        "12890.02000000",
        "14675.11000000",
        "20078.09211100",
        1514937599999,
        "275545340.79810440",
        197229,
        "9915.30471600",
        "136355703.49029400",
        "0"
    ]
]

KLinesAPI.get_klines_1_h

Get 1h klines window

Fully-closed Binance spot candles at the 1h interval. Each file covers exactly 1 calendar month, anchored at the calendar boundary shown by startDate. Call GET /api/klines/start-dates/1h.json for the full list of valid startDates.

GET https://finom.github.io/static-klines/api/klines/1h/{symbol}/{startDate}.json

from static_klines import KLinesAPI

response = KLinesAPI.get_klines1h(
    params={
        # Trading pair (Binance spot symbol, hardcoded list of 10)
        "symbol": "BTCUSDT",
        # 1h window start date (1st of month, UTC). Window covers 1 calendar month.
        "startDate": "2018-01-01"
    },
    api_root="https://finom.github.io/static-klines/api",
)

print(response)
[
    [
        1514764800000,
        "13715.65000000",
        "13818.55000000",
        "12750.00000000",
        "13380.00000000",
        "8609.91584400",
        1514851199999,
        "114799747.44197057",
        105595,
        "3961.93894600",
        "52809747.44038045",
        "0"
    ],
    [
        1514851200000,
        "13382.16000000",
        "15473.49000000",
        "12890.02000000",
        "14675.11000000",
        "20078.09211100",
        1514937599999,
        "275545340.79810440",
        197229,
        "9915.30471600",
        "136355703.49029400",
        "0"
    ]
]

KLinesAPI.get_klines_2_h

Get 2h klines window

Fully-closed Binance spot candles at the 2h interval. Each file covers exactly 2 calendar months, anchored at the calendar boundary shown by startDate. Call GET /api/klines/start-dates/2h.json for the full list of valid startDates.

GET https://finom.github.io/static-klines/api/klines/2h/{symbol}/{startDate}.json

from static_klines import KLinesAPI

response = KLinesAPI.get_klines2h(
    params={
        # Trading pair (Binance spot symbol, hardcoded list of 10)
        "symbol": "BTCUSDT",
        # 2h window start date (UTC). Window covers 2 calendar months.
        "startDate": "2017-07-01"
    },
    api_root="https://finom.github.io/static-klines/api",
)

print(response)
[
    [
        1514764800000,
        "13715.65000000",
        "13818.55000000",
        "12750.00000000",
        "13380.00000000",
        "8609.91584400",
        1514851199999,
        "114799747.44197057",
        105595,
        "3961.93894600",
        "52809747.44038045",
        "0"
    ],
    [
        1514851200000,
        "13382.16000000",
        "15473.49000000",
        "12890.02000000",
        "14675.11000000",
        "20078.09211100",
        1514937599999,
        "275545340.79810440",
        197229,
        "9915.30471600",
        "136355703.49029400",
        "0"
    ]
]

KLinesAPI.get_klines_4_h

Get 4h klines window

Fully-closed Binance spot candles at the 4h interval. Each file covers exactly 1 calendar quarter, anchored at the calendar boundary shown by startDate. Call GET /api/klines/start-dates/4h.json for the full list of valid startDates.

GET https://finom.github.io/static-klines/api/klines/4h/{symbol}/{startDate}.json

from static_klines import KLinesAPI

response = KLinesAPI.get_klines4h(
    params={
        # Trading pair (Binance spot symbol, hardcoded list of 10)
        "symbol": "BTCUSDT",
        # 4h window start date (1st of Jan/Apr/Jul/Oct, UTC). Window covers 1 calendar quarter.
        "startDate": "2017-07-01"
    },
    api_root="https://finom.github.io/static-klines/api",
)

print(response)
[
    [
        1514764800000,
        "13715.65000000",
        "13818.55000000",
        "12750.00000000",
        "13380.00000000",
        "8609.91584400",
        1514851199999,
        "114799747.44197057",
        105595,
        "3961.93894600",
        "52809747.44038045",
        "0"
    ],
    [
        1514851200000,
        "13382.16000000",
        "15473.49000000",
        "12890.02000000",
        "14675.11000000",
        "20078.09211100",
        1514937599999,
        "275545340.79810440",
        197229,
        "9915.30471600",
        "136355703.49029400",
        "0"
    ]
]

KLinesAPI.get_klines_6_h

Get 6h klines window

Fully-closed Binance spot candles at the 6h interval. Each file covers exactly 6 months (Jan/Jul), anchored at the calendar boundary shown by startDate. Call GET /api/klines/start-dates/6h.json for the full list of valid startDates.

GET https://finom.github.io/static-klines/api/klines/6h/{symbol}/{startDate}.json

from static_klines import KLinesAPI

response = KLinesAPI.get_klines6h(
    params={
        # Trading pair (Binance spot symbol, hardcoded list of 10)
        "symbol": "BTCUSDT",
        # 6h window start date (1st of Jan/Jul, UTC). Window covers 6 calendar months.
        "startDate": "2017-07-01"
    },
    api_root="https://finom.github.io/static-klines/api",
)

print(response)
[
    [
        1514764800000,
        "13715.65000000",
        "13818.55000000",
        "12750.00000000",
        "13380.00000000",
        "8609.91584400",
        1514851199999,
        "114799747.44197057",
        105595,
        "3961.93894600",
        "52809747.44038045",
        "0"
    ],
    [
        1514851200000,
        "13382.16000000",
        "15473.49000000",
        "12890.02000000",
        "14675.11000000",
        "20078.09211100",
        1514937599999,
        "275545340.79810440",
        197229,
        "9915.30471600",
        "136355703.49029400",
        "0"
    ]
]

KLinesAPI.get_klines_8_h

Get 8h klines window

Fully-closed Binance spot candles at the 8h interval. Each file covers exactly 6 months (Jan/Jul), anchored at the calendar boundary shown by startDate. Call GET /api/klines/start-dates/8h.json for the full list of valid startDates.

GET https://finom.github.io/static-klines/api/klines/8h/{symbol}/{startDate}.json

from static_klines import KLinesAPI

response = KLinesAPI.get_klines8h(
    params={
        # Trading pair (Binance spot symbol, hardcoded list of 10)
        "symbol": "BTCUSDT",
        # 8h window start date (1st of Jan/Jul, UTC). Window covers 6 calendar months.
        "startDate": "2017-07-01"
    },
    api_root="https://finom.github.io/static-klines/api",
)

print(response)
[
    [
        1514764800000,
        "13715.65000000",
        "13818.55000000",
        "12750.00000000",
        "13380.00000000",
        "8609.91584400",
        1514851199999,
        "114799747.44197057",
        105595,
        "3961.93894600",
        "52809747.44038045",
        "0"
    ],
    [
        1514851200000,
        "13382.16000000",
        "15473.49000000",
        "12890.02000000",
        "14675.11000000",
        "20078.09211100",
        1514937599999,
        "275545340.79810440",
        197229,
        "9915.30471600",
        "136355703.49029400",
        "0"
    ]
]

KLinesAPI.get_klines_12_h

Get 12h klines window

Fully-closed Binance spot candles at the 12h interval. Each file covers exactly 1 calendar year, anchored at the calendar boundary shown by startDate. Call GET /api/klines/start-dates/12h.json for the full list of valid startDates.

GET https://finom.github.io/static-klines/api/klines/12h/{symbol}/{startDate}.json

from static_klines import KLinesAPI

response = KLinesAPI.get_klines12h(
    params={
        # Trading pair (Binance spot symbol, hardcoded list of 10)
        "symbol": "BTCUSDT",
        # 12h window start date (1st of Jan, UTC). Window covers 1 calendar year.
        "startDate": "2017-01-01"
    },
    api_root="https://finom.github.io/static-klines/api",
)

print(response)
[
    [
        1514764800000,
        "13715.65000000",
        "13818.55000000",
        "12750.00000000",
        "13380.00000000",
        "8609.91584400",
        1514851199999,
        "114799747.44197057",
        105595,
        "3961.93894600",
        "52809747.44038045",
        "0"
    ],
    [
        1514851200000,
        "13382.16000000",
        "15473.49000000",
        "12890.02000000",
        "14675.11000000",
        "20078.09211100",
        1514937599999,
        "275545340.79810440",
        197229,
        "9915.30471600",
        "136355703.49029400",
        "0"
    ]
]

KLinesAPI.get_klines_1_d

Get 1d klines window

Fully-closed Binance spot candles at the 1d interval. Each file covers exactly 2 calendar years, anchored at the calendar boundary shown by startDate. Call GET /api/klines/start-dates/1d.json for the full list of valid startDates.

GET https://finom.github.io/static-klines/api/klines/1d/{symbol}/{startDate}.json

from static_klines import KLinesAPI

response = KLinesAPI.get_klines1d(
    params={
        # Trading pair (Binance spot symbol, hardcoded list of 10)
        "symbol": "BTCUSDT",
        # 1d window start date (1st of Jan, even years, UTC). Window covers 2 calendar years.
        "startDate": "2016-01-01"
    },
    api_root="https://finom.github.io/static-klines/api",
)

print(response)
[
    [
        1514764800000,
        "13715.65000000",
        "13818.55000000",
        "12750.00000000",
        "13380.00000000",
        "8609.91584400",
        1514851199999,
        "114799747.44197057",
        105595,
        "3961.93894600",
        "52809747.44038045",
        "0"
    ],
    [
        1514851200000,
        "13382.16000000",
        "15473.49000000",
        "12890.02000000",
        "14675.11000000",
        "20078.09211100",
        1514937599999,
        "275545340.79810440",
        197229,
        "9915.30471600",
        "136355703.49029400",
        "0"
    ]
]

KLinesAPI.get_klines_3_d

Get 3d klines window

Fully-closed Binance spot candles at the 3d interval. Each file covers exactly 5 calendar years, anchored at the calendar boundary shown by startDate. Call GET /api/klines/start-dates/3d.json for the full list of valid startDates.

GET https://finom.github.io/static-klines/api/klines/3d/{symbol}/{startDate}.json

from static_klines import KLinesAPI

response = KLinesAPI.get_klines3d(
    params={
        # Trading pair (Binance spot symbol, hardcoded list of 10)
        "symbol": "BTCUSDT",
        # 3d window start date (1st of Jan, every 5 years, UTC). Window covers 5 calendar years.
        "startDate": "2015-01-01"
    },
    api_root="https://finom.github.io/static-klines/api",
)

print(response)
[
    [
        1514764800000,
        "13715.65000000",
        "13818.55000000",
        "12750.00000000",
        "13380.00000000",
        "8609.91584400",
        1514851199999,
        "114799747.44197057",
        105595,
        "3961.93894600",
        "52809747.44038045",
        "0"
    ],
    [
        1514851200000,
        "13382.16000000",
        "15473.49000000",
        "12890.02000000",
        "14675.11000000",
        "20078.09211100",
        1514937599999,
        "275545340.79810440",
        197229,
        "9915.30471600",
        "136355703.49029400",
        "0"
    ]
]

KLinesAPI.get_klines_1_w

Get 1w klines window

Fully-closed Binance spot candles at the 1w interval. Each file covers exactly 10 calendar years, anchored at the calendar boundary shown by startDate. Call GET /api/klines/start-dates/1w.json for the full list of valid startDates.

GET https://finom.github.io/static-klines/api/klines/1w/{symbol}/{startDate}.json

from static_klines import KLinesAPI

response = KLinesAPI.get_klines1w(
    params={
        # Trading pair (Binance spot symbol, hardcoded list of 10)
        "symbol": "BTCUSDT",
        # 1w window start date (1st of Jan, every 10 years, UTC). Window covers 10 calendar years.
        "startDate": "2010-01-01"
    },
    api_root="https://finom.github.io/static-klines/api",
)

print(response)
[
    [
        1514764800000,
        "13715.65000000",
        "13818.55000000",
        "12750.00000000",
        "13380.00000000",
        "8609.91584400",
        1514851199999,
        "114799747.44197057",
        105595,
        "3961.93894600",
        "52809747.44038045",
        "0"
    ],
    [
        1514851200000,
        "13382.16000000",
        "15473.49000000",
        "12890.02000000",
        "14675.11000000",
        "20078.09211100",
        1514937599999,
        "275545340.79810440",
        197229,
        "9915.30471600",
        "136355703.49029400",
        "0"
    ]
]

KLinesAPI.get_klines_1_m

Get 1M klines window

Fully-closed Binance spot candles at the 1M interval. Each file covers exactly 10 calendar years, anchored at the calendar boundary shown by startDate. Call GET /api/klines/start-dates/1M.json for the full list of valid startDates.

GET https://finom.github.io/static-klines/api/klines/1M/{symbol}/{startDate}.json

from static_klines import KLinesAPI

response = KLinesAPI.get_klines1_m(
    params={
        # Trading pair (Binance spot symbol, hardcoded list of 10)
        "symbol": "BTCUSDT",
        # 1M window start date (1st of Jan, every 10 years, UTC). Window covers 10 calendar years of monthly candles.
        "startDate": "2010-01-01"
    },
    api_root="https://finom.github.io/static-klines/api",
)

print(response)
[
    [
        1514764800000,
        "13715.65000000",
        "13818.55000000",
        "12750.00000000",
        "13380.00000000",
        "8609.91584400",
        1514851199999,
        "114799747.44197057",
        105595,
        "3961.93894600",
        "52809747.44038045",
        "0"
    ],
    [
        1514851200000,
        "13382.16000000",
        "15473.49000000",
        "12890.02000000",
        "14675.11000000",
        "20078.09211100",
        1514937599999,
        "275545340.79810440",
        197229,
        "9915.30471600",
        "136355703.49029400",
        "0"
    ]
]

OpenAPI

OpenAPI.get_spec

OpenAPI 3.1 specification

Full OpenAPI document describing this API. Served at the API root so GET /api returns the spec directly.

GET https://finom.github.io/static-klines/api

from static_klines import OpenAPI

response = OpenAPI.get_spec(
    api_root="https://finom.github.io/static-klines/api",
)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

static_klines-0.1.7.tar.gz (23.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

static_klines-0.1.7-py3-none-any.whl (24.5 kB view details)

Uploaded Python 3

File details

Details for the file static_klines-0.1.7.tar.gz.

File metadata

  • Download URL: static_klines-0.1.7.tar.gz
  • Upload date:
  • Size: 23.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.6

File hashes

Hashes for static_klines-0.1.7.tar.gz
Algorithm Hash digest
SHA256 709e15915f1583d91c543ad70b5cf84139d3e6ceb15bb33f5e4daec108dde39f
MD5 0ba023f5e27058acb9421b6a8789fa46
BLAKE2b-256 dd87d5c867c823c4e3188076df48c3eef8ad633375db2e47462695cecb93452d

See more details on using hashes here.

File details

Details for the file static_klines-0.1.7-py3-none-any.whl.

File metadata

  • Download URL: static_klines-0.1.7-py3-none-any.whl
  • Upload date:
  • Size: 24.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.6

File hashes

Hashes for static_klines-0.1.7-py3-none-any.whl
Algorithm Hash digest
SHA256 b0ddb3fa3a41b6a99410853cffa2615d2d49e3942f243b90acc3800234e9dc16
MD5 acc1406de3ee2e6b2105e560af600cee
BLAKE2b-256 601f627a203bb7b01a714cff9f6e85620c5b28d0410f07e346f73ae44380ae94

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page