---
type: api
title: Get node information
description: **All methods and paths for this operation:**
url: https://www.elastic.co/elastic/docs-builder/docs/4371/api/doc/elasticsearch/operation/operation-nodes-info
resource: https://www.elastic.co/elastic/docs-builder/docs/4371/api/doc/elasticsearch/operation/operation-nodes-info
products:
  - Elasticsearch
---

# Get node information


Availability: 1.3+

## Paths

- `GET` `/_nodes/{node_id}/{metric}`
- `GET` `/_nodes/{node_id}`
- `GET` `/_nodes/{metric}`
- `GET` `/_nodes`

- [Api key auth](/elastic/docs-builder/docs/4371/api/doc/elasticsearch/authentication#apikeyauth)
- [Basic auth](/elastic/docs-builder/docs/4371/api/doc/elasticsearch/authentication#basicauth)
- [Bearer auth](/elastic/docs-builder/docs/4371/api/doc/elasticsearch/authentication#bearerauth)

#### Path Parameters

- `node_id` (union NodeId | [] NodeId) — optional, leave it out to use `/_nodes`
  Comma-separated list of node IDs or names used to limit returned information.
- `metric` (union NodesInfoMetric | [] NodesInfoMetric) — optional, leave it out to use `/_nodes`
  Limits the information returned to the specific metrics. Supports a comma-separated list, such as http,ingest.

Supported values include: `_all`, `_none`, `settings`, `os`, `process`, `jvm`, `thread_pool`, `transport`, `http`, `remote_cluster_server`, `plugins`, `ingest`, `aggregations`, `indices`
  Values: `_all`, `_none`, `settings`, `os`, `process`, `jvm`, `thread_pool`, `transport`, `http`, `remote_cluster_server`, `plugins`, `ingest`, `aggregations`, `indices`

## Description

By default, the API returns all attributes and core settings for cluster nodes.

## Query String Parameters

- `flat_settings` (boolean · default: false)
  If true, returns settings in flat format.
- `timeout` (string Duration · default: 30s)
  Period to wait for a response. If no response is received before the timeout expires, the request fails and returns an error.

## Response

`application/json`

- `_nodes` ({} NodeStatistics)
  Contains statistics about the number of nodes selected by the request’s node filters.
  - `failures` ([] ErrorCause)
    - `type` (string)
      The type of error
    - `reason` (union string) — nullable
      A human-readable explanation of the error, in English.
      One of: `string`
    - `stack_trace` (string)
      The server stack trace. Present only if the `error_trace=true` parameter was sent with the request.
    - `caused_by` ({} ErrorCause) — recursive
      Same fields as `failures` in `_nodes`
    - `root_cause` ([] ErrorCause) — recursive
      Same fields as `failures` in `_nodes`
    - `suppressed` ([] ErrorCause) — recursive
      Same fields as `failures` in `_nodes`
  - `total` (number)
    Total number of nodes selected by the request.
  - `successful` (number)
    Number of nodes that responded successfully to the request.
  - `failed` (number)
    Number of nodes that rejected the request or failed to respond. If this value is not 0, a reason for the rejection or failure is included in the response.
- `cluster_name` (string Name)
- `nodes` (map string to NodeInfo)
  Map values ({} NodeInfo)
  - `attributes` (map string to string)
  - `build_flavor` (string)
  - `build_hash` (string)
    Short hash of the last git commit in this release.
  - `build_type` (string)
  - `component_versions` (map string to number)
  - `host` (string)
    The node’s host name.
  - `http` ({} NodeInfoHttp)
    - `bound_address` ([] string)
    - `max_content_length` (number | string ByteSize)
    - `max_content_length_in_bytes` (number)
    - `publish_address` (string)
  - `index_version` (number VersionNumber)
  - `ip` (string)
    The node’s IP address.
  - `jvm` ({} NodeJvmInfo)
    - `gc_collectors` ([] string)
    - `mem` ({} NodeInfoJvmMemory)
      - `direct_max` (number | string ByteSize)
      - `direct_max_in_bytes` (number)
      - `heap_init` (number | string ByteSize)
      - `heap_init_in_bytes` (number)
      - `heap_max` (number | string ByteSize)
      - `heap_max_in_bytes` (number)
      - `non_heap_init` (number | string ByteSize)
      - `non_heap_init_in_bytes` (number)
      - `non_heap_max` (number | string ByteSize)
      - `non_heap_max_in_bytes` (number)
    - `memory_pools` ([] string)
    - `pid` (number)
    - `start_time_in_millis` (EpochTimeUnitMillis)
    - `version` (string)
    - `vm_name` (string Name)
    - `vm_vendor` (string)
    - `vm_version` (string)
    - `using_bundled_jdk` (boolean)
    - `using_compressed_ordinary_object_pointers` (boolean | string)
    - `input_arguments` ([] string)
  - `name` (string Name)
    The node's name
  - `os` ({} NodeOperatingSystemInfo)
    - `arch` (string)
      Name of the JVM architecture (ex: amd64, x86)
    - `available_processors` (number)
      Number of processors available to the Java virtual machine
    - `allocated_processors` (number)
      The number of processors actually used to calculate thread pool size. This number can be set with the node.processors setting of a node and defaults to the number of processors reported by the OS.
    - `name` (string Name)
      Name of the operating system (ex: Linux, Windows, Mac OS X)
    - `pretty_name` (string Name)
    - `refresh_interval_in_millis` (DurationValueUnitMillis)
      Refresh interval for the OS statistics
    - `version` (string)
      Version of the operating system
    - `cpu` ({} NodeInfoOSCPU)
      - `cache_size` (string)
      - `cache_size_in_bytes` (number)
      - `cores_per_socket` (number)
      - `mhz` (number)
      - `model` (string)
      - `total_cores` (number)
      - `total_sockets` (number)
      - `vendor` (string)
    - `mem` ({} NodeInfoMemory)
      - `total` (string)
      - `total_in_bytes` (number)
    - `swap` ({} NodeInfoMemory)
      - `total` (string)
      - `total_in_bytes` (number)
  - `plugins` ([] PluginStats)
    - `classname` (string)
    - `description` (string)
    - `elasticsearch_version` (string)
    - `extended_plugins` ([] string)
    - `has_native_controller` (boolean)
    - `java_version` (string)
    - `name` (string Name)
    - `version` (string)
    - `licensed` (boolean)
  - `process` ({} NodeProcessInfo)
    - `id` (number)
      Process identifier (PID)
    - `mlockall` (boolean)
      Indicates if the process address space has been successfully locked in memory
    - `refresh_interval_in_millis` (DurationValueUnitMillis)
      Refresh interval for the process statistics
  - `roles` (NodeRoles)
    Values: `master`, `data`, `data_cold`, `data_content`, `data_frozen`, `data_hot`, `data_warm`, `client`, `ingest`, `ml`, `voting_only`, `transform`, `remote_cluster_client`, `coordinating_only`
  - `settings` ({} NodeInfoSettings)
    - `cluster` ({} NodeInfoSettingsCluster)
      - `name` (string Name)
      - `routing` ({} IndexRouting)
        - `allocation` ({} IndexRoutingAllocation)
          - `enable` (enum IndexRoutingAllocationOptions)
            Values: `all`, `primaries`, `new_primaries`, `none`
          - `include` ({} IndexRoutingAllocationInclude)
            - `_tier_preference` (string)
            - `_id` (string Id)
          - `initial_recovery` ({} IndexRoutingAllocationInitialRecovery)
            - `_id` (string Id)
          - `disk` ({} IndexRoutingAllocationDisk)
            - `threshold_enabled` (boolean | string)
        - `rebalance` ({} IndexRoutingRebalance)
          - `enable` (enum IndexRoutingRebalanceOptions)
            Values: `all`, `primaries`, `replicas`, `none`
      - `election` ({} NodeInfoSettingsClusterElection)
        - `strategy` (string Name)
      - `initial_master_nodes` (union [] string | string)
      - `deprecation_indexing` ({} DeprecationIndexing)
        - `enabled` (boolean | string)
    - `node` ({} NodeInfoSettingsNode)
      - `name` (string Name)
      - `attr` (map string to object)
      - `max_local_storage_nodes` (string)
    - `path` ({} NodeInfoPath)
      - `logs` (string)
      - `home` (string)
      - `repo` ([] string)
      - `data` (union string | [] string)
    - `repositories` ({} NodeInfoRepositories)
      - `url` ({} NodeInfoRepositoriesUrl)
        - `allowed_urls` (string)
    - `discovery` ({} NodeInfoDiscover)
      - `seed_hosts` (union [] string | string)
      - `type` (string)
      - `seed_providers` (union [] string | string)
    - `action` ({} NodeInfoAction)
      - `destructive_requires_name` (string)
    - `client` ({} NodeInfoClient)
      - `type` (string)
    - `http` ({} NodeInfoSettingsHttp)
      - `type` ({} NodeInfoSettingsHttpType)
        - `default` (string)
      - `type.default` (string)
      - `compression` (boolean | string)
      - `port` (number | string)
    - `bootstrap` ({} NodeInfoBootstrap)
      - `memory_lock` (string)
    - `transport` ({} NodeInfoSettingsTransport)
      - `type` ({} NodeInfoSettingsTransportType)
        - `default` (string)
      - `type.default` (string)
      - `features` ({} NodeInfoSettingsTransportFeatures)
        - `x-pack` (string)
    - `network` ({} NodeInfoSettingsNetwork)
      - `host` (union Host | [] Host)
    - `xpack` ({} NodeInfoXpack)
      - `license` ({} NodeInfoXpackLicense)
        - `self_generated` ({} NodeInfoXpackLicenseType)
          - `type` (string)
      - `security` ({} NodeInfoXpackSecurity)
        - `http` ({} NodeInfoXpackSecuritySsl)
          - `ssl` (map string to string)
        - `enabled` (string)
        - `transport` ({} NodeInfoXpackSecuritySsl)
          - `ssl` (map string to string)
        - `authc` ({} NodeInfoXpackSecurityAuthc)
          - `realms` ({} NodeInfoXpackSecurityAuthcRealms)
            - `file` (map string to NodeInfoXpackSecurityAuthcRealmsStatus)
              Map values ({} NodeInfoXpackSecurityAuthcRealmsStatus)
              - `enabled` (string)
              - `order` (string)
            - `native` (map string to NodeInfoXpackSecurityAuthcRealmsStatus)
              Map values ({} NodeInfoXpackSecurityAuthcRealmsStatus)
              - `enabled` (string)
              - `order` (string)
            - `pki` (map string to NodeInfoXpackSecurityAuthcRealmsStatus)
              Map values ({} NodeInfoXpackSecurityAuthcRealmsStatus)
              - `enabled` (string)
              - `order` (string)
          - `token` ({} NodeInfoXpackSecurityAuthcToken)
            - `enabled` (string)
      - `notification` (map string to object)
      - `ml` ({} NodeInfoXpackMl)
        - `use_auto_machine_memory_percent` (boolean)
    - `script` ({} NodeInfoScript)
      - `allowed_types` (string)
      - `disable_max_compilations_rate` (string)
    - `search` ({} NodeInfoSearch)
      - `remote` ({} NodeInfoSearchRemote)
        - `connect` (string)
    - `ingest` ({} NodeInfoSettingsIngest)
      - `attachment` ({} NodeInfoIngestInfo)
        - `downloader` ({} NodeInfoIngestDownloader)
          - `enabled` (string)
      - `append` ({} NodeInfoIngestInfo)
        - `downloader` ({} NodeInfoIngestDownloader)
          - `enabled` (string)
      - `csv` ({} NodeInfoIngestInfo)
        - `downloader` ({} NodeInfoIngestDownloader)
          - `enabled` (string)
      - `convert` ({} NodeInfoIngestInfo)
        - `downloader` ({} NodeInfoIngestDownloader)
          - `enabled` (string)
      - `date` ({} NodeInfoIngestInfo)
        - `downloader` ({} NodeInfoIngestDownloader)
          - `enabled` (string)
      - `date_index_name` ({} NodeInfoIngestInfo)
        - `downloader` ({} NodeInfoIngestDownloader)
          - `enabled` (string)
      - `dot_expander` ({} NodeInfoIngestInfo)
        - `downloader` ({} NodeInfoIngestDownloader)
          - `enabled` (string)
      - `enrich` ({} NodeInfoIngestInfo)
        - `downloader` ({} NodeInfoIngestDownloader)
          - `enabled` (string)
      - `fail` ({} NodeInfoIngestInfo)
        - `downloader` ({} NodeInfoIngestDownloader)
          - `enabled` (string)
      - `foreach` ({} NodeInfoIngestInfo)
        - `downloader` ({} NodeInfoIngestDownloader)
          - `enabled` (string)
      - `json` ({} NodeInfoIngestInfo)
        - `downloader` ({} NodeInfoIngestDownloader)
          - `enabled` (string)
      - `user_agent` ({} NodeInfoIngestInfo)
        - `downloader` ({} NodeInfoIngestDownloader)
          - `enabled` (string)
      - `kv` ({} NodeInfoIngestInfo)
        - `downloader` ({} NodeInfoIngestDownloader)
          - `enabled` (string)
      - `geoip` ({} NodeInfoIngestInfo)
        - `downloader` ({} NodeInfoIngestDownloader)
          - `enabled` (string)
      - `grok` ({} NodeInfoIngestInfo)
        - `downloader` ({} NodeInfoIngestDownloader)
          - `enabled` (string)
      - `gsub` ({} NodeInfoIngestInfo)
        - `downloader` ({} NodeInfoIngestDownloader)
          - `enabled` (string)
      - `join` ({} NodeInfoIngestInfo)
        - `downloader` ({} NodeInfoIngestDownloader)
          - `enabled` (string)
      - `lowercase` ({} NodeInfoIngestInfo)
        - `downloader` ({} NodeInfoIngestDownloader)
          - `enabled` (string)
      - `remove` ({} NodeInfoIngestInfo)
        - `downloader` ({} NodeInfoIngestDownloader)
          - `enabled` (string)
      - `rename` ({} NodeInfoIngestInfo)
        - `downloader` ({} NodeInfoIngestDownloader)
          - `enabled` (string)
      - `script` ({} NodeInfoIngestInfo)
        - `downloader` ({} NodeInfoIngestDownloader)
          - `enabled` (string)
      - `set` ({} NodeInfoIngestInfo)
        - `downloader` ({} NodeInfoIngestDownloader)
          - `enabled` (string)
      - `sort` ({} NodeInfoIngestInfo)
        - `downloader` ({} NodeInfoIngestDownloader)
          - `enabled` (string)
      - `split` ({} NodeInfoIngestInfo)
        - `downloader` ({} NodeInfoIngestDownloader)
          - `enabled` (string)
      - `trim` ({} NodeInfoIngestInfo)
        - `downloader` ({} NodeInfoIngestDownloader)
          - `enabled` (string)
      - `uppercase` ({} NodeInfoIngestInfo)
        - `downloader` ({} NodeInfoIngestDownloader)
          - `enabled` (string)
      - `urldecode` ({} NodeInfoIngestInfo)
        - `downloader` ({} NodeInfoIngestDownloader)
          - `enabled` (string)
      - `bytes` ({} NodeInfoIngestInfo)
        - `downloader` ({} NodeInfoIngestDownloader)
          - `enabled` (string)
      - `dissect` ({} NodeInfoIngestInfo)
        - `downloader` ({} NodeInfoIngestDownloader)
          - `enabled` (string)
      - `set_security_user` ({} NodeInfoIngestInfo)
        - `downloader` ({} NodeInfoIngestDownloader)
          - `enabled` (string)
      - `pipeline` ({} NodeInfoIngestInfo)
        - `downloader` ({} NodeInfoIngestDownloader)
          - `enabled` (string)
      - `drop` ({} NodeInfoIngestInfo)
        - `downloader` ({} NodeInfoIngestDownloader)
          - `enabled` (string)
      - `circle` ({} NodeInfoIngestInfo)
        - `downloader` ({} NodeInfoIngestDownloader)
          - `enabled` (string)
      - `inference` ({} NodeInfoIngestInfo)
        - `downloader` ({} NodeInfoIngestDownloader)
          - `enabled` (string)
  - `thread_pool` (map string to NodeThreadPoolInfo)
    Map values ({} NodeThreadPoolInfo)
    - `core` (number)
    - `keep_alive` (string Duration)
    - `max` (number)
    - `queue_size` (number)
    - `size` (number)
    - `type` (string)
  - `total_indexing_buffer` (number)
    Total heap allowed to be used to hold recently indexed documents before they must be written to disk. This size is a shared pool across all shards on this node, and is controlled by Indexing Buffer settings.
  - `total_indexing_buffer_in_bytes` (number | string ByteSize)
    Same as total_indexing_buffer, but expressed in bytes.
  - `transport` ({} NodeInfoTransport)
    - `bound_address` ([] string)
    - `publish_address` (string)
    - `profiles` (map string to string)
  - `transport_address` (string)
    Host and port where transport HTTP connections are accepted.
  - `transport_version` (number VersionNumber)
  - `version` (string)
    Elasticsearch version running on this node.
  - `modules` ([] PluginStats)
    - `classname` (string)
    - `description` (string)
    - `elasticsearch_version` (string)
    - `extended_plugins` ([] string)
    - `has_native_controller` (boolean)
    - `java_version` (string)
    - `name` (string Name)
    - `version` (string)
    - `licensed` (boolean)
  - `ingest` ({} NodeInfoIngest)
    - `processors` ([] NodeInfoIngestProcessor)
      - `type` (string)
  - `aggregations` (map string to NodeInfoAggregation)
    Map values ({} NodeInfoAggregation)
    - `types` ([] string)
  - `remote_cluster_server` ({} RemoveClusterServer)
    - `bound_address` ([] string)
    - `publish_address` (string)
## Code Examples

#### Console

```console
GET _nodes/_all/jvm
```

#### JavaScript

```javascript
const response = await client.nodes.info({
  node_id: "_all",
  metric: "jvm",
});
```

#### Python

```python
resp = client.nodes.info(
    node_id="_all",
    metric="jvm",
)
```

#### curl

```curl
curl -X GET "$ELASTICSEARCH_URL/_nodes/_all/jvm" \
  -H "Authorization: ApiKey $ELASTIC_API_KEY"
```

#### Java

```java
client.nodes().info(i -> i
    .metric(NodesInfoMetric.Jvm)
    .nodeId("_all")
);
```

#### C#

```c#
var response = await client.Nodes
    .InfoAsync(d1 => d1
        .Metric(NodesInfoMetric.Jvm)
        .NodeId("_all")
    );
```

#### PHP

```php
$resp = $client->nodes()->info([
    "node_id" => "_all",
    "metric" => "jvm",
]);
```

#### Ruby

```ruby
response = client.nodes.info(
  node_id: "_all",
  metric: "jvm"
)
```

## Response Examples

#### Nodes info response example1

An abbreviated response when requesting cluster nodes information.

```json
{
    "_nodes": {},
    "cluster_name": "elasticsearch",
    "nodes": {
      "USpTGYaBSIKbgSUJR2Z9lg": {
        "name": "node-0",
        "transport_address": "192.168.17:9300",
        "host": "node-0.elastic.co",
        "ip": "192.168.17",
        "version": "{version}",
        "transport_version": 100000298,
        "index_version": 100000074,
        "component_versions": {
          "ml_config_version": 100000162,
          "transform_config_version": 100000096
        },
        "build_flavor": "default",
        "build_type": "{build_type}",
        "build_hash": "587409e",
        "roles": [
          "master",
          "data",
          "ingest"
        ],
        "attributes": {},
        "plugins": [
          {
            "name": "analysis-icu",
            "version": "{version}",
            "description": "The ICU Analysis plugin integrates Lucene ICU
  module into elasticsearch, adding ICU relates analysis components.",
            "classname":
  "org.elasticsearch.plugin.analysis.icu.AnalysisICUPlugin",
            "has_native_controller": false
          }
        ],
        "modules": [
          {
            "name": "lang-painless",
            "version": "{version}",
            "description": "An easy, safe and fast scripting language for
  Elasticsearch",
            "classname": "org.elasticsearch.painless.PainlessPlugin",
            "has_native_controller": false
          }
        ]
      }
    }
}
```

