Skip to main content

CryptoETF — Python SDK for spot crypto ETF flows

PyPI

The official client for the CryptoETF API: daily net flows of every US-listed spot crypto ETF, fund by fund, plus fund AUM, the CEFI sentiment index and coin prices. Data by cryptoetf.today.

Sixteen assets: BTC, ETH, SOL, XRP, HYPE, DOGE, LINK, AVAX, HBAR, LTC, BNB, DOT, SUI, NEAR, TRX, ZEC. Zero dependencies (standard library only), typed, Python 3.9+.

Install

pip install cryptoetf

Get an API key

Sign in at cryptoetf.today and create a key in Profile → For developers. It is free.

Quick start

from cryptoetf import CryptoETF

etf = CryptoETF(api_key="...")  # or set CRYPTOETF_API_KEY

# Latest daily net flow for every asset, US$ millions
for a in etf.flows.summary()["assets"]:
    print(a["symbol"], a["date"], a["netFlowUsdM"])

# Bitcoin ETFs fund by fund
btc = etf.flows.funds("btc")
last_day = btc["days"][-1]
print([(f["ticker"], f["netFlowUsdM"]) for f in last_day["funds"]])

Responses are plain dicts with the same field names as the API, so they drop straight into pandas:

import pandas as pd

df = pd.DataFrame(etf.flows.asset("eth")["days"])

Methods

Method Endpoint Returns
flows.summary() GET /v1/flows/summary Latest net flow per asset
flows.asset(asset) GET /v1/flows/{asset} Daily net flows of one asset
flows.funds(asset) GET /v1/flows/{asset}/funds Daily net flows of one asset, per fund
funds(asset=None) GET /v1/funds Fund directory with AUM, fees, coins held
cefi() GET /v1/index/cefi CEFI sentiment index (0–100) and its history
tickers() GET /v1/tickers Tracked assets
prices() GET /v1/prices Spot prices of the 16 coins
weekly() GET /v1/analytics/weekly Seven-day totals per asset

asset is a code such as btc, eth, sol, hype or a full name such as bitcoin. All values are net US$ millions: positive = inflow, negative = outflow. Full field reference: docs.cryptoetf.today.

Errors and limits

Every failed call raises CryptoETFError with status, an optional code and, on HTTP 429, retry_after in seconds:

from cryptoetf import CryptoETFError

try:
    etf.prices()
except CryptoETFError as e:
    if e.status == 429:
        print(f"rate limited, retry in {e.retry_after}s")
  • Rate limit: 120 requests per minute per key. The latest limit headers are available as etf.rate_limit.
  • History: the free tier covers the last 30 days. Full history will be available on a paid plan.
  • Freshness: a trading day appears the next morning (UTC), before the US open. The newest day can be revised once later that day. SUI funds arrive a day later.

Options

CryptoETF(
    api_key="...",          # default: CRYPTOETF_API_KEY
    timeout=15.0,           # seconds per request
    base_url="https://api.cryptoetf.today/api/v1",
)

Not investment advice. MIT licensed.

Metadata

Release files for cryptoetf 1.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for cryptoetf 1.0.1
File Size Uploaded Provenance
cryptoetf-1.0.1.tar.gz 7.1 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for cryptoetf 1.0.1
File Interpreter ABI Platform
cryptoetf-1.0.1-py3-none-any.whl Python 3 none any Details

Total release size: 14.8 kB

Release files / cryptoetf-1.0.1.tar.gz

Download URL cryptoetf-1.0.1.tar.gz
Size 7.1 kB
Tags Source
SHA-256 checksum
How to use checksums
dd120d745764a08ac29df7eb33587fc04372eaacb5425195521b9547aeae6735
BLAKE2b-256 checksum
How to use checksums
13d33710998450970690900f77d9ef7eba0772548f14348b44bf788f7ea4eba6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 21, 2026.

Transparency log

Release files / cryptoetf-1.0.1-py3-none-any.whl

Download URL cryptoetf-1.0.1-py3-none-any.whl
Size 7.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a4c0b6b9673b132c31b4db2315648206f02d3215c1382bb3dbbca93ddfc74d30
BLAKE2b-256 checksum
How to use checksums
252b1fd17f511af4c57d27d5b986e0c1ee92115069c543432b728e16350fa9ec
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 21, 2026.

Transparency log

Security for cryptoetf 1.0.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for cryptoetf-1.0.1.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 21, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Release history Release notifications | RSS feed

This release

1.0.1 This release

2 release files Full provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page