Crypto ETF Flows - Bitcoin & Ether Spot ETF Daily Flows
Pricing
from $2.00 / 1,000 result rows
Crypto ETF Flows - Bitcoin & Ether Spot ETF Daily Flows
BTC and ETH spot-ETF flow tracker: daily net inflows and outflows per issuer plus daily totals over a lookback window, with latest-day snapshot, window aggregates and reconciliation in the run summary. The institutional-demand signal for bitcoin and ether. Fresh data every run.
Pricing
from $2.00 / 1,000 result rows
Rating
0.0
(0)
Developer
Philip Kirkbride
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Security
Limited permissionsShare
Crypto ETF Flows
Quick Start
Collect daily net flows for BTC and ETH spot ETFs, broken down by issuer, plus each day's total. Use it to track institutional demand for Bitcoin and Ethereum in dashboards, research, and alerts. Start with this minimal input:
{"asset": "btc", "days": 30}
Data comes from Farside Investors' published ETF flow tables.
Input
| Name | Type | Default | What it does |
|---|---|---|---|
asset | string | btc | Which ETF flow table to read: btc (12 issuers) or eth (11 issuers). |
days | integer | 30 | Calendar days of history to emit, anchored on the newest published row. |
alertAbsTotalFlowM | number | 0 | When > 0, each day whose total net flow magnitude reaches this many USD millions sends one Telegram alert. Each crossing day alerts once, ever. 0 disables alerts. |
telegramBotToken | string | empty | Secret bot token for alerts; falls back to the TELEGRAM_BOT_TOKEN environment variable. |
telegramChatId | string | empty | Chat that receives the alerts. |
Output
One dataset record per trading day (oldest to newest): recordKey, source, kind, asset, date, per-issuer flow fields in USD millions (flowIBIT, flowFBTC, …; negative = outflow), totalNetFlowM, sourceUrl, collectedAt.
The run summary (KeyValue store OUTPUT) reports the latest-day snapshot, window aggregates (inflow/outflow/zero days), a totals reconciliation, the alert report, and any warnings. records counts only the rows stored in the dataset; if your maximum charge per run stops the run early, stoppedBy is chargeLimit and the summary line says how many flow records were stored.
Output example
A real record from a run with the Quick Start input:
{"recordKey":"farside:btc:2026-09-23","source":"farside.co.uk","kind":"etf_flow","asset":"BTC","date":"2026-09-23","flowIBIT":166.3,"flowFBTC":143.2,"flowBITB":0,"flowARKB":5,"flowBTCO":0,"flowEZBC":0,"flowBRRR":0,"flowHODL":0,"flowBTCW":0,"flowMSBT":32.4,"flowGBTC":0,"flowBTC":0,"totalNetFlowM":346.9,"sourceUrl":"https://farside.co.uk/bitcoin-etf-flow-all-data/","collectedAt":"2026-10-21T06:06:58.773239+00:00"}
FAQ
How fresh is the data? Flows publish per trading day (US market hours). Weekends and US holidays have no rows, and the newest row can lag "today" by a business day.
How far back does history go? BTC since 2024-01-11 and ETH since 2024-07-23; set days up to 1096.
What if an issuer has no data for a day? It is returned as explicit null, never guessed. Newly launched ETFs appear as new columns and are handled gracefully.
Do alerts repeat? No. Each threshold-crossing day is delivered once; scheduled runs never re-alert historical crossings still inside the window.
Price
$0.002 per result row (one trading day), plus $0.005 per run start. The run-start event is charged per GB of memory; the default 512 MB run is one start event. The start is charged even if the run saves no rows. You are charged only for result rows that are actually saved to the dataset; if fetching or validation fails, no rows are saved and none are charged. Platform usage is included in these prices.
For support, contact Apify support and include the Actor run ID.