Browse topics

Environment Variables

Full list of environment variables. Copy env.example to .env.local and fill in your values.

Supabase

Variable(s)Purpose
NEXT_PUBLIC_SUPABASE_URLSupabase project URL
NEXT_PUBLIC_SUPABASE_ANON_KEYSupabase anon (public) key
SUPABASE_SERVICE_ROLE_KEYService role key for server-side auth and DB

APIs and services

Variable(s)Purpose
OPENAI_API_KEYOpenAI for planners, probes, scoring, tasks
PERPLEXITY_API_KEYPerplexity for real-time probes and citations
GEMINI_API_KEYGoogle Gemini for AI Overviews-style probes
DEEPCRAWL_API_KEYDeepcrawl for website crawling (free, open-source)
CLORO_API_KEYCloro for AI engine probes, Google SERP, theme research, and prompt expansion
GOOGLE_CLIENT_ID, GOOGLE_CLIENT_SECRETGoogle OAuth (GSC, GA)
GOOGLE_REDIRECT_URIOAuth callback URL (e.g. .../api/auth/google/callback)
BING_CLIENT_ID, BING_CLIENT_SECRETBing OAuth
BING_REDIRECT_URIBing OAuth callback URL
GOOGLE_SERVICE_ACCOUNT_EMAIL, GOOGLE_SERVICE_ACCOUNT_PRIVATE_KEYGSC service account (alternative to OAuth)
GA4_PROPERTY_IDGoogle Analytics 4 property for Data API

Billing and optional

Variable(s)Purpose
NOTEBOOK_MCP_SECRETOptional: secret for nb_ tokens; falls back to service role
CEDAR_MCP_DEV_KEYOptional: dev bypass for local MCP testing
AUDIT_USE_PG_NET, APP_URL, AUDIT_RUN_SECRETAudit background jobs (production)
UPSTASH_REDIS_REST_URL, UPSTASH_REDIS_REST_TOKENOptional: Upstash QStash alternative
STRIPE_SECRET_KEY, STRIPE_WEBHOOK_SECRET, NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEYStripe billing
STRIPE_PRICE_*Stripe price IDs for each plan (Starter, Pro, Agency, monthly/annual)
SMTP_HOST, SMTP_PORT, SMTP_USER, SMTP_PASSSMTP for contact form, welcome email, alerts. Use Resend, SendGrid, etc. Configure Supabase Auth SMTP separately if sign-up confirmation emails aren't delivered.
SMTP_FROM_EMAIL, CONTACT_EMAILFrom address for app emails; contact form recipient

Search documentation

Jump to a docs page