Date of birth numerology gives an app most of its numbers before the user types a name. The date alone gives three Indian results: the mulank (birth day number), the Lo Shu grid and the bhagyank (destiny number). The mulank then brings four more: a lucky day, its colors, a list of friendly numbers and a set of good dates. On the Western side, the date gives the life path, the birthday number, four challenges and four pinnacles. It also sets the three personal cycle numbers: year, month and day.

Meet John Doe, born Aug 15, 1990, the sample person in our numerology docs and tests. His date alone gives mulank 6, bhagyank 6 and life path 6. His lucky day is Friday. On Nov 6, 2026, the cycles put him in personal year 6, personal month 8 and personal day 5.

The name adds 8 more numbers. One is Indian: the name number. Seven are Western: expression, soul urge, personality, maturity, karmic lessons, hidden passion and balance.

Our API has one catch. Of its three main routes, only POST /v1/cycles answers a request that holds a birth date and no name. Both POST /v1/western and POST /v1/profile refuse that body with error 422, and the field they point to is name.

Date of birth numerology for John Doe: the full map

We sent John's birth date and name to all three routes on Oct 19, 2026, reading the cycles for Nov 6, 2026. Then we repeated the date under two other names, Johnny Doe and Guest. A block that came back the same for all three names comes from the date. Here is each one, with its working and a page that explains it in full.

Number

Worked out from

John Doe

Field (route)

Explained in

Mulank

the day: 15 → 1 + 5

6, Venus

mulank (profile)

mulank and bhagyank explainer

Bhagyank

all eight digits: 33 → 3 + 3

6, Venus

bhagyank (profile)

why the bhagyank is also called a destiny number

Lo Shu grid

the digits of the date, plus the bhagyank and the mulank, counted in a square of nine cells

2, 3, 4 and 7 empty

loshu (profile)

Lo Shu grid, step by step

Lucky block: day, colors, numbers, dates

the planet that rules the mulank

Friday; white and pastel pink; 4, 5, 6, 8

lucky (profile)

the lucky section below

Life path

each part of the date cut to one digit, then summed: 8 + 6 + 1 = 15 → 6

6

life_path (western)

life path number guide

Birthday number

the day of birth, with 11 and 22 kept

6

birthday (western)

birthday number

Challenges

gaps between the one-digit month, day and year

2, 5, 3, 7

challenges (western)

challenge numbers

Pinnacles

one sum per life stage, built from the month, day and year

5, 7, 3, 9

pinnacles (western)

pinnacles

Personal year

the calendar year, added to the birth month and day

6

year (cycles)

personal year number guide

Personal month and day

the year plus the month, then plus the day

8 and 5

month and day (cycles)

personal month

In the route column, profile is POST /v1/profile, western is POST /v1/western and cycles is POST /v1/cycles.

Two of these read a second date. The cycles need the day you want read, sent as as_of. The pinnacles use that date too, to flag the stage marked current. On Nov 6, 2026, John is 36. So the API flags his second pinnacle, a 7 that covers ages 31 to 39.

Master numbers come from the date as well. The Western date numbers do not reduce 11, 22 or 33. Jane Doe, born Mar 22, 1992, has a birthday number of 22. Her mulank, taken from the same day, is 4. Our master numbers guide shows where else they turn up.

Karmic debt can come from either input. Western numerology flags 13, 14, 16 and 19 when one of them turns up while a total is cut down. That is karmic debt. On the date side, it can sit on the life path or the birthday number. John has none there. His one debt number, 14, sits on his personality and maturity numbers, so it waits for his name.

The remedies need no name either. The profile's remedies block holds the gemstone, the mantra and the rest. Its source is the mulank's planet, the same one behind the lucky block.

The numbers that need a name

Eight numbers read the letters of a name. Each has its own page, so here is only the value for John and where it lives.

Name numbers

John Doe

Route

Explained in

Name number (Chaldean)

7, from a total of 34

POST /v1/profile

name number

Expression, soul urge, personality

8, 8 and 9

POST /v1/western

three numbers from one name

Maturity

5, from 6 + 8 = 14

POST /v1/western

maturity number

Karmic lessons

2, 3, 7 and 9

POST /v1/western

karmic lessons

Hidden passion, balance

5 and 6; 5

POST /v1/western

hidden passion

Maturity is the one mixed number. It sums the date's life path and the name's expression. So John's 6 + 8 makes 14, then 5, and it cannot be shown until the name is in.

