The ResellPortal web hosting API lets you sell cPanel web hosting under your own brand, from your own app, website or store. Create a hosting account for your customer's domain with a single call, on the Starter, Business or Pro plan, and get the cPanel login back straight away. There is no monthly platform fee: each hosting account is charged at wholesale from your wallet.
BASE=https://panel.resellportal.com/wp-json/resellportal/v1
# Create a cPanel hosting account
curl -X POST "$BASE/orders" \
-H "X-API-Key: your_api_key" \
-H "X-API-Secret: your_api_secret" \
-H "Content-Type: application/json" \
-d '{"client_id": 123,
"product_key": "web_hosting",
"cpanel_username": "clientuser",
"primary_domain": "clientdomain.com",
"plan": "business",
"billing_cycle": "monthly"}'const BASE = "https://panel.resellportal.com/wp-json/resellportal/v1";
const headers = {
"X-API-Key": "your_api_key",
"X-API-Secret": "your_api_secret",
"Content-Type": "application/json",
};
const api = (path, body) => fetch(BASE + path, {
method: body ? "POST" : "GET",
headers,
body: body && JSON.stringify(body),
}).then((r) => r.json());
// Create a cPanel hosting account
const order = await api("/orders", {
client_id: 123,
product_key: "web_hosting",
cpanel_username: "clientuser",
primary_domain: "clientdomain.com",
plan: "business",
billing_cycle: "monthly",
});import requests
BASE = "https://panel.resellportal.com/wp-json/resellportal/v1"
HEADERS = {
"X-API-Key": "your_api_key",
"X-API-Secret": "your_api_secret",
}
# Create a cPanel hosting account
order = requests.post(f"{BASE}/orders", headers=HEADERS, json={
"client_id": 123,
"product_key": "web_hosting",
"cpanel_username": "clientuser",
"primary_domain": "clientdomain.com",
"plan": "business",
"billing_cycle": "monthly",
}).json()Call POST /clients to create your customer, or reuse an existing client_id.
Call POST /orders with product_key "web_hosting", a cPanel username, the primary domain, a plan and a billing cycle.
The response includes the cPanel login, and your customer gets an email with their login and server details under your brand.
Base URL https://panel.resellportal.com/wp-json/resellportal/v1. Authenticate every request with your X-API-Key and X-API-Secret headers.
/clientsCreate the customer the hosting account belongs to.
/ordersCreate a hosting account: product_key "web_hosting", cpanel_username, primary_domain, plan and billing_cycle.
/servicesList hosting accounts and other services with their status.
/services/{id}Cancel a hosting account or other service.
A successful order returns everything you need to deliver it in your own interface.
{
"success": true,
"service_id": 635,
"message": "Web Hosting activated successfully",
"hosting": {
"username": "clientuser",
"domain": "clientdomain.com",
"password": "generatedPass123"
},
"billing_cycle": "monthly"
}Welcome emails and the customer portal carry your store name, not ours.
Send "test_mode": true (or the X-RP-Test-Mode: 1 header) to build and test your integration without charging your wallet.
Starter (10 GB, 1 site), Business (30 GB, 10 sites) and Pro (75 GB, unlimited sites).
Your customers get their own cPanel account to manage files, email, databases and domains.
Connect Claude, ChatGPT or Cursor to the ResellPortal MCP server to create hosting accounts by chat.
Every account also gets a white-label storefront, so you can sell hosting without building anything.
A web hosting reseller API lets your software create hosting accounts automatically, so you can sell hosting inside your own app, website or agency workflow. With the ResellPortal API you create a cPanel account with a single POST /orders request.
Three plans: Starter (10 GB, 1 site), Business (30 GB, 10 sites) and Pro (75 GB, unlimited sites). Pass the plan in the POST /orders request; it defaults to Starter.
Yes. Every hosting account is a full cPanel account, and the login details come back in the API response and by email.
There is no setup or monthly platform fee. Each hosting account is charged at wholesale from your prepaid wallet for the plan and billing cycle you choose, and you set your own selling price.
Monthly, quarterly, biannual and annual. Pass billing_cycle in the POST /orders request.
Yes. Add "test_mode": true to the request body, or send the header X-RP-Test-Mode: 1. Test requests are validated but nothing is charged and no account is created.
Create a free ResellPortal account and copy your API key and secret from the API section of the panel. No minimum balance. A live order only needs enough in your wallet to cover it.
Free account, free test mode, no monthly platform fee. Get your API keys and create your first hosting account in minutes.
Prefer no code? See the web hosting reseller program.
More APIs: eSIM API · Domain Registration API · VPN API · SMM Panel API · Business Phone Number API