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.0

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.0
File Size Uploaded Provenance
cryptoetf-1.0.0.tar.gz 7.1 kB With provenance Details

Built distribution (wheel)

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

Total release size: 14.9 kB

Release files / cryptoetf-1.0.0.tar.gz

Download URL cryptoetf-1.0.0.tar.gz
Size 7.1 kB
Tags Source
SHA-256 checksum
How to use checksums
e8712997dbda1010fe923c23124d237fcca2c7da6d9f280f981682e84e356f6e
BLAKE2b-256 checksum
How to use checksums
f8cc35f8fa363dbc40dc969b78840bb59fb8403adccf8c51924fc5dfb5a8cb44
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.0-py3-none-any.whl

Download URL cryptoetf-1.0.0-py3-none-any.whl
Size 7.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
8cc922b1430f768af840c1653a10789eb9af38595bf9f7b96b3a5d4ba8c24bbb
BLAKE2b-256 checksum
How to use checksums
d0a2fca106e04743f371038154d38528cb30f188ba2913a594ca3d3930b6bc9d
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.0

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.0.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.0 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