VPS API: automate cloud servers with JSON REST
A cloud server API to handle everything from creating to deleting servers in code
- JSON REST API
- API key (Bearer) authentication
- 300 requests per minute
A VPS API is a programmatic way to do the work you would do in the control panel, such as creating, starting, stopping and deleting servers, with HTTP requests. The HELPER VPS cloud server API is free for all members; after your first payment, create an API key and connect right away.
REST API
All members
Free
Billed monthly
- JSON REST
- API key (Bearer)
- 300 per minute
- Free
To see request examples and response formats right away API docs
What can I automate with the VPS API?
The VPS API is most powerful when you create and delete servers often or manage many servers at once. Here are four common automations.
Create servers in your deploy pipeline
In a deploy pipeline such as GitLab CI, create a test server with a POST /servers request and delete it with a DELETE request when the test is done. Servers exist only when you need them, so costs stay tidy.
Check server status and control power
Read your server list and status, IPv4 and IPv6 addresses and next billing date with GET /servers, and control power with start, stop and reboot requests when needed. Connect it to monitoring tools and write scripts that restart stopped servers.
Sell and run servers inside your own service
Call the API from your own admin panel or bot to create servers and show the results. Read the sizes, regions, operating systems and options available from the catalog with GET /catalog and display them on screen as they are.
Billing date management and renewal
Check each server's next billing date with the paid_until value, and renew right away with a renew request for servers where you want to pay for a longer period ahead. Keep track of your invoices and billing dates in code to keep important servers running steadily.
Control panel or VPS API: when to use which?
The control panel and the API work with the same account and the same servers. For managing one or two servers by hand, the control panel is convenient; for repetitive work or many servers, the API is faster.
Control panel
Manage by clicking on screen
Best for
- When creating a server for the first time
- When managing one or two servers yourself
- OS reinstalls and adding SSH keys
- When checking the root password again
VPS API
Manage by sending requests from code
Best for
- Test environments where servers are created and deleted often
- Deploy pipelines and script automation
- When reading the status of many servers at once
- When connecting your own admin panel or bot
How do I connect to the cloud server API?
It takes three steps. First, make your first payment, and once it is confirmed, create a key on the API keys page. Next, put the key in the Authorization header of every request using the Bearer scheme. Finally, send requests to the path you want after the base address https://helpervps.com/api/v1, and results come back as JSON.
Calling GET /catalog first is a good start. It returns the server types and sizes available now, region codes, operating system and one-click app codes, and the prices for automatic backups, extra disks and DDoS protection in one go. Put the plan, location and image codes you get here straight into your create server request.
To create a server, send plan, location, image and label values as JSON to POST /servers. You can also include the ID of an SSH key you added and the backups, extra_disk_gb and ddos_protection options. You pay for the chosen period upfront, and the response contains the server ID, status and root password, so save them somewhere safe immediately.
What can I do with the VPS API?
The VPS API covers a server's whole lifecycle from start to finish. Read the catalog with GET /catalog, create servers with POST /servers, read your server list with GET /servers and a single server's details with GET /servers/{id}. Responses include the server name, status, IPv4 and IPv6 addresses, monthly price, chosen options and next billing date.
Turn power on, off and restart with POST /servers/{id}/start, stop and reboot requests. POST /servers/{id}/renew pays a month now to renew right away without waiting for the billing date, and DELETE /servers/{id} deletes the server. If a request does not match the server's current state, you get a wrong_state code, making it easy for scripts to decide what to do next.
Errors come back as JSON with an error value along with a status code. Reasons are split into codes, such as unauthorized when the key is wrong, not_enough_balance when the balance is short, limit when the account has reached its server limit, and rate_limited when there are too many requests, so programs can handle each situation. The full list and response examples are in the API docs.
How much does the VPS API cost?
The VPS API is free for all members. Servers and options created with the API are paid at the same prices as servers created in the control panel.
Free API use
There is no charge for issuing API keys or making requests. Any member who has made their first payment can create a key and use it right away.
300 requests per minute
Up to 300 requests per minute per key. A generous limit for everyday automation such as checking server lists and controlling power.
Same prices as the control panel
Servers created with the API have the same prices as the price list, options are added at the same amounts, and they renew on each billing date.
HELPER VPS in numbers
Choose from 40 regions, 12 operating systems and 10 one-click apps in one account, and pay right away. The numbers below are based on what is on sale now.
40
Data center regions
12
Operating systems
10
One-click apps
Free
Starting price of this product (monthly)
Automation tools to use with the VPS API
Any tool that can send HTTP requests connects to the VPS API. Use it the same way from a single curl line to Python and Node.js scripts and deploy pipelines.
- Terraform
- Python
- Node.js
- GitLab CI
- Docker
Why choose the HELPER VPS API
Simple JSON REST
Send requests and receive responses with familiar HTTP methods and JSON. Test right away with curl, no extra libraries needed.
API key (Bearer) authentication
You put a single key in the Authorization header, so authentication works the same way in any language or tool.
300 requests per minute
Up to 300 requests per minute per key, comfortably handling status checks and power control for many servers.
The catalog in code
Read sizes, regions, operating systems and option prices with GET /catalog and use them as they are in your own pages and scripts.
From create to delete
Handle server creation, listing, start, stop, reboot, renewal and deletion all with the API.
Choose options too
When creating a server, include automatic backups, an extra disk, DDoS protection and an SSH key in a single request.
Error codes that show the reason
Error reasons are split into codes, such as insufficient account credit, server limit and state mismatch, so they are easy to handle in your program.
Same account as the control panel
Servers created with the API appear in the control panel as they are, and are paid and renewed the same way.
Free for all members
Once you make your first payment, create an API key at no charge and start automating right away.
VPS API FAQ
Answers on connecting to the VPS API, authentication and request limits
Is the VPS API free?
Yes, the VPS API is free for all members. Issuing API keys and making requests is free, and servers and options created with the API are paid at the same prices as those created in the control panel. Any member who has made their first payment can create a key right away on the API keys page.
Where do I create an API key?
Once you make your first payment, the API keys page (/api-key) opens and you create keys there. Put the key in the Authorization header of every request using the Bearer scheme. The key unlocks your whole account, so do not commit it to code repositories; keep it in environment variables or a secrets store.
What can I do with the API?
You can read the catalog (GET /catalog), read your server list and a single server's details (GET /servers, GET /servers/{id}), create servers (POST /servers), start, stop and reboot (start, stop, reboot), renew for a month (renew) and delete (DELETE /servers/{id}). Request examples and response formats are in the API docs.
What is the request limit?
Up to 300 requests per minute per key. If you exceed the limit, a 429 status code with a rate_limited error comes back, so have your script wait briefly and retry. Everyday automation such as checking server lists and controlling power runs comfortably within this limit. There is no charge per request.
How is the fee charged when I create a server with the API?
When a POST /servers request succeeds, the payment for your chosen billing period is processed and the server is created. The payment for a server that fails to create goes back to your account credit.
How do I get the root password through the API?
The response to a create server request includes the root_password value once. Save it somewhere safe as soon as you receive the response. You can also view it again in the control panel for 7 days, and if you send an SSH key ID along with the request, you can connect right away with the key, no password needed. You can start an SSH connection right away with the ipv4 value in the response, which makes it easy to tie into deploy scripts.
Can I add SSH keys through the API?
Yes. Put the ID of an SSH key you added as the ssh_key_id value in a create server request and that key is placed on the new server. Add the key once on the SSH keys page of the control panel; fingerprints are shown the same way as ssh-keygen so you can tell which key it is at a glance. Set the key ID once and reuse it.
Which languages or tools can I use?
Any language or tool that can send HTTP requests. Test right away with curl, and call the same address with the same headers from Python's requests, Node.js's fetch, a script step in GitLab CI or Terraform's HTTP request feature. All responses are JSON, so results are easy to read.
How do I know when an error occurs?
Errors come back with a non-2xx status code and JSON containing an error value. Reasons are split, such as unauthorized for a wrong key, bad_request for a missing value, not_enough_balance for a short balance and wrong_state for a request that does not match the server's state, so your program can handle each situation.
Do servers created with the API show up in the control panel?
Yes, the API and the control panel work with the same account and the same servers. Servers created with the API appear in the control panel list as they are, and you can reinstall the operating system or check the password there. The 10-server limit per account applies to both methods together. Even if you mix manual work and work in code, the status and billing dates always look the same.
VPS API guides
Guides worth reading when connecting to the API for the first time
- API docsThe base address, authentication header, request examples and response formats by path, and the full list of error codes.
- Create and add an SSH keyHow to create and add an SSH key so you can connect with it right away to servers created with the API.
- Pricing at a glanceCompare the monthly prices of server sizes and options you can choose with the API on one page.
The VPS API is free for all members, and you can create an API key after making your first payment. Servers and options created with the API are paid at the same prices as the price list and renew automatically at the same amount on each billing date.
Request limit: 300 per minute per API key | 10 servers per account | If payment fails: server suspended, then deleted 3 days later | Remaining time on deleted servers is not refunded. Refunds go to your account credit.
