Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Using a configurable backoff algorithm to wait for actions allows users to
fine tune api-requests versus latency of updates.

Using a longer, potentially exponential backoff allows the user to use less
API requests in non-interactive contexts, where they only care about the
result of the action, and not progress updates.

Git stats


Failed to load latest commit information.

hcloud: A Go library for the Hetzner Cloud API

GitHub Actions status GoDoc

Package hcloud is a library for the Hetzner Cloud API.

The library’s documentation is available at GoDoc, the public API documentation is available at


package main

import (


func main() {
    client := hcloud.NewClient(hcloud.WithToken("token"))

    server, _, err := client.Server.GetByID(context.Background(), 1)
    if err != nil {
        log.Fatalf("error retrieving server: %s\n", err)
    if server != nil {
        fmt.Printf("server 1 is called %q\n", server.Name)
    } else {
        fmt.Println("server 1 not found")

Go Version Support

The library supports the latest two Go minor versions, e.g. at the time Go 1.19 is released, it supports Go 1.18 and 1.19.

This matches the official Go Release Policy.

When the minimum required Go version is changed, it is announced in the release notes for that version.


MIT license