We tested the split by changing the name. Our script compared every top-level block across the three answers. In the profile, name_number was the only number block that moved. In the Western answer, the seven name blocks moved. The life path, birthday number, challenges, pinnacles and personal numbers stayed exactly the same.

So a date-only screen needs no redraw later. Once the name arrives, every number on it is still the same.

John Doe's numbers in two blocks: the ones his birth date gives alone, and the 8 that wait for his name. Only the cycles route answers without a name

Which API routes answer with a date alone

Next, each of the three routes got John's birth date and no name.

Route

Body sent

Answer

POST /v1/profile

the birth date only

422, code invalid_input, message "Field required", field name

POST /v1/western

the birth date only

422, the same code, message and field

POST /v1/cycles

the birth date only

200, with year 6, month 8 and day 5

The two name routes require the name. In the profile, every number block but one comes from the date. In the Western answer, 5 of the 12 number blocks do. Still, the request model of each route marks name as a field it must have. An empty name fails as well. For "", the profile answered 422 and asked for a name written in English letters.

Cycles reads the birth date and nothing else. Its request model holds that one field. When we sent John's name along with the date, the answer did not change.

Most other routes take no person's name. The API has 15 public routes that return readings. Five need the person's name: the profile, the Western numbers, the name checker, the spelling suggestions and the report. The business check needs a business name. The other nine take no name at all. Besides cycles, these five can fill part of a date-only screen.

Route

What you send

What you get

Reading credits

GET /v1/guide/{number}

a number from 1 to 9, no date

the readings, lucky block and remedies for that number as a mulank

3

GET /v1/day

a calendar date, or nothing

that date's number, shared by every user: 9 on Nov 6, 2026

1

POST /v1/dates

a birth date

every date of one month, read for the person

1

POST /v1/number

a birth date, plus a phone number, a vehicle plate or a house number

how that number fits its owner

1

POST /v1/compatibility

two birth dates

how two people's numbers get along

1

The last three also send back the mulank and bhagyank as bare numbers, 6 and 6 for John, with no reading beside them. Our posts on numerology compatibility and mobile number numerology walk through two of them.

Lucky number by date of birth: what the API calls lucky

We read pages on the lucky number by date of birth, and they gave three different answers. One news page we read makes the mulank itself the lucky number. By that rule, a birthday on day 1, 10, 19 or 28 of any month gives the lucky number 1. One calculator adds up the whole date and calls the result a lucky number and a life path number at once. Another news page lists several lucky numbers for each mulank. For mulank 6, it gives 4, 5, 6, 7 and 8.

Our API has no field named lucky number. It has a lucky block, and the block names its source in "from": "mulank". Everything inside follows the planet that rules the mulank. For John, that planet is Venus.

Field

John Doe

Where it comes from

lucky.day

Friday

the weekday of Venus

lucky.colors

white, pastel pink

the colors of Venus

lucky.numbers

friendly 4, 5, 6, 8; neutral 3, 7, 9; unfriendly 1, 2

how Venus treats each number's planet, from the classical planet friendship table

lucky.dates

13 dates, from the 4th to the 31st

days of the month that add down to a friendly number

So that news page and our API split on one number. The page counts 7 as lucky for mulank 6, while the API files 7 under neutral.

Show the block as tradition, not as a promise. A label such as "Linked to your mulank" says where it comes from. The API's own line beside the dates keeps the claim soft. It reads: "Dates of the month that add up to a number friendly to your mulank. They tend to suit starting things." Keep that tone in any words you add.

The block depends on the day of the month alone. A birthday on day 6, 15 or 24 of any month gives John's lucky block. GET /v1/guide/6 lists those three days in its born_on field. It returns the same lucky block as John's profile, with no birth date sent.

A date-only first screen, step by step

Call POST /v1/cycles first. It needs nothing the sign-up has not already asked for. Put the date on the user's own calendar into as_of, so the numbers match their day. Our personal year guide explains why that date matters near midnight.

John Doe, born Aug 15, 1990. The date to read: Nov 6, 2026.

curl -X POST "https://apiforastrology.com/api/numerology/v1/cycles?as_of=2026-11-06" \
  -H "Authorization: Bearer $ASTROLOGY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"birth_date":"1990-08-15"}'

The answer, cut down to its numbers. Each block also holds a one-line about and a short reading.

{
  "birth_date": "1990-08-15",
  "as_of": "2026-11-06",
  "year": { "number": 6 },
  "month": { "number": 8 },
  "day": { "number": 5 }
}

