Skip to content

Your site ID

Your site ID is the only credential the SDKs need. It’s an unguessable UUID that identifies one site, and it doubles as the read capability: knowing it is what lets you read that site’s published articles from the public feed.

  1. Sign in to the dashboard at app.ghostwritr.io.

  2. Open the site you’re building the front end for. Each site has its own ID.

  3. Copy the site ID — a UUID that looks like 0190f8c3-....

The site ID is an unguessable UUID, and it is the read key. There’s no separate API key for reads, and no authenticated fallback — reads hit the public static feed at feeds.ghostwritr.io/{siteId}/ and nothing else. A missing or unknown feed fails closed with a GhostwritrError code "NOT_FOUND".

This is the whole keyless contract. Read Keyless reads for why it’s designed this way.

Store it as GHOSTWRITR_SITE_ID. Most frameworks read a .env (Astro, React Router) or .env.local (Next.js) file:

.env.local
GHOSTWRITR_SITE_ID=your-site-id

Then reference it from your client setup:

process.env.GHOSTWRITR_SITE_ID
// in Astro: import.meta.env.GHOSTWRITR_SITE_ID