DEV Community

Birdircik
Birdircik

Posted on

Building a Tarot Card Meanings API with JSON — Free Dataset for Developers

If you're building a tarot app, chatbot, or any divination-related project, you need structured card data. I put together a complete JSON dataset of all 78 tarot cards with
meanings, elements, and zodiac associations.

## The Dataset

The dataset includes all 78 cards with these fields:

  • card_name — Full card name
  • arcana — Major or Minor
  • suit — Wands, Cups, Swords, Pentacles
  • element — Fire, Water, Air, Earth
  • upright_meaning — Keywords for upright position
  • reversed_meaning — Keywords for reversed position
  • love_meaning — Relationship interpretation
  • career_meaning — Career interpretation
  • yes_or_no — Yes/No/Maybe for simple readings
  • zodiac_sign — Associated zodiac or planet

## Quick Example

Here's what a single card looks like in JSON:

  {
    "card_name": "The Star",
    "arcana": "Major",
    "element": "Air",
    "upright_meaning": "Hope, renewal, spirituality, inspiration",
    "reversed_meaning": "Despair, lack of faith, disconnection",
    "love_meaning": "Healing love, renewed hope",
    "career_meaning": "Creative inspiration, dream career",
    "yes_or_no": "Yes",
    "zodiac_sign": "Aquarius",
    "guide_url": "https://deckaura.com/blogs/guide/star-tarot-meaning"
  }
Enter fullscreen mode Exit fullscreen mode

## Where to Get the Data

I've published the full dataset on multiple platforms:

## Use Cases

Here are some project ideas using this data:

1. Tarot Reading Chatbot
Build a Discord or Telegram bot that pulls random cards and returns meanings. The yes_or_no field makes it easy to implement simple yes/no readings.

2. Daily Card Widget
Create a web widget that shows a random tarot card each day. You can see an example of this at Deckaura's Daily Tarot Card.

3. Birth Card Calculator
Use numerology to calculate someone's tarot birth card from their birthday. Add all digits until you get 1-22, then map to the Major Arcana. Working example: Tarot Birth Card
Calculator

4. Tarot + Numerology App
Combine the zodiac and element data with a numerology calculator to create personalized readings.

5. NLP Sentiment Analysis
Run sentiment analysis on the upright vs reversed meanings. Interesting patterns emerge — Major Arcana reversals tend to be more intense than Minor Arcana.

## Simple Implementation

Here's a basic JavaScript implementation:

  const cards = await fetch('tarot_card_meanings.json')
    .then(r => r.json());

  const randomCard = cards[Math.floor(Math.random() * cards.length)];
  const isReversed = Math.random() > 0.5;

  console.log(`${randomCard.card_name} ${isReversed ? '(Reversed)' : ''}`);
  console.log(`Element: ${randomCard.element}`);
  console.log(`Meaning: ${isReversed ? randomCard.reversed_meaning : randomCard.upright_meaning}`);
  console.log(`Full guide: ${randomCard.guide_url}`);
Enter fullscreen mode Exit fullscreen mode

## Oracle Cards vs Tarot

If you're considering adding oracle card support, note that oracle cards have no standardized structure — each deck is unique. Read more about the differences: What Are Oracle
Cards?

## Links

If you build something with this data, drop a link in the comments!

Top comments (0)