# SaaS Custom Domains

> SaaS Custom Domains is a managed reverse proxy that lets a SaaS company offer its customers branded custom domains (for example `app.customer.com` instead of `customer.yourapp.com`) with automatic TLS certificates. You add a customer's domain from the dashboard or the REST API, the customer points a CNAME record at `in.saascustomdomains.com` (or at a hostname on your own domain), and we issue the certificate and proxy every request to your app.

## How it works

- Create an upstream: the app your custom domains forward to, for example `app.yourapp.com`.
- Add a custom domain for each customer, from the dashboard or with one API call.
- The customer adds a CNAME record pointing to `in.saascustomdomains.com`. Root domains use two A records: `75.2.96.173` and `99.83.186.151`. Wildcard domains (`*.example.com`) are supported.
- We verify the DNS records, issue and renew the certificate (Let's Encrypt or ZeroSSL), and forward requests to your upstream.
- Your app reads the `X-Served-For` header to know which customer's domain was requested, and checks `X-SaaS-Domains-Auth-Token` to make sure the request came through SaaS Custom Domains.
- Optional: DNS instruction emails that walk your customers through adding their records, webhooks for domain status changes, rules (redirects, rewrites, static responses, headers, rate limits, country and IP blocking), analytics and edge caching.

## Pricing

- $29 per month includes 100 domains. Each domain after that is $0.29 per month.
- Automatic volume discounts from 1,000 domains, up to 50% at 10,000 domains.
- No charges for traffic or bandwidth, and no quotas on API requests.
- 7-day free trial with full access. A credit or debit card is required to start; cancel any time.
- Self-hosted and on-premises deployments are available as part of an enterprise contract.

## Get started

- [Sign up](https://app.saascustomdomains.com/users/sign_up): start the 7-day free trial
- [API quickstart](https://docs.saascustomdomains.com/quickstart): make your first API request
- [Custom domain types](https://docs.saascustomdomains.com/custom-domains-guide): subdomains, root domains and wildcard domains, and the DNS records each one needs
- [Handling forwarded requests](https://docs.saascustomdomains.com/handling-forwarded-requests): the headers your app receives and how to verify the auth token
- [API docs for agents](https://docs.saascustomdomains.com/llms.txt): the full API reference in markdown

## Agent setup

- [Agent setup](https://saascustomdomains.com/agent-setup): set up a coding agent or assistant with the SaaS Custom Domains skill and MCP server, plus a setup prompt for any agent
- [CLI](https://docs.saascustomdomains.com/cli): `npx @saas-custom-domains/cli`, the open-source command line tool for terminals, scripts, CI and coding agents ([GitHub](https://github.com/saas-custom-domains/cli))
- [Claude Code](https://saascustomdomains.com/agent-setup/claude-code): install the plugin from the `saas-custom-domains/skills` marketplace and sign in
- [Cursor](https://saascustomdomains.com/agent-setup/cursor): MCP server in `mcp.json`, skill with `npx skills add`, and a Cursor rule
- [Codex](https://saascustomdomains.com/agent-setup/codex): plugin from `/plugins`, or `codex mcp add` with sign-in or a bearer token
- [VS Code and GitHub Copilot](https://saascustomdomains.com/agent-setup/vs-code): agent plugin from source, or `.vscode/mcp.json`
- [Windsurf (Devin Desktop)](https://saascustomdomains.com/agent-setup/windsurf): `devin plugins install` or `mcp_config.json`
- [Cline](https://saascustomdomains.com/agent-setup/cline): remote server over Streamable HTTP and the skill in `.cline/skills/`
- [Claude](https://saascustomdomains.com/agent-setup/claude): custom connector in claude.ai
- [ChatGPT](https://saascustomdomains.com/agent-setup/chatgpt): custom MCP server as a ChatGPT plugin

## Guides

- [Custom domains for SaaS](https://saascustomdomains.com/blog/posts/the-ultimate-guide-to-custom-domains-for-your-saas-app): how custom domains work in any stack
- [Next.js](https://saascustomdomains.com/blog/posts/custom-domains-nextjs)
- [Nuxt](https://saascustomdomains.com/blog/posts/custom-domains-nuxt)
- [SvelteKit](https://saascustomdomains.com/blog/posts/custom-domains-sveltekit)
- [Node.js and Express](https://saascustomdomains.com/blog/posts/implementing-custom-domains-for-your-saas-app-in-node-js)
- [Hono](https://saascustomdomains.com/blog/posts/custom-domains-hono)
- [Ruby on Rails](https://saascustomdomains.com/blog/posts/best-guide-custom-domains-ruby-on-rails)
- [Django](https://saascustomdomains.com/blog/posts/implement-custom-domains-in-your-django-saas-app)
- [FastAPI](https://saascustomdomains.com/blog/posts/custom-domains-fastapi)
- [Laravel](https://saascustomdomains.com/blog/posts/custom-domains-laravel)
- [Go](https://saascustomdomains.com/blog/posts/custom-domains-go)
- [Phoenix](https://saascustomdomains.com/blog/posts/custom-domains-phoenix)
- [ASP.NET Core](https://saascustomdomains.com/blog/posts/custom-domains-aspnetcore)
- [Spring Boot](https://saascustomdomains.com/blog/posts/custom-domains-spring-boot)
- [Example apps on GitHub](https://github.com/saas-custom-domains): one runnable example per framework, plus a local mock of the API and proxy

## Product

- [Pricing](https://saascustomdomains.com/pricing): price calculator, add-ons and billing FAQ
- [Features](https://saascustomdomains.com/features)
- [FAQ](https://saascustomdomains.com/faq)
- [Bubble.io custom domains](https://saascustomdomains.com/bubble)
- [MCP server](https://saascustomdomains.com/mcp): manage custom domains from Claude, ChatGPT, Cursor and other MCP clients
- [Customers](https://saascustomdomains.com/customers)
- [SaaS Custom Domains vs Cloudflare for SaaS](https://saascustomdomains.com/comparison-cloudflare)
- [SaaS Custom Domains vs CoAlias](https://saascustomdomains.com/comparison-coalias)
- [Service level agreement](https://saascustomdomains.com/sla)

## Optional

- [Help center](https://help.saascustomdomains.com): setup, DNS, billing and troubleshooting articles
- [Status page](https://status.saascustomdomains.com)
- [Blog](https://saascustomdomains.com/blog)
- [Data processing agreement](https://saascustomdomains.com/legal/dpa)
- [Subprocessors](https://saascustomdomains.com/legal/subprocessors)
