Developer API
Hosting with an API you'll actually want to use.
Provision WordPress and Ghost sites, manage DNS, and trigger backups with a single REST call. No dashboard required. No ticket required. Just an API key and your editor.
curl -X POST https://api.webpilotpro.com/api/sites \
-H "Authorization: Bearer wpro_live_..." \
-d '{"label":"my-app","domain":"example.com","platform":"wordpress","dnsMode":"internal"}'One call. Site, database, DNS zone, and SSL — provisioned.
Every other host makes you click.
You can script your infrastructure, your deploys, and your CI — but the moment you need to spin up a site, you're back in someone's clunky control panel, clicking through wizards and waiting on a dashboard that wasn't built for people who write code.
Web Pilot Pro exposes the same provisioning engine our dashboard uses. Anything you can do by clicking, you can do by calling.
A real REST API
Not a bolted-on afterthought. Sites, DNS records, backups, and API keys are all first-class resources with predictable endpoints, consistent error shapes, and an OpenAPI spec you can generate a client from.
Async done right
Provisioning, plugin installs, and backups return immediately with a status you can poll. No hanging requests, no guessing. Build reliable automation on top without hacks.
Self-serve keys, scoped and revocable
Generate API keys from your dashboard, label them per project or script, and revoke them instantly. Your key is shown once, stored hashed, and never exposed again.
What you can automate
If you can call it, you can ship it.
Site provisioning
POST /api/sites creates the site, database, DNS zone, and SSL cert in one call. Wire it into your onboarding, your CI, or a Makefile.
DNS management
Full CRUD on records. Script your DNS the same way you script everything else.
On-demand backups
Trigger a backup before a risky deploy, list restore points, delete old ones. Up to 7 per site.
Plugin installs at provision time
Pass a list of WordPress plugin slugs in the create call and they're installed and activated automatically.
Idempotent retries
Failed provisioning? Call retry. The flow skips completed steps and picks up where it left off.
Interactive API explorer
Try every endpoint live from our Swagger docs before you write a line of code.
One script
From intake form to live site, in one script.
Create the site, pass your plugin list, and poll until it's active. Wire it into onboarding, CI, or a cron job — the flow is the same one our dashboard runs.
import requests
HEADERS = {"Authorization": f"Bearer {API_KEY}"}
# Provision a client site
site = requests.post(
"https://api.webpilotpro.com/api/sites",
headers=HEADERS,
json={
"label": "Acme Co",
"domain": "acme.com",
"platform": "wordpress",
"dnsMode": "internal",
"plugins": ["woocommerce", "yoast-seo"],
},
).json()
# Poll until it's live
while True:
status = requests.get(
f"https://api.webpilotpro.com/api/sites/{site['id']}",
headers=HEADERS,
).json()["status"]
if status in ("active", "failed"):
breakBuilt for people who read status codes
Boring where it counts.
Predictable, documented errors
Every failure returns a consistent shape with a machine-readable code — BACKUP_LIMIT_REACHED, INVALID_STATUS, and friends. No parsing prose.
OpenAPI 3.1 spec
Generate a typed client in your language of choice. The spec is the contract.
Rate-limited, not rationed
Sensible limits that protect your infrastructure from runaway scripts without getting in the way of real work.
Free SSL, auto-renewed
Every site gets a certificate automatically — via DNS challenge if you use our DNS, or HTTP challenge once your domain resolves to us.
Pay for hosting, not for the API.
The API is included on every plan. No premium "developer tier," no per-call billing for provisioning your own sites. The price you sign up at is the price you renew at.
Grab a key. Provision a site. See for yourself.
Free migration on your first site, no contract, and an API explorer that lets you try everything before you commit.