Bitcoin Nodes by ASN

Distribution of reachable Bitcoin nodes across networks and hosting providers

How to call

Request format

GET
curl -X GET "https://newhedge.io/api/v2/metrics/nodes-by-networks/METRIC_NAME?api_token=YOUR_TOKEN"
Query params

api_token (required) — 24 character token.

resolution (optional) — 1d only for the metrics on this chart. A finer value is refused, never served as 1d: 401 when the token is not entitled to finer buckets, 400 when it is entitled and the metric does not ingest that bucket; see Resolutions.

before (optional) — exclusive cursor, returns observations older than this timestamp_ms. Works on every resolution.

limit (optional) — the most recent N observations, maximum 5000. Finer resolutions page by default (2500); a 1d request returns the whole series unless you send limit or before.

before and limit narrow a time series. A response with no single time axis, such as a hash keyed by venue or a labelled snapshot table, has nothing to cut on. It is returned whole, and both parameters are ignored rather than rejected.

A before that is not a positive epoch-millisecond timestamp is a 400. It is the one paging value we reject rather than ignore, because a page size has a sensible default and a cursor does not.

include (optional) — definition wraps the response as {"definition": …, "data": …} and returns the record shown under each metric; see Definitions. Any other value is a 400.

Path params

:metric_name — one of the metric names listed below.

Responses

200 with JSON payload, 400 for an unknown include value, 401 for missing/invalid token, 404 for missing resources. A 404 for a metric withdrawn on purpose adds withdrawn, withdrawn_on and reason, for example {"error":"Metric not found","withdrawn":true,"withdrawn_on":"2026-09-07","reason":"The venue's public feed reports insurance-fund settlements, not liquidation orders."}; a removed chart can add successor.

Plan and quota refusals keep these statuses and error texts and add code, required_plan, current_plan, feature, upgrade_url, limit and resets_at where they apply. A Pro token whose history window removed points also gets the X-Newhedge-History-Truncated headers, and for a Pro token X-Newhedge-Available-From is the start of the window. See Errors and plan limits.

Metrics

Each metric is fetched independently. Responses are trimmed samples to show structure.

1 metrics
Metric

Brandsnodes_by_sources

Data used by the Nodes by ASN chart.

Resolutions: 1d only.

Endpoint
https://newhedge.io/api/v2/metrics/nodes-by-networks/nodes_by_sources?api_token=YOUR_TOKEN

Replace `YOUR_TOKEN` with your API token.

Sample response
200 Successful response
[
  [
    "Contabo",
    128
  ],
  [
    "Google",
    85
  ],
  [
    "Other",
    4274
  ]
]
Definition

Value: Reachable Bitcoin nodes by network: the ten hosting providers with the most reachable nodes, Tor and I2P as their own rows, and every other network as Other. From the latest network crawl snapshot.

Units: nodes

Revision policy: full_replace. Rebased on 2026-09-16 from an all-nodes count to reachable nodes only; earlier values are not comparable.

Universe: Bitcoin peer-to-peer network.

Methodology version: 2026-09-16