A numerology chart is every number that one name and one birth date give. Take John Doe, born Aug 15, 1990. Two calls to our API give him 19 blocks of numbers, with 85 pieces of text and 2,079 words. At 230 words a minute, that is a 9-minute read.
So build the chart in bands. At the top, show the core numbers of your users' tradition, each with a label and a one-line reading. An Indian chart leads with three numbers. Two read the date: the mulank takes just the day, the bhagyank every digit. The name number reads the letters. A Western chart leads with the life path, expression, soul urge and personality.
A year card comes next, then one picture. The Indian tab draws the Lo Shu grid, which counts the birth date's digits in nine cells. The Western tab draws the pinnacles (long life stages) as a timeline. Every other number goes in a list, with its reading behind a tap. The other tradition gets its own labelled tab.
Two calls fill both tabs: 6 reading credits. Cards need empty states, because some names have no vowel. The screen ends with the API's not_claimed line.
John Doe's numerology chart, card by card
On Oct 19, 2026, we called POST /v1/profile and POST /v1/western with John's details. The date-based cycles were read for Nov 10, 2026. This table maps each block of the two answers to a card on the screen. Each number gets one line here, with a link to the page that explains it.
Card | Field | John Doe | Side | Place on screen | Read more |
|---|---|---|---|---|---|
Mulank |
| 6, Venus | Indian | Top | |
Bhagyank |
| 6, from 33 | Indian | Top | |
Name number |
| 7, from 34 | Indian | Top | |
Lo Shu grid |
| 2, 3, 4 and 7 empty | Indian | Picture | |
Lucky day and colors |
| Friday; white and pastel pink | Indian | More numbers | |
Remedies |
| diamond, south-east, Lakshmi | Indian | More numbers | |
Life path |
| 6 | Western | Top | |
Expression, soul urge, personality |
| Expression 8, soul urge 8, personality 9 | Western | Top | |
Personal year |
| 6 | Year card | Under the top tiles | |
Personal month and day |
| 8 and 9 | Year card | On tap | |
Pinnacles |
| 5, then 7 (now), 3, 9 | Western | Picture | |
Life cycles |
| 8, then 6 (now), 1 | Western | More numbers | |
Maturity |
| 5 | Western | More numbers | |
Birthday |
| 6 | Western | More numbers | |
Karmic debt |
| 14, on personality and maturity | Western | More numbers | |
Karmic lessons |
| 2, 3, 7, 9 | Western | More numbers | |
Hidden passion and balance |
| Hidden passion 5 and 6; balance 5 | Western | More numbers | |
Challenges |
| 2, 5, 3 and 7 | Western | More numbers |
The profile answer holds 6 of the 19 blocks, and the Western answer holds 13. The API reference lists each field and its type.
What goes above the fold, and what waits for a tap
Two chart guides we read list five core numbers, then a long tail of others. Both put the life path first, but neither says what fits on a phone. We counted the words each band of John's chart puts on screen, in English, at the standard length.
Band | What it shows | Words of reading on screen |
|---|---|---|
1. Core numbers | Indian: 3 tiles. Western: 4 tiles. Label, number and the | Indian 59, Western 51 |
2. Year card | The personal year and its reading | 12 |
3. One picture | The Lo Shu grid, or the pinnacles as a timeline | Numbers only |
4. More numbers | One row per card: its label and its value | Numbers only |
Foot | The | 14 |
So John's Indian tab opens with 71 words of reading above the fold, plus the 14-word line at the foot. The rest of the 2,079 words sit on the Western tab or behind a tap.

