Partner API
Embed SiteMe inside your product. Your backend holds an API key. Your customers never see SiteMe branding, questionnaires, or checkout.
1. Create a key
Sign in, open Developers, and create a secret key. Keys start with sk_test_ or sk_live_. Keep them on your server only.
2. Buy platform credits
Usage-only. No monthly Partner plan. Compact generations cost 10 credits, standard 30, rich 50. Follow-up edits cost 2. Packs start at $19 for 100 credits.
3. Generate
JavaScript (Node):
import { SiteMe } from "@siteme/sdk";
const siteme = new SiteMe({ apiKey: process.env.SITEME_API_KEY });
const site = await siteme.sites.create({
businessName: "Acme Dental",
customerBrief: "Family dentistry in Austin. Bookings, insurance, two locations.",
output: { look: "standard" },
slug: "acme-dental",
});
const ready = await siteme.sites.wait(site.id);
console.log(ready.preview_url, ready.html);Python:
import os
from siteme import SiteMe
siteme = SiteMe(api_key=os.environ["SITEME_API_KEY"])
site = siteme.sites.create(
business_name="Acme Dental",
customer_brief="Family dentistry in Austin. Bookings, insurance, two locations.",
output={"look": "standard"},
slug="acme-dental",
)
ready = siteme.sites.wait(site["id"])Custom prompts
Store one industry template with prompt.upsert. Per-client facts go in customerBrief. SiteMe’s system prompt cannot be replaced — that blocks prompt injection and credit abuse.
Preview URLs on your domain
Every site returns HTML and a hosted preview_url at /wl/{token}. CNAME a hostname (for example sites.yourapp.com) to SiteMe, verify it, then assign a slug so clients get https://sites.yourapp.com/acme-dental. You can also attach a full client hostname.