Indian numerology, called ank jyotish, gives each person three core numbers. First, the mulank (birth day number) starts from the day of birth, such as the 15th. The bhagyank (destiny number) takes the whole birth date, digit by digit. The name number turns the letters of a name into values, using the Chaldean letter table. For all three, you keep adding digits until just one digit, from 1 to 9, is left.

Take John Doe, born on Aug 15, 1990. His mulank is 1 + 5 = 6. His bhagyank adds 1, 5, 0, 8, 1, 9, 9 and 0 to get 33, and then 3 + 3 = 6. His name adds up to 34, and 3 + 4 = 7. So his three numbers are 6, 6 and 7.

Each number then gets a ruling planet. In the Indian order, 6 belongs to Venus and 7 to Ketu. Ketu is not a physical planet. It is one of the two points where the Moon's path crosses the Sun's path. The planet sets the reading and decides how the numbers get along.

Below, each step uses real answers from our API, run on Oct 17, 2026. Then we cover four mistakes that change a number, and what one app screen should show.

Mulank: the day you were born

Only the day counts for the mulank. Add its digits until one digit is left. Days 1 to 9 stay as they are, and the 15th gives 1 + 5 = 6. A day like the 29th takes two steps: 2 + 9 = 11, then 1 + 1 = 2. We sent Aug 29, 1990, to the API, and it returned mulank 2, whose planet is the Moon.

The month and the year play no part. The 6th, 15th and 24th of every month all give mulank 6. So the mulank suits a quick first screen, because it needs only the day of birth. Our mulank 6 page reads that number in full, and there is a page for each number from 1 to 9.

Bhagyank: every digit of the birth date

The bhagyank adds all eight digits of the date. For Aug 15, 1990, that is 1 + 5 + 0 + 8 + 1 + 9 + 9 + 0 = 33. Adding 3 and 3 gives 6. John's bhagyank is also 6, ruled by Venus.

Some books cut the day, month and year down first. That gives 6 + 8 + 1 = 15, and then 1 + 5 = 6. The middle total changes, but the final digit is always the same. The API sends the full sum of 33 in a field called total, so your screen can show the working.

The answer also carries a master flag. It is true when the sum hits 11, 22 or 33, either at the start or partway down. John's sum is 33, so his flag is true. His bhagyank still stays 6, because the Indian method always reduces to a single digit. Western numerology keeps these master numbers as they are. So never print 33 as John's bhagyank. Show 6, and add a small note about the 33 only if your readers expect one.

Name number: letters in the Chaldean table

The name number gives every letter a fixed value, then totals them. Indian numerology uses the Chaldean table, where values run from 1 to 8. No letter gets a 9:

Value

Letters

1

A, I, J, Q, Y

2

B, K, R

3

C, G, L, S

4

D, M, T

5

E, H, N, X

6

U, V, W

7

O, Z

8

F, P

Here is John Doe, one letter at a time:

Word

Letter values

Total

John

J 1 + O 7 + H 5 + N 5

18

Doe

D 4 + O 7 + E 5

16

John Doe

18 + 16 = 34, then 3 + 4

7

Diagram of John Doe's three core numbers: the day 15 gives mulank 6, the date digits add to 33 for bhagyank 6, and the letters add to 34 for name number 7, read as neutral by both date numbers

The 34 is the compound number, the two-digit total before the last step. The API returns it, but it has no reading for it yet, and not_included in the answer states this. Show it as a plain fact, or leave it off the screen.

The same answer holds a second count in the Pythagorean table, which most Western books use. There, John Doe totals 35, and 3 + 5 = 8. The API marks that block read: false and sends no reading with it.

Four mistakes that change a number

The math fits in a few short functions in our code. We tested four mistakes on John's details. Each one gave a wrong number, or no number at all:

Mistake

What happened in our run

What to do

Sending a UTC date

A birth at 10:30 PM in New York on Aug 15 is 2:30 AM on Aug 16 in UTC. With Aug 16, both date numbers became 7.

Send the date on the birth record, in local time.

Showing the wrong letter table

Chaldean gives 7. Pythagorean gives 8.

Label each number with its system.

Writing the name in another script

The name in Hindi letters got status 422 and the code invalid_input.

Ask for the name spelled with A to Z only.

Printing the master total

The bhagyank sum is 33, but the number is 6.

Show number, and treat master as a note.

These numbers do not use a birth time or a birth place. The API reads the date as a plain calendar date, so the day does not start at sunrise. UTC is the world's standard clock time. If your app keeps birth times in UTC, take the date from the local time before you send it.

A new spelling can give a new number, so the API never guesses one. Ask users for the name they really use, spelled the way they write it.