The biggest texts belong on detail sheets. Five topic sections come with the mulank, and five more with the bhagyank. Those 10 sections run to 717 words. Open them from the tile, one sheet per number, with the five topics as tabs. The year card works the same way: its do and avoid lines, plus the month and day, open on tap.
A bare number needs its label. Five of John's cards show a 6: the mulank, bhagyank, life path, birthday and personal year. Put the label above each number, never only on the detail sheet. Our destiny number or bhagyank post adds a short source line under each one.
Remedies sit lowest. Keep the gemstone, mantra and fast day in the "More numbers" list, behind a tap. When the gemstone block carries a caution, print it right under the stone.
Group the cards by tradition
Give each tradition its own tab, and open the tab your users follow. The Indian vs Western numerology post covers which side to lead with. It also shows why the two never share a card.
The year card changes with the date, and so does the pinnacle marked as current. Put the year card once, under the core tiles, and label it with its rule: "Counted from January 1." The Western answer states that rule in basis.personal_year.
Print master numbers in the slash form on the Western tab only. Take Jane Doe, born Mar 22, 1992, the docs' second test person. Her Western birthday card reads 22/4, from number and digit. Her Indian mulank card reads 4. John's bhagyank passed through 33, so the API flags it with master: true. His Indian card still prints 6. Our master numbers post covers both tabs.
The two tabs read different names. The Indian side reads the name the person uses now. The Western side reads the full name from birth. If your form asks for one name, our Chaldean vs Pythagorean post explains the trap.
The Lo Shu grid as a picture
The grid is the one drawing on the Indian tab. Here is John's, cell by cell, from loshu.cells.
Grid row | Left cell | Center cell | Right cell |
|---|---|---|---|
1 | 4 (empty) | 9 9 | 2 (empty) |
2 | 3 (empty) | 5 | 7 (empty) |
3 | 8 | 1 1 | 6 6 |
Draw the rows in the order the API sends them. Leave each empty cell where it is and draw its number faint, so the square keeps its shape. For a cell with many copies of one digit, see how the Lo Shu grid is built.
Under the grid, show the missing numbers and the full lines. John's practical and willpower lines are both full. The lists can come back empty for other dates. The guide to missing numbers and lines explains how to handle those empty lists.
The Western tab's picture is a timeline. John's first pinnacle, 5, runs to age 30. The second, 7, covers ages 31 to 39. Then 3 covers 40 to 48, and 9 starts at 49. The answer marks the 7 with "current": true, so that stage gets the highlight.
Empty values: what each card shows when a field is missing
A card that expects a number can break on a null. We ran four more cases to find the empty fields. J. D. is a name of initials. Ai is a short name with no consonant. A third run kept John's name but moved his birth date to Aug 16, 1990, for mulank 7. Jane Doe's run covered the rest.
Field | When it came back empty | What the card shows |
|---|---|---|
| null for J. D., a name with no vowel | A line naming the gap. |
| null for Ai, a name with no consonant | The same, for the consonants |
| null for J. D., whose total is 5 | Hide the compound line, since a total under 10 has none |
| null for mulank 7, ruled by Ketu | The |
| null for John; "Mars" for mulank 7 | "Through Mars" only when it is set |
| null for John; a caution for Jane | The caution under the stone, when there is one |
| null in every run | "From 49 on" in place of an end age |
| an empty list on most blocks | No karmic row for that block |
Two values look empty and are not. Jane's main and last challenges are both 0, and the API sends a reading for 0. John's hidden passion holds two numbers, 5 and 6. So a card can hold a 0, or more than one number.
Here is the mulank 7 run, trimmed to its lucky and remedies blocks.
John Doe's name with the birth date Aug 16, 1990 (mulank 7). POST /v1/profile, trimmed.
{
"lucky": { "from": "mulank", "planet": "Ketu", "day": "Tuesday", "day_via": "Mars" },
"remedies": {
"planet": "Ketu",
"direction": null,
"direction_name": null,
"direction_about": "Ketu has no direction of its own in the classical list, so none is given.",
"gemstone": { "stone": "cat's eye" }
}
}Our post on expression, soul urge and personality covers the no-vowel case in full. For every other card, one small function decides what the number line says.
// What one card prints as its number.
// Returns null for an empty block, so the card can show its empty-state line.
function cardNumber(block) {
if (block === null || block === undefined) {
return null;
}
// Western blocks send digit beside number. A master number prints as "22/4".
if (block.digit !== undefined && block.digit !== block.number) {
return `${block.number}/${block.digit}`;
}
return String(block.number);
}The function checks for null on purpose. A shortcut such as if (!block.number) would hide Jane's 0. We ran it on 142 cards from our test runs. It printed 22/4 for Jane's birthday, 11/2 for the maturity of J. D., 0 for Jane's two challenges, and null for the two empty blocks.
Want to see the top of an Indian chart before you design it? The free numerology calculator calls POST /v1/profile. Type any name and date to see its three Indian core numbers.

