One-click custom domains for SaaS. Automatic DNS, domain verification, and SSL/TLS on your users' own domains.
Website · Docs · REST API · MCP Server · Widget · Get started free
Custom Domain lets a platform's users connect a domain they already own in one click. It detects the user's DNS provider, writes the records automatically, verifies domain ownership (CNAME/TXT), and issues and renews TLS certificates at a managed edge. 63 DNS and registrar providers are supported through one-click provider authorization, API tokens, or a guided manual flow with automatic verification; 25+ providers configure fully automatically, and a domain connected through provider authorization is typically live with HTTPS in about 30 seconds.
The connect flow, run on a real domain: provider detected, records written, ownership verified, certificate issued.
|
Your user types their domain
|
Live with HTTPS, seconds later
|
|
🧱 Website builders Your users publish sites and want their own domain on them. |
✉️ Email platforms Sending domains with SPF, DKIM, and DMARC written automatically. |
🤖 AI agents Agents that provision apps need real domains: search, buy, connect, over MCP or API. |
🏢 Agencies Client domains under your brand, without collecting registrar logins. |
Also: e-commerce platforms (a storefront per merchant domain), creator tools (a domain per creator), and any multi-tenant SaaS where tenants deserve their own name in the address bar. Start at custom domains for SaaS.
One connect flow across the entire provider landscape: one-click authorization where providers support it, API tokens where they offer them, and a guided manual path with automatic verification everywhere else. No user ever hits a dead end.
| Connection method | Providers | User effort | Typical time to live |
|---|---|---|---|
| One-click provider authorization | 25+ auto-configured | One click, no credentials shared | ~30 seconds |
| API token | Included in the 63 | Paste one scoped token | Minutes |
| Guided manual + automatic verification | Everything else | Copy 2 to 4 records | Minutes, cache-dependent |
Tip
Coding agents: point your MCP client at the hosted server and your agent can search, register, and connect domains end to end, with DNS, verification, and TLS handled.
claude mcp add --transport http customdomain https://mcp.customdomain.ai/mcp{
"mcpServers": {
"customdomain": {
"type": "http",
"url": "https://mcp.customdomain.ai/mcp"
}
}
}Connect a domain via the REST API
# 1. Create a connection for your user's domain
curl -X POST https://app.customdomain.ai/v1/connections \
-H "Authorization: Bearer $API_KEY" \
-d '{"domain": "app.customer.com", "application_id": "<app>"}'
# 2. Start one-click provider authorization (fallbacks: token or guided manual)
curl -X POST https://app.customdomain.ai/v1/connections/<ID>/oauth:start \
-H "Authorization: Bearer $API_KEY"
# 3. Poll until live: records written, ownership verified, TLS issued
curl https://app.customdomain.ai/v1/connections/<ID> \
-H "Authorization: Bearer $API_KEY"Shapes are illustrative; exact schemas live in the API reference. The API also covers DNS records, TLS lifecycle, monitoring, webhooks, and registrar search and purchase. Agent index: llms.txt.
| Repository | What you'll find |
|---|---|
| docs | The product documentation source of truth, rendered at app.customdomain.ai/docs. Questions welcome in Discussions. |
| connect-domain-for-website-builders | The complete guide to offering custom domains on a site builder: records, verification, TLS at tenant scale, connect-flow UX. |
| connect-domain-for-email-platforms | Sending-domain onboarding: SPF, DKIM, DMARC, return-path, deliverability, and automating all of it. |
| connect-domain-for-ai-agents | Agents that ship websites need domains: the MCP server, the API flow, and agent-safe DNS security. |
| connect-domain-for-agencies | Managing client domains at fleet scale: ownership, white-label connection, drift monitoring, bulk operations. |
| awesome-custom-domains | The curated map of the whole space: managed services, DIY building blocks, protocols, and examples. |
| customdomain-mcp | The hosted MCP server: config for Claude, Cursor, and ChatGPT. |
| custom-domain-checks | Our GitHub App: continuous DNS and TLS health checks for custom domains on GitHub Pages. |
| custom-domains | The product itself: control plane, TLS-terminating edge, dashboard. Private. |
How do I let my users connect their own domain? Embed the connect widget or call the REST API. Custom Domain handles provider detection, DNS, ownership verification, certificates, and serving.
What is bring your own domain (BYOD)?
Letting each customer run your product on a domain they own, like app.acme.com, instead of a shared subdomain. Full definition, and custom domain vs subdomain if you're weighing the tradeoffs.
How fast can a customer domain go live? With one-click provider authorization, about 30 seconds from typing the domain to serving HTTPS. Guided manual setups depend on the customer applying records; verification is detected automatically once they do.
Does this work for email domains? Yes. SPF, DKIM, DMARC, MX, and return-path records are written through the same connect flow. See connect-domain-for-email-platforms.
Is there a free tier? Yes, pricing starts at $0 with the full product: widget, API, automatic TLS, monitoring, and the MCP server.
Custom Domain Checks watches the custom domain on your GitHub Pages repositories and posts a Domain health check on every push: DNS resolution, CNAME or apex target correctness, domain verification (takeover protection), CAA compatibility, certificate expiry, and HTTPS enforcement. It opens a tracking issue the moment something breaks. Free, open on GitHub.
Connect your first domain free →
Security posture, compliance frameworks, and sub-processors: trust.customdomain.ai · Questions: Discussions · Book a call



