For Website Builders

Custom domains for every
site your users build.

Drag-and-drop builders, no-code platforms, AI-built sites. One API call per customer hostname turns yoursite.com/jane into janesbakery.com — with automatic SSL, DNS monitoring, and an optional in-app domain purchase flow.

50 customer sites and 100 GB bandwidth free, forever.

50
sites free, forever
Apex + www
both supported
Buy or BYO
domain, in one API
$0
due today, no card

Trusted by teams building the future of SaaS

  • Common Ninja
  • Embeddable
  • Vidocu
  • Brackets Ninja

Why Domainee for site builders

Apex + subdomain, with apex fallbackALIAS + A

If your user wants janesbakery.com (not just www), we handle it. ALIAS/ANAME where the DNS provider supports it; A-record fallback at our anycast IPs otherwise. The user picks the URL, we make it work.

Buy + connect in one callautoConnect

If your user doesn't own a domain yet, the Buy-a-Domain API registers it (wholesale + $1) and connects it to their site in the same POST. Most builders only let users connect; we let them buy in-app too.

50 sites free, then graduated$0.20 → $0.10

The free tier covers a whole pilot's worth of custom domains. After 50, $0.20/domain/month halving to $0.10 at 10,000+ sites. The curve is published all the way up.

Why this matters for builders: free-plan users see yoursite.com/jane. Paid users see janesbakery.com. The custom-domain feature is the upgrade conversion lever — making it frictionless to set up is the biggest impact you can have on the free-to-paid funnel.

The integration

Two paths, one webhook handler.

Connect a domain the user already owns, or register a new one from inside your builder. Both flows end at the same webhook — one place to mark the site "live."

User has a domain

Connect API: BYO domain

connect-existing.ts
await fetch("https://api.domainee.dev/v1/domains", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${process.env.DOMAINEE}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    hostname: "janesbakery.com",
    originUrl: "https://sites.acmebuilder.io",
    metadata: { siteId: site.id, userId: user.id },
  }),
});

// Hand the customer the CNAME from the response.
// We fire domain.verified once DNS lands.
User wants to buy one

Buy-a-Domain: register + connect

buy-and-connect.ts
await fetch(
  "https://api.domainee.dev/v1/domain-purchases",
  {
    method: "POST",
    headers: { Authorization: `Bearer ${KEY}` },
    body: JSON.stringify({
      hostname: "janesbakery.com",
      years: 1,
      registrant: jane.contact,
      autoConnect: {
        originUrl: "https://sites.acmebuilder.io",
      },
    }),
  },
);

// We charge your Stripe card (wholesale + $1),
// register the domain, set DNS, provision TLS.

One webhook handler covers both flows. The domain.verified event arrives the same way regardless of how the domain got connected.

Built for the platforms that build sites

Custom domains land naturally onto any product whose users think in terms of pages, sites, or stores.

Drag-and-drop builders

Webflow-style, Framer-style, Carrd-style. Every site your users build gets a CNAME-shaped onboarding step plus a 'buy a domain in-app' option for users who don't have one yet.

AI-built site generators

Lovable, Base44, Bolt, v0 — every site your users export needs a branded URL. Drop our API into your post-export flow and the domain is live by the time they click 'publish.'

Multi-product platforms

Run a website + store + booking system? Each customer's whole bundle can live at one domain (acme.com / acme.com/shop / acme.com/book) via subpath routing.

Free-tier-led growth products

The whole funnel rests on 'upgrade to use your own domain.' Make that step frictionless and you compress the free-to-paid conversion timeline.

What you skip

The website-builder infra you don't maintain

  • An ACME-v2 client and a renewal cron that fires every 60 days.
  • Apex-domain handling — figuring out ALIAS vs A-record at every DNS provider.
  • A reseller integration with a registrar (Namecheap, OpenSRS, IONOS), plus the FX and refund logic.
  • An edge cert store + SNI router serving thousands of sites without TLS handshake lag.
  • A 'your DNS is wrong' diagnostic page surfacing the exact issue to non-technical users.
  • Custom domain support tickets — which become a Domainee dashboard query, not a 3am page.

Read the deep dive in the website builders use case.

FAQ

Frequently asked

Why do website builders need a Custom Domains API?
Because every site your users build is its own brand — and a branded URL is the first thing your users pay you for. Free tiers run on yoursite.com/jane; paid tiers live at janesbakery.com. The custom-domain flow is a conversion lever, not a checkbox.
What's the integration shape for a website builder?
One POST /v1/domains per site when the user adds a custom domain. The originUrl points at your hosting (where the site is actually served from). We return a CNAME the user adds at their registrar, then fire domain.verified once DNS lands and the cert provisions.
Does it work for apex (root) domains, not just www?
Yes. We support both subdomain (CNAME at www) and apex (ALIAS / ANAME / flattened CNAME at the root). If the user's DNS provider doesn't support apex CNAME, we provide an A-record fallback pointing at our anycast IPs.
What about wildcard subdomains for blog/store/etc?
If your site builder serves blog.janesbakery.com from the same Jane Bakery site, register each subdomain as its own Domainee hostname. Or use a wildcard cert on paid plans for whole-domain coverage.
How do we white-label this so our users never see Domainee?
The CNAME target (edge.domainee.dev) is the only Domainee reference, and it sits in your customer's DNS provider, not your UI. The cert is for their hostname, the response comes from their domain, the only branding your users see is yours.
Will this work on a free-tier of our builder?
Up to you. The Domainee free tier covers 50 customer domains, so you can let free-plan users add a custom domain without immediately paying us. Most builders gate custom domains behind a paid plan anyway — Domainee just removes the engineering cost from your side.
Can users also BUY a domain from inside our builder?
Yes. The Buy-a-Domain API lets your users register a fresh domain in one POST call — wholesale + $1 flat, your user is the legal registrant, autoConnect points it at the site they're building. The whole buy + connect flow is one API call.
What changes for site builders at scale?
Pricing graduates: $0.20/domain/month at the base, halving to $0.10 at 10,000+ domains. The free 100 GB bandwidth scales to 400 GB on paid, then $0.05/GB. No code change, no contact-sales gate.

Still have questions? Ask our team →

Ship branded URLs for every site you build.

Mint an API key, drop the snippet into your site-onboarding flow, give your customers their domain by the end of the day.