---
title: Pterodactyl
description: Instructions on how to integrate a Pterodactyl server into Home Assistant.
ha_release: 2025.4
ha_category:
  - Binary sensor
  - Button
  - Sensor
ha_iot_class: Local Polling
ha_config_flow: true
ha_codeowners:
  - '@elmurato'
ha_domain: pterodactyl
ha_platforms:
  - binary_sensor
  - button
  - sensor
ha_integration_type: integration
ha_quality_scale: bronze
---

[Pterodactyl](https://www.pterodactyl.io) is a game server management panel designed to simplify the administration of game servers. It offers a user-friendly interface  which allows users to manage multiple game servers from a single dashboard, supporting popular games like Minecraft. Its key features include an intuitive web-based control panel, automated server installation, real-time server monitoring, scheduled backups and more. Each game server runs in an isolated Docker container, ensuring security and stability.

The Pterodactyl {% term integration %} allows you to monitor your game servers of your Pterodactyl server within Home Assistant.

## Prerequisites

To access your Pterodactyl server, an account API key is required. Follow these steps to create a new one:

- Access your **Pterodactyl Panel** and log in with your user account.
- From the main dashboard, click your **username** or **profile icon** in the top-right corner, then select **API Credentials**.
- Enter a **Description** to identify the key (for example, "Home Assistant").
- Optionally, specify **Allowed IPs** to restrict where the key can be used (leave blank to allow all IPs).
- Click **Create**. The panel will generate and display your new account API key.
- Copy the **account API key** immediately and store it securely. You won’t be able to view it again after leaving the page.

{% important %}
Pterodactyl has two different types of API keys: Account and Application. Application API keys are not supported, an account API key as described above is required instead.
{% endimportant %}

{% include integrations/config_flow.md %}

During setup, you will be prompted to enter the **URL** and the **account API key** of the server.

{% configuration_basic %}
URL:
    description: "The URL of your Pterodactyl server, including the protocol (`http://` or `https://`) and optionally the port number. Example: `http://192.168.0.123:8080`"
Account API key:
    description: "The account API key for accessing your Pterodactyl server (see prerequisites)."
{% endconfiguration_basic %}

## Binary sensors

This integration provides a binary sensor with the following information for each game server of your Pterodactyl server:

- Status: `Running` or `Not running`

## Buttons

This integration provides the following {% term buttons %} for each game server of your Pterodactyl server:

- Start server
- Stop server
- Restart server

The following button is provided as well, but disabled by default:

- Force stop server

{% warning %}
Using **force stop** will terminate the server immediately and may lead to game server file corruption.
{% endwarning %}

## Sensors

This integration provides the following {% term sensors %} for each game server of your Pterodactyl server:

- CPU utilization
- Memory usage
- Disk usage
- Uptime

The following sensors are provided as well, but disabled by default:

- CPU limit
- Memory limit
- Disk limit
- Network inbound
- Network outbound

## Removing the integration

This integration follows standard integration removal. No extra steps are required.

{% include integrations/remove_device_service.md %}