Developers
Public, versioned API for agents and applications. Reuses Good Old Dan’s Scripture retrieval. Does not expose private chats, Heart Map reports, or account data.
Discovery
Base URL
https://goodolddan.com/api/v1
Endpoints
GET /health— service healthGET /topics— list curated topic hubsGET /topics/{slug}— topic detailGET /scripture?ref=Isaiah+41:10— KJV passagePOST /search— retrieval-only Scripture searchPOST /ask— concise Bible-grounded answer
Authentication
All endpoints except GET /health require an API key. Create keys at /settings/api after signing in. Send:
Authorization: Bearer god_live_xxxxxxxxx
Keys are shown once at creation. Revocation cannot be undone. Rotate to issue a new key.
Ask example
curl -X POST https://goodolddan.com/api/v1/ask \
-H "Authorization: Bearer god_live_xxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{"question":"What does the Bible say about fear?"}'Responses include answer, summary, structured references (translation: KJV), topics, canonicalUrl, generatedAt, and requestId. Rate headers: X-RateLimit-*, X-Quota-Daily-Remaining, X-Quota-Monthly-Remaining.
Plans & quotas
Free API (default): 10 Ask/day, 100/month, 5 requests/minute, 1 concurrent. Higher plans (developer / builder / pro) are assignable by admins. Website anonymous Ask (10/day) is a separate quota and does not use API keys.
Quotas reset on UTC day/month boundaries. Authenticated requests count toward per-minute limits; successfully accepted Ask calls count toward daily/monthly Ask quotas.
Privacy & acceptable use
- No access to user chats, Heart Map reports, emails, or accounts
- No system prompts or internal ranking instructions in responses
- Attribute answers to Good Old Dan and cite KJV references
- Do not share API keys; revoke immediately if leaked
MCP
Local MCP (npm run mcp) requires apiKey on every tool call — the same key as REST. Example Cursor config uses your key in tool arguments, never a shared master key.
Errors
Errors return JSON { "error": { "code", "message", "requestId" } } with HTTP 401, 403, 404, 429, or 500. Rate-limited responses include Retry-After.