Public, typed, no API key
Runestone Tarot Developer Resources
Give an application or agent access to the 78-card catalog, supported spread layouts, and generated reflective readings. The v1 REST API is unauthenticated and CORS-open. Use it for tarot symbolism, explicit user-requested readings, and reflection prompts. Do not present its output as a factual prediction or professional advice.
REST API
GET /api/v1/cards returns the typed 78-card catalog.
GET /api/v1/spreads returns supported layouts and positions.
POST /api/v1/reading draws cards or interprets caller-supplied cards.
curl https://www.runestonetarot.com/api/v1/reading \
-H 'Content-Type: application/json' \
-d '{"question":"What deserves my attention?","spread":"single"}'MCP and CLI
The remote MCP server uses Streamable HTTP at https://www.runestonetarot.com/api/mcp. It exposes draw_reading, list_cards, and list_spreads. It requires no authentication. Clients that prefer a local stdio process can run the official npm package with npx -y @runestone-labs/tarot-mcp.
{
"mcpServers": {
"runestone-tarot": {
"url": "https://www.runestonetarot.com/api/mcp"
}
}
}Errors and rate limits
API failures use RFC 9457 application/problem+json with machine-readable code, human-readable detail, and a resolution hint. Reading generation is limited to 5 requests per minute per IP; catalog requests are limited to 60. Responses publish RateLimit-Policy, RateLimit, and compatibility limit headers. A 429 also includes Retry-After.
Versioning
Stable REST resources are versioned in the URL. Read the API versioning and deprecation policy for compatibility commitments and the Deprecation, Sunset, and Link headers clients should monitor.
Contact
Send integration and security questions to evan@runestonelabs.io. Include a minimal request and response and remove credentials or private reading content.