How mulank, bhagyank and the name number relate

Each of the nine numbers has a ruling planet. The order is 1 Sun, 2 Moon, 3 Jupiter, 4 Rahu, 5 Mercury, 6 Venus, 7 Ketu, 8 Saturn and 9 Mars. It differs from the classical planet order, where 3 is Mars. Map each number by its planet field, never by its place in a list.

The two date numbers describe the person. The mulank shows how a person acts from day to day. The bhagyank shows where life tends to go with age. The name is then read against both of them. The question is whether the person's planet counts the name's planet as a friend.

The name checker, POST /v1/name, answers that. It uses the classical friendship table of the planets. That table has no place for Rahu and Ketu. So the API treats Rahu like Saturn and Ketu like Mars. The field via names that stand-in. Here are our two sample people:

Person

Mulank

Bhagyank

Name number

Mulank sees the name as

Bhagyank sees it as

Fit

John Doe, Aug 15, 1990

6 (Venus)

6 (Venus)

7 (Ketu)

neutral

neutral

neutral

Jane Doe, Mar 22, 1992

4 (Rahu)

1 (Sun)

1 (Sun)

unfriendly

same number

mixed

The rule has four results and no scores. The same number counts as a friend. Friends with no unfriendly link make a good fit. Unfriendly links with no friend make a difficult one. A mix of both is mixed, and no link either way is neutral.

Jane shows why both links matter. Her name matches her bhagyank exactly. But her mulank's planet, read as Saturn, does not get along with the Sun. For John, the API's answer reads: "This number is neutral to your own numbers. It neither helps nor gets in the way much."

The profile does not judge the name on its own. It lists the friendly numbers of the mulank only: 4, 5, 6 and 8 for John. Call the name checker when you need the two-way fit.

What the screen should show for each number

A lone "6" on a screen says little about where it came from. We suggest one card per number, with four parts. Each part comes straight from the profile answer:

On the card

John's mulank

Field in the answer

The number

6

mulank.number

Its planet

Venus

mulank.planet_name

A one-line reading

a short reading in plain words

mulank.reading

The working

15: 1 + 5 = 6

the date you sent

The working lets a user check each number by hand. For the bhagyank, show the 33 from bhagyank.total before the 6. For the name, show each word's total from name_number.chaldean.words, then the sum. The API sends word totals, not each letter. To show every letter, split the name in your app with the table above.

A detail page can go deeper. Each of the two date numbers carries five topic sections, from nature and career to money, love and health. Add detail=expanded for a longer reading, or lang=hi for Hindi. In Hindi, codes like planet keep their English values, while planet_name carries the Hindi word, शुक्र for Venus. So your app logic stays the same in both languages.

End the screen with the not_claimed line from the answer. It tells users the numbers describe leanings, not set events. Keep that line on every screen that shows a reading.

To see the three numbers for any name and date, try our free numerology calculator. It runs on the same profile route as the API.

Banner for the free numerology calculator, which shows the mulank, bhagyank and name number for any name and birth date

Get all three numbers in one call

The route is POST /v1/profile. Here is the call for John Doe, born Aug 15, 1990:

curl -X POST "https://apiforastrology.com/api/numerology/v1/profile" \
  -H "Authorization: Bearer $ASTROLOGY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name": "John Doe", "birth_date": "1990-08-15"}'

And here is a shortened answer, with the readings, topics, Lo Shu grid and remedies left out:

{
  "mulank": { "number": 6, "planet": "Venus" },
  "bhagyank": { "number": 6, "total": 33, "master": true, "planet": "Venus" },
  "name_number": {
    "default_system": "chaldean",
    "chaldean": {
      "total": 34,
      "compound": 34,
      "number": 7,
      "master": false,
      "words": [
        { "word": "John", "total": 18, "number": 9 },
        { "word": "Doe", "total": 16, "number": 7 }
      ],
      "planet": "Ketu"
    },
    "pythagorean": { "total": 35, "number": 8, "read": false }
  }
}

One call uses 3 reading credits and returns more than the three numbers. The same answer holds the Lo Shu grid, a grid of nine boxes filled from the date's digits. It also holds the lucky day and colors, and the remedies tied to the mulank's planet. The API reference lists every field.

For the full list of what the core numbers route returns, with a sample answer, see the mulank and bhagyank API page.

Banner for the mulank and bhagyank API page, which lists the core numbers, planets and readings one call returns

The mulank needs the day, the bhagyank the whole date, and the name number the letters. The care goes into four places: the local date, the letter table, the script of the name, and the master total. Get those four right, and show the working beside each number.