host_get
Retrieve Zabbix hosts by ID, host group, proxy, template, or custom filters to inspect and manage monitored servers, VMs, and network devices.
Instructions
Retrieve hosts. Hosts are the core monitored entities in Zabbix - they represent servers, VMs, network devices, or any other resource you monitor. Each host belongs to one or more host groups, can be linked to templates, and contains items, triggers, and graphs that define what is monitored and how.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of results to return. | |
| filter | No | Return only results whose properties exactly match the given values (a single value or a list of values per key). Example: {"status": 0} or {"status": [0, 1]}. Keys: active_available (6.2+), assigned_proxyid (7.0+), auto_compress (removed in 7.0), custom_interfaces, flags, host, hostid, inventory_mode, ipmi_authtype, ipmi_password, ipmi_privilege, ipmi_username, lastaccess (removed in 6.2), maintenance_from, maintenance_status, maintenance_type, maintenanceid, monitored_by (7.0+), name, proxy_address (removed in 7.0), proxy_groupid (7.0+), proxy_hostid (removed in 7.0), proxyid (7.0+), status, templateid, tls_accept, tls_connect, tls_issuer, tls_subject, uuid, vendor_name (6.4+), vendor_version (6.4+), wizard_ready (7.4+). Text properties cannot be filtered; use 'search' for them. | |
| output | No | Properties of the host object to return. Pass 'extend' for all, 'count' for the number of matches only, or a comma-separated list of property names. Default when omitted: hostid, host, name, status. Properties: active_available (6.2+), assigned_proxyid (7.0+), auto_compress (removed in 7.0), custom_interfaces, description, flags, host, hostid, inventory_mode, ipmi_authtype, ipmi_password, ipmi_privilege, ipmi_username, lastaccess (removed in 6.2), maintenance_from, maintenance_status, maintenance_type, maintenanceid, monitored_by (7.0+), name, proxy_address (removed in 7.0), proxy_groupid (7.0+), proxy_hostid (removed in 7.0), proxyid (7.0+), readme (7.4+), status, templateid, tls_accept, tls_connect, tls_issuer, tls_psk, tls_psk_identity, tls_subject, uuid, vendor_name (6.4+), vendor_version (6.4+), wizard_ready (7.4+). | |
| search | No | Return results whose string properties contain the given pattern (case-insensitive; '*' is a wildcard when searchWildcardsEnabled is true). Example: {"name": "web"}. Keys: description, host, ipmi_password, ipmi_username, name, proxy_address (removed in 7.0), readme (7.4+), tls_issuer, tls_subject, uuid, vendor_name (6.4+), vendor_version (6.4+). | |
| server | No | Target Zabbix server. Available: default. Defaults to 'default' if omitted. | |
| hostids | No | Return only hosts with the given IDs. | |
| groupids | No | Return only hosts that belong to the given host groups (by group ID). | |
| proxyids | No | Return only hosts monitored by the given proxies (by proxy ID). | |
| raw_json | No | Strips the security disclaimer preamble from the response so it is pure JSON. Default: false. Requires the bearer token to have 'allow_raw_json' explicitly enabled by an operator in the admin portal - tokens without that policy receive a PolicyError instead. WARNING: setting true bypasses the prompt-injection mitigation marker that wraps untrusted Zabbix data (host names, item descriptions, problem text). LLM clients (Claude, GPT, Cursor, ...) should leave this false; only programmatic non-LLM consumers (Python scripts, n8n workflows that json.loads the result) should set true. | |
| sortfield | No | Sort by one or more of: hostid, host, name, status (comma-separated for several; pair with 'sortorder'). No other property is sortable. | |
| sortorder | No | Sort order: 'ASC' (ascending) or 'DESC' (descending). | |
| with_items | No | Only return hosts that have items. | |
| countOutput | No | Return the count of matching results instead of the actual data. | |
| searchByAny | No | If true, return results matching ANY search field (OR). Default is ALL fields (AND). | |
| templateids | No | Return only hosts linked to the given templates (by template ID). | |
| with_graphs | No | Only return hosts that have graphs. | |
| extra_params | No | Other native host.get parameters, merged into the request as-is. Parameters: dserviceids, evaltype, graphids, httptestids, inheritedTags, interfaceids, itemids, limitSelects, maintenanceids, monitored_hosts, proxy_groupids (7.0+), proxy_hosts (removed in 7.0), searchInventory, severities, tags, templated_hosts, triggerids, withProblemsSuppressed, with_graph_prototypes, with_item_prototypes, with_monitored_httptests, with_monitored_items, with_monitored_triggers, with_simple_graph_item_prototypes, with_simple_graph_items. Sub-object selects (value 'extend', 'count' or a list of property names): selectDashboards (6.0+), selectDiscoveries, selectDiscoveryData (7.4+), selectDiscoveryRule, selectDiscoveryRules (7.4+), selectGraphs, selectGroups (removed in 7.2), selectHostDiscovery, selectHostGroups (6.2+), selectHttpTests, selectInheritedTags, selectInterfaces, selectInventory, selectItems, selectMacros, selectParentTemplates, selectTags, selectTriggers, selectValueMaps (6.0+). Any other key is refused here, because Zabbix would silently ignore it. For a parameter you are sure exists on your release but is not listed, use zabbix_raw_api_call. | |
| with_triggers | No | Only return hosts that have triggers. | |
| with_httptests | No | Only return hosts that have web scenarios (HTTP tests). | |
| searchWildcardsEnabled | No | If true, enable * and ? wildcards in search patterns. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |