Skip to main content
GET
/
v2
/
nodes
/
List all nodes
curl --request GET \
  --url https://api.chainstack.com/v2/nodes/ \
  --header 'Authorization: Bearer <token>'
import requests

url = "https://api.chainstack.com/v2/nodes/"

headers = {"Authorization": "Bearer <token>"}

response = requests.get(url, headers=headers)

print(response.text)
const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};

fetch('https://api.chainstack.com/v2/nodes/', options)
  .then(res => res.json())
  .then(res => console.log(res))
  .catch(err => console.error(err));
<?php

$curl = curl_init();

curl_setopt_array($curl, [
  CURLOPT_URL => "https://api.chainstack.com/v2/nodes/",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_HTTPHEADER => [
    "Authorization: Bearer <token>"
  ],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "https://api.chainstack.com/v2/nodes/"

	req, _ := http.NewRequest("GET", url, nil)

	req.Header.Add("Authorization", "Bearer <token>")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(string(body))

}
HttpResponse<String> response = Unirest.get("https://api.chainstack.com/v2/nodes/")
  .header("Authorization", "Bearer <token>")
  .asString();
require 'uri'
require 'net/http'

url = URI("https://api.chainstack.com/v2/nodes/")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'

response = http.request(request)
puts response.read_body
{
  "count": 1,
  "next": null,
  "previous": null,
  "results": [
    {
      "id": "ND-123-456-789",
      "name": "My Ethereum node",
      "network": "mainnet",
      "protocol": "ethereum",
      "project": "PR-123-456-789",
      "cloud": "CC-0001",
      "region": "us-east-1",
      "provider": "aws",
      "status": "running",
      "details": {
        "api_namespaces": [
          "net",
          "eth",
          "web3",
          "txpool",
          "debug"
        ],
        "https_endpoint": "https://nd-123-456-789.p2pify.com",
        "wss_endpoint": "wss://ws-nd-123-456-789.p2pify.com",
        "beacon_endpoint": "https://beacon-nd-123-456-789.p2pify.com",
        "graphql_endpoint": "https://nd-123-456-789.p2pify.com/graphql"
      },
      "blockchain": "BC-000-000"
    }
  ]
}
{
  "error": {
    "code": "<string>",
    "message": "<string>"
  }
}
{
  "error": {
    "code": "<string>",
    "message": "<string>"
  }
}

Authorizations

Authorization
string
header
required

Chainstack API uses API keys to authenticate requests. You can view and manage your API keys in the platform UI. Your API keys carry many privileges, so be sure to keep them secure! Provide your API key as the Authorization header. The value of the header consists of Bearer prefix and secret key generated through the platform UI.

curl -X GET 'https://api.chainstack.com/v1/organization/' \
--header 'Authorization: Bearer FX7CWlLg.FMpAO8cgCX2N7s41EncRru2nb5CmTZUt'

All API requests must be made over HTTPS.

Query Parameters

order_by
enum<string>

Which field to use when ordering the results.
Use the - prefix to perform descending ordering (-name).

Available options:
name,
created_at
page
integer

A page number within the paginated result set.

Response

count
integer

Number of the objects in the paginated results.

Example:

123

next
string | null

Link to the next page.

previous
string | null

Link to the previous page.

results
object[]
Last modified on July 7, 2026