Skip to main content
Hetzner Cloud rents servers, volumes, snapshots, load balancers, and IP addresses by the hour, capped at a monthly price. Hetzner has no billing report to read, so CostGraph estimates your cost from what exists in the project: every resource is priced at its current list price and prorated for the time it ran. Treat the figures as an estimate that tracks your inventory, not as the amounts on your Hetzner invoice. CostGraph reads Hetzner as FOCUS 1.2 records at a grain of one record per resource per project.

Choose how the data reaches us

CostGraph pulls it

You supply read-only credentials and we call Hetzner Cloud once a day. Nothing to run.

You push it

You send us FOCUS records over the API. Credentials never leave your infrastructure.

Before you begin

  • In the Hetzner Console, open your project and go to Security > API tokens. Create a token. Read access is enough.
  • Note the project name as the console shows it. The connect form asks for it. Renaming the project later starts a new billing account in CostGraph.

Let CostGraph pull

  1. Open Settings > Integrations and pick Hetzner Cloud.
  2. Name the connection and pick the tenant these charges belong to.
  3. Enter the values you copied. The form lists what Hetzner Cloud needs and marks the optional ones.
  4. Select Connect.
CostGraph verifies the credentials with a short fetch before saving, so a wrong value or a missing permission fails while you are still on the form.
Credentials are encrypted at rest and used only to read billing data. Revoke them in Hetzner Cloud at any time and the connection stops; nothing else is affected.

Push it yourself

Send the charges to CostGraph as FOCUS records instead. Push FOCUS data covers the connection id, the focus:write key, and the request shape.

Run the exporter

Rather than build that request yourself, run our exporter. It reads Hetzner Cloud on a schedule and pushes the records for you, wherever you want to run it: a container, a Kubernetes CronJob, or a binary on a machine you already have.
Your Hetzner Cloud credential stays where you put it, and only the finished FOCUS records reach CostGraph. Run the exporter covers the three ways to run it and the variables it reads.

What CostGraph does with it

Records land as raw billing rows, are normalised into line items, and roll up into daily cost. From there Hetzner spend appears in Cost Overview and in anomaly detection alongside every other provider. Each record carries whether the resource is attached and what state it is in, so unattached volumes, IPs, and load balancers stand out as waste.