Hindi labels for the chart
With lang=hi on both calls, every reading arrives in simple Hindi, and no number changes. Take your Hindi card titles from the words the API's own about lines use. Then the title and the text under it match.
Card | Hindi label | Word taken from |
|---|---|---|
Mulank | मूलांक |
|
Bhagyank | भाग्यांक |
|
Name number | नामांक |
|
Lo Shu grid | लो शू ग्रिड |
|
Life path | लाइफ़ पाथ नंबर |
|
Personal year | पर्सनल ईयर नंबर |
|
Western tab | पश्चिमी नंबर | the Western answer's |
Names inside the cards come translated, each beside its English code. In Hindi, Venus becomes शुक्र, Friday becomes शुक्रवार, and white becomes सफ़ेद. The five topic titles, the challenge names and the grid's line names arrive in Hindi too. Key your code on the English values in planet and day.
The method lines come in Hindi too. In our Hindi runs, the Western answer's basis lines and the profile's not_included notes came back in Hindi. So did the grid's own basis line. A Hindi chart can print them on its "How these were worked out" sheet.
How many calls one chart needs
A chart with both tabs takes two calls, and the year card needs no third. We compared the Western answer's personal block with a POST /v1/cycles answer for the same day, Nov 10, 2026. Year 6, month 8 and day 9 matched. So did every line of text, in English and in Hindi.
What the chart shows | Calls | Reading credits |
|---|---|---|
Both tabs and the year card |
| 3 + 3 = 6 |
The Indian tab and the year card |
| 3 + 2 = 5 |
The Western tab and the year card |
| 3 |
The cycles call needs only the birth date. Pass the user's local date as as_of whenever a call returns the cycles. Our personal year post explains why near midnight.
Both calls for John Doe (born Aug 15, 1990), read for Nov 10, 2026.
curl -X POST "https://apiforastrology.com/api/numerology/v1/profile?lang=hi" \
-H "Authorization: Bearer $ASTROLOGY_API_KEY" \
-H "Content-Type: application/json" \
-d '{"name":"John Doe","birth_date":"1990-08-15"}'
curl -X POST "https://apiforastrology.com/api/numerology/v1/western?as_of=2026-11-10&lang=hi" \
-H "Authorization: Bearer $ASTROLOGY_API_KEY" \
-H "Content-Type: application/json" \
-d '{"name":"John Doe","birth_date":"1990-08-15"}'Leave out lang=hi for English. The core numbers and Western numbers feature pages describe what each call returns.
Every answer closes with the same line. It reads: "Numbers describe tendencies, not fixed events. Use them as a guide, not a rule." Print it once, at the foot of the chart. The Western answer adds a second line for the karmic cards. It says the karmic numbers point to things to work on and say nothing about past lives. Put that one beside the karmic rows.
Planning the rest of the app? Our numerology apps page maps the main screens of an app to their calls. It covers the core numbers, the personal year, the daily number and the report. For the full build plan, read numerology app development.

Check the screen with five test people
Before a chart screen ships, run it on five inputs from this post. John Doe fills every card: 6, 6 and 7 on the Indian tab, and 6, 8, 8 and 9 on the Western tab. Jane Doe needs a 22/4 tile and two challenges of 0. J. D. has no soul urge, and Ai has no personality. John's name with Aug 16, 1990 has no direction. Between them, they cover every null and empty value our runs met.



