Domain API

Domain registration API for resellers

The ResellPortal domain API lets you sell domain names from your own app, website or store. Check availability across 30+ popular TLDs such as .com, .net, .io and .co.uk with one call, register the domain with a second, and set the nameservers in the same request. There is no monthly fee: each registration is charged at wholesale from your wallet.

BASE=https://panel.resellportal.com/wp-json/resellportal/v1

# 1. Check availability
curl "$BASE/domain-search?query=mybusiness" \
  -H "X-API-Key: your_api_key" \
  -H "X-API-Secret: your_api_secret"

# 2. Register the domain
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": "domain_registration",
       "domain": "mybusiness.com",
       "ns1": "ns1.yourhost.com",
       "ns2": "ns2.yourhost.com"}'
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());

// 1. Check availability
const availability = await api("/domain-search?query=mybusiness");

// 2. Register the domain
const order = await api("/orders", {
  client_id: 123,
  product_key: "domain_registration",
  domain: "mybusiness.com",
  ns1: "ns1.yourhost.com",
  ns2: "ns2.yourhost.com",
});
import requests

BASE = "https://panel.resellportal.com/wp-json/resellportal/v1"
HEADERS = {
    "X-API-Key": "your_api_key",
    "X-API-Secret": "your_api_secret",
}

# 1. Check availability
availability = requests.get(
    f"{BASE}/domain-search",
    params={"query": "mybusiness"},
    headers=HEADERS,
).json()

# 2. Register the domain
order = requests.post(f"{BASE}/orders", headers=HEADERS, json={
    "client_id": 123,
    "product_key": "domain_registration",
    "domain": "mybusiness.com",
    "ns1": "ns1.yourhost.com",
    "ns2": "ns2.yourhost.com",
}).json()
30+Popular TLDs
2API calls to register
InstantAvailability check
$0Monthly fee
How it works

From search to registered domain in three steps

1

Check availability

Call GET /domain-search with a name. You get every supported TLD back with availability and the current price, so you can show options to your customer.

2

Register it

Call POST /orders with product_key "domain_registration", the full domain and optional nameservers. The domain is registered instantly and charged at wholesale from your wallet.

3

Your customer manages it

Your customer gets an email with the domain details and can manage nameservers, DNS and the lock status from their portal on your storefront.

Endpoints

The endpoints you will use

Base URL https://panel.resellportal.com/wp-json/resellportal/v1. Authenticate every request with your X-API-Key and X-API-Secret headers.

GET/domain-search?query=mybusiness

Check a name across all supported TLDs, with availability and the current price for each.

POST/clients

Create the customer the domain belongs to (or reuse an existing client_id).

POST/orders

Register a domain: product_key "domain_registration", the domain, and optional ns1 / ns2 nameservers.

GET/services

List the domains and other services you have registered, with their status.

Billing

How billing works

  • No setup fee and no monthly fee. You only pay when you place an order.
  • Wholesale per order. Each order is charged at wholesale from your prepaid wallet, and you set your own selling price.
  • Live prices. Current prices are returned by the API and shown in your panel, so your app always uses the latest price.
  • Volume discounts. Larger wallet balances get a discount on every order.
Response

What you get back

A successful order returns everything you need to deliver it in your own interface.

ResponsePOST /orders · 200
{
  "success": true,
  "service_id": 605,
  "message": "Domain mybusiness.com registered successfully",
  "domain": {
    "name": "mybusiness.com",
    "expiration": "2027-10-02 12:00:00",
    "nameservers": {
      "ns1": "ns1.yourhost.com",
      "ns2": "ns2.yourhost.com"
    },
    "locked": true
  }
}
Why ResellPortal

Built for resellers, not just developers

Sold under your brand

Customer emails and the domain management portal carry your store name, not ours.

Free test mode

Send "test_mode": true (or the X-RP-Test-Mode: 1 header) to build and test your integration without charging your wallet.

30+ popular TLDs

Classic and new extensions including .com, .net, .org, .io, .co, .ai, .app, .shop, .store and .co.uk.

Nameservers in one call

Point the domain at your own hosting during registration, or change nameservers later from the portal.

Works with AI assistants

Connect Claude, ChatGPT or Cursor to the ResellPortal MCP server to search and register domains by chat.

A ready-made store too

Every account also gets a white-label storefront with domain search built in, so you can sell domains without building anything.

FAQ

Domain Registration API questions

What is a domain reseller API?

A domain reseller API lets your software check domain availability and register domains automatically. With the ResellPortal domain API you search with GET /domain-search and register with POST /orders, so customers can buy domains inside your own app or website.

Which TLDs can I register through the API?

More than 30 popular extensions, including .com, .net, .org, .io, .co, .ai, .app, .dev, .xyz, .shop, .store, .blog, .me, .info, .biz, .us, .co.uk, .online, .site, .tech and more. GET /domain-search returns every supported TLD for a name.

How much does the domain API cost?

There is no setup or monthly fee. Each domain you register is charged at its wholesale price from your prepaid wallet, and you set your own selling price. GET /domain-search returns the current price for every available TLD.

Can I set nameservers when registering?

Yes. Pass ns1 and ns2 in the POST /orders request to point the domain at your hosting straight away. Your customer can also change nameservers and DNS later from their portal.

Can I test the domain API without being charged?

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 domain is registered.

What do I need to start using the domain API?

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.

Add domain sales to your own app

Free account, free test mode, no monthly fee. Get your API keys and register your first domain in minutes.