- Docs
- Domain Guides
- Dreams
Dream Interpretation API, what to build and how to call it
Ship a dream journal, a symbol lookup tool, or an AI dream-interpretation chatbot in under 15 minutes. Thousands of symbols included.
dream meaning is among the highest-volume spiritual searches on Google. Every "what does it mean to dream about X" page maps to a single endpoint here. Roxy ships 2500+ dream symbols with psychological and spiritual interpretations, searchable, browsable A to Z.
What you can build with this
- Dream journal apps that tag entries with symbols and show meanings
- Symbol lookup tools (pure content SEO surface)
- AI dream-interpretation chatbots
- Daily dream-symbol widgets for journaling apps
What you need, 30 seconds
- A Roxy API key. Get one on the pricing page.
- Nothing else. Content is pure GET.
Step 1, call your first endpoint
The #1 dream call is symbol lookup. Kebab-case IDs like water, teeth-falling-out, being-chased. Pick a language.
curl "https://roxyapi.com/api/v2/dreams/symbols/water" \
-H "X-API-Key: $ROXY_API_KEY"
import { createRoxy } from '@roxyapi/sdk';
const roxy = createRoxy(process.env.ROXY_API_KEY!);
const { data } = await roxy.dreams.getDreamSymbol({
path: { id: 'water' },
});
console.log(data.name);
console.log(data.meaning);
import os
from roxy_sdk import create_roxy
roxy = create_roxy(os.environ['ROXY_API_KEY'])
symbol = roxy.dreams.get_dream_symbol(id='water')
print(symbol['name'])
print(symbol['meaning'])
claude mcp add-json --scope user roxy-dreams '{"type":"http","url":"https://roxyapi.com/mcp/dreams","headers":{"X-API-Key":"YOUR_KEY"}}'
Then ask Claude, "what does dreaming about water mean?" The agent calls the symbol tool and returns the interpretation. Full setup for Cursor, Claude Desktop, Antigravity, and other clients: MCP guide.
Response:
{
"id": "water",
"name": "Water",
"letter": "w",
"meaning": "Water in dreams represents your emotional state and subconscious mind..."
}
Step 2, render it to the user
A dream-journal entry takes a title, a body, and a list of tagged symbols. Fetch meanings and show them inline.
export function JournalEntry({ entry, symbols }: { entry: any; symbols: any[] }) {
return (
<article>
<h2>{entry.title}</h2>
<time>{entry.date}</time>
<p>{entry.body}</p>
<h3>Symbols in this dream</h3>
<ul>
{symbols.map(s => (
<li key={s.id}>
<strong>{s.name}.</strong> {s.meaning}
</li>
))}
</ul>
</article>
);
}
Step 3, ship the rest
Search and browse
GET /dreams/symbols returns a paginated list. Pass q=flying for keyword matches, letter=a for the A index, limit and offset for pagination.
Daily dream symbol
POST /dreams/daily returns a symbol-of-the-day with an optional seed for per-user determinism.
See the full list at the Dreams API reference.
Gotchas
- Symbol IDs are kebab-case.
teeth-falling-out, notteethFallingOutorteeth_falling_out. - Dreams content is English-only. Unlike other domains, translations are not yet shipped.
- The search endpoint returns summaries. Each result has
id,name, andletter. Fetch/dreams/symbols/{id}for the full meaning. - The daily endpoint is seeded. Same
(seed, date)returns the same symbol (deterministic for notifications).
What to build next
For an AI dream-interpretation chatbot, the AI chatbot tutorial shows MCP wiring across domains. For typed access, the SDK guide covers search parameters.