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 |

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 | 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 |
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 |
|
Its planet | Venus |
|
A one-line reading | a short reading in plain words |
|
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.

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.

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.