The personal year feature page lists the other date routes beside this one.

Add the mulank's page if the screen needs more. To get the mulank, take the birth day, such as the 15th, and keep adding its digits until one is left. Your app can do that in a few lines. Then GET /v1/guide/{mulank} returns that number's readings and its lucky block. For John, GET /v1/guide/6 matched his profile on four counts: the mulank reading, the bhagyank reading, the lucky block and the remedies.

// The mulank: the day of birth, with its digits added until one digit is left.
// birthDate is the date the user typed, as "YYYY-MM-DD", with no time zone change.
function mulankFromBirthDate(birthDate) {
  let number = Number(birthDate.slice(8, 10)); // "1990-08-15" -> 15
  while (number > 9) {
    number = Math.floor(number / 10) + (number % 10); // 15 -> 1 + 5 = 6
  }
  return number;
}

We ran this function on all 31 days of a month. Each result matched the born_on lists of GET /v1/guide/1 to GET /v1/guide/9.

Try the Indian numbers for any date. Our free numerology calculator shows all three Indian core numbers side by side. It asks for a name as well, because it runs on POST /v1/profile.

Open the free numerology calculator to see the mulank, bhagyank and name number for any name and birth date

Mind one gap in the guide. Its bhagyank reading is for the number in the path, not for the person. John's two date numbers match, 6 and 6, so one guide call covers both. When the two numbers differ, the bhagyank reading needs a second call with the bhagyank in the path.

Do not fill the name with a stand-in. If you want the profile on the first screen, sending "Guest" as the name may look harmless. The API reads it like any other name. "Guest" came back with a Chaldean total of 21 and a name number of 3, and a Western expression of 9. Those numbers would sit on screen as if they belonged to the user.

Send the date exactly as typed. A birth date turned into UTC can land on the next day. Our mulank and bhagyank explainer shows that shift turning John's mulank and bhagyank into 7s.

Asking for the name later

Say what the name adds. A short line works: "Add your name to see the numbers read from its letters." For an Indian screen, that is one number, the name number. For a Western screen, it is seven.

Ask for the name each route expects. The profile wants the everyday name, in the user's own spelling. The Western route wants the full birth name. A nickname, or a new last name after marriage, changes the letters it reads. When the two names differ and you show both sets, ask for both. In our runs, swapping John Doe for Johnny Doe moved the expression from 8 to 11. Our guide to the destiny number and the bhagyank covers which name each route wants.

Ask for English letters. Both routes read names in A to Z only. Names in Hindi letters, or any other script, come back as an error. The API does not convert them, since each spelling gives its own number.

Then make the two name calls. POST /v1/profile adds the name number to the Indian set, grid included. POST /v1/western adds the seven Western name numbers. Both take a name and a birth date, in the same two fields.

Plan the full Indian screen. The core numbers API page lists every block the profile returns, with a sample answer for John Doe.

See every block the core numbers API returns, from the mulank and bhagyank to the Lo Shu grid

Label every number by its input. A small line such as "From your birth date" or "From your name" helps. It tells the user which numbers stay put if they fix a typo in their name. The last field of every answer with a reading is a not_claimed line. Show it on each screen that has a reading. It tells users the numbers point to tendencies and fix nothing.

Credits per screen

Each numerology answer uses reading credits. Credits are how the API meters written answers. Here is what each screen in a two-step sign-up uses, from our route list.

Screen

Calls

Reading credits

Date-only: the three personal numbers

POST /v1/cycles

2

Date-only, plus the mulank's readings and lucky block

GET /v1/guide/{mulank} plus POST /v1/cycles

5

After the name: the Indian set, grid included

POST /v1/profile

3

After the name: the Western set

POST /v1/western

3

One number of the day, shared by all users

GET /v1/day

1

A user who gives the date first, then the name, with both sets shown, uses 2 + 3 + 3 = 8 credits. With the guide call on the first screen, the total is 11. The profile sends the same mulank reading and lucky block as the guide. So the guide call buys an earlier look at them, one screen before the name.

The short version

A birth date gives the mulank, bhagyank, Lo Shu grid and lucky block. It also gives the life path, birthday number, challenges, pinnacles and the three personal cycle numbers. A name adds the name number and seven Western numbers. In our API, only POST /v1/cycles answers a date with no name, so it is the call for a date-only first screen. The profile and Western routes wait for the name.