A numerology app needs 6 screens: core numbers, a name checker, number checks, compatibility, a personal year with a daily number, and a report. The math behind them is simple addition. The hard parts sit around the math.

Books disagree on the rules. Indian and Western numerology give letters different values. They treat master numbers (11, 22 and 33) differently, and they fill the Lo Shu grid in different ways. So two apps can show one person two different numbers. Names are tricky too, since one letter can change the number. And every number needs a reading, written and checked in each language you offer.

So buy the numbers and the readings as an API. Build what your users touch: sign-in, screens, payments, alerts and your own words around the readings. Build the engine yourself only when your own method is the product.

Here is the size of the job, measured on the engine behind our Numerology API on Oct 19, 2026. It holds 371 short readings and 169 long ones in English, and the same set in Hindi. That comes to 25,734 words of English and 28,628 words of Hindi. The engine also has more than 180 automated tests that check the rules and the text.

The 6 screens a numerology app needs

Each screen maps to one API call. The table shows the reading credits each call uses. Credits are the unit the API counts for written answers.

Screen

What the user sees

API call

Reading credits

Core numbers

Mulank (birth day number), bhagyank (destiny number), name number and the Lo Shu grid

POST /v1/profile

3

Name checker

A name and up to 10 spellings, each with its fit

POST /v1/name

1

Number checks

A mobile, house or vehicle number, or a business name

POST /v1/number

1

Compatibility

Two people's numbers, read both ways

POST /v1/compatibility

1

Personal year and daily screen

The year, month and day number for one person

POST /v1/cycles

2

Report

The whole reading in 12 chapters, as HTML or JSON

POST /v1/report

25

Start with the core numbers, because the other screens read against them. Send the user's name and birth date to POST /v1/profile. This is a trimmed copy of the answer from our API on Oct 17, 2026, with the readings left out.

John Doe, born Aug 15, 1990: the answer, trimmed

{
  "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, "planet": "Ketu" },
    "pythagorean": { "total": 35, "compound": 35, "number": 8, "read": false }
  }
}

Here is the working. The mulank comes from the day of birth: 15 gives 1 + 5 = 6. The bhagyank adds every digit of the date: 1 + 5 + 0 + 8 + 1 + 9 + 9 + 0 = 33, and 3 + 3 = 6. The name number adds the letter values in the next table: 34, and 3 + 4 = 7.

Hard part 1: two letter tables, kept apart

Indian and Western numerology use different letter tables. Indian numerology uses the Chaldean table. It gives letters the values 1 to 8, and no letter gets 9. Western numerology uses the Pythagorean table. It runs from A = 1 to I = 9, then starts again at J.

Table

J

O

H

N

D

O

E

Total

Number

Chaldean

1

7

5

5

4

7

5

34

7

Pythagorean

1

6

8

5

4

6

5

35

8

So John Doe's name number is 7 or 8, by table. Each is right inside its own system. The bug is mixing them without a label. Our API keeps them apart. The Indian numbers read the Chaldean total, and the Pythagorean total comes back beside it, marked "read": false. The Western numbers use the Pythagorean table only.

Hard part 2: master numbers and the Lo Shu grid

Master numbers are 11, 22 and 33. Western practice keeps them whole. Indian practice reduces them to one digit. John's bhagyank passes through 33 on its way to 6, so the API returns 6 with "master": true.

His Western life path never meets 33. It reduces the month, the day and the year one by one: 8 + 6 + 1 = 15, then 6. Jane Doe, born Mar 22, 1992, shows the other side. Her Western birthday number stays 22, but her mulank is 4. So each Western number carries number, which keeps the master number, and digit, which reduces it.

The grid has the same problem. The Lo Shu grid is a 3 by 3 square of the numbers 1 to 9. It is filled from the digits of a birth date. Books disagree on what else goes in. Our API adds the bhagyank, plus the mulank when the day has two digits. We filled John's grid three ways.

What goes into the grid

Times 6 appears

Missing numbers

Full lines

Date, bhagyank and mulank (the API's rule)

2

2, 3, 4, 7

practical, willpower

Date and bhagyank

1

2, 3, 4, 7

practical, willpower

Date digits only

0

2, 3, 4, 6, 7

willpower

One person, three grids. An app that follows the first rule shows John's 6 twice. An app that uses the date alone lists it as missing. Our API names its rule in a basis field, so your screen can say which method it uses. Our conventions page lists every choice like this.

Hard part 3: names in English letters, spelled the user's way

A name's number depends on its exact spelling. Drop the H, and "Jon Doe" adds up to 29 in the Chaldean table. That reduces to 11, then 2. John Doe, with the H, is 7.

That is why our API reads names in English letters only. We sent John's name in Devanagari, the script Hindi is written in. The API refused it with a 422 error, asking for English letters because the spelling changes the number. A guessed spelling could answer for a name the person never uses.

For your app, this means one form field and one check. Ask for the name as the user spells it in English letters. Show it back with each word's total, so the user can catch a typo. The name checker compares up to 10 spellings in one call.

Hard part 4: hundreds of readings, in 2 languages

The arithmetic is the small part. In our engine, the two letter tables and the Indian sums fit in one file of 156 lines, comments included. The readings run to 54,362 words.

The 371 standard readings cover the core numbers, the grid, the checks, the cycles and the Western numbers. 169 of them also have a long form, about 5.5 times as long, for screens that show the full text. Hindi has the same 540 texts, key for key.

Each text also has to pass checks. Our tests make sure Hindi has every English key and no Latin letters. No sentence may run over 25 words. Illness names and past-life claims are banned. Another test makes sure no fit outcome covers 80% of cases or more, so a check never tells everyone the same thing.

Hindi comes from the same call. Add lang=hi, and the readings come back in simple Hindi. The codes stay in English, so your app's logic does not change. For John, planet stays "Venus", and planet_name becomes "शुक्र".

Every answer with a reading also carries a not_claimed line: "Numbers describe tendencies, not fixed events. Use them as a guide, not a rule." Show it near the readings.

See the screens side by side. Our numerology apps use case maps each screen to its call, with the credits a daily screen uses.

Banner reading "6 screens, one API call each", linking to the numerology apps use case

What the API covers, and what stays yours

Part

Who does it

Core numbers, cycles, checks and compatibility, with each rule named

The API

Readings in English, Hindi and more languages as they launch, in 2 lengths

The API

The report, as HTML or JSON

The API

Sign-in, profiles, payments and subscriptions

You

Screens, design and daily alerts

You

Your own words around the readings

You

Indian, Western or both, with a label on each number

You

Diagram of who builds what in a numerology app: your team builds sign-in, screens, payments, alerts and the words around the readings, and the API answers six screens, each with one call

Your own words sit around the reading. The API writes the reading. Your team writes the screen title, the line above the reading, the alert that brings users back and the share card.

Make every call from your server. A key shipped inside a phone app is not secret, because people can read it from the app's files. Your server holds the key and makes the calls.

Birth charts follow the same split. If your app also shows kundlis, read our guide to astrology app development. Both APIs take the same key.

A short build plan

Step

Screen

Call

Check with John Doe

1

Sign-up and core numbers

POST /v1/profile

Mulank 6, bhagyank 6, name number 7

2

Personal year and daily screen

POST /v1/cycles

Oct 1, 2026: year 6, month 7, day 8

3

Paid report

POST /v1/report

12 chapters

4

Hindi

add lang=hi to any call

The same numbers, with Hindi text

5

Name, number and match checks

POST /v1/name and the rest

"Jon Doe" gives 2

Step 2 needs one detail. Send the user's own local date as as_of. Without it, the API uses its own date, and that date may not match the user's.

John Doe, born Aug 15, 1990, on Oct 1, 2026

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

The answer, trimmed to the numbers

{
  "birth_date": "1990-08-15",
  "as_of": "2026-10-01",
  "year": { "number": 6 },
  "month": { "number": 7 },
  "day": { "number": 8 }
}

The personal year adds 8 for August, 6 for the 15th and 1 for 2026. That is 15, and 1 + 5 = 6. October adds 10, so the month is 6 + 10 = 16, then 7. The 1st adds 1, so the day is 8. The year number changes on January 1.

Step 3 is one call too. Send format=json to lay out the 12 chapters in your own design, or use the HTML page as it comes. It uses 25 reading credits, against 1 to 3 for each other screen. The report page describes each chapter.

John Doe's report as JSON, trimmed to 3 of its 12 chapters

{
  "cover": { "title": "John Doe", "glance": "Mulank 6 · Bhagyank 6 · Name number 7" },
  "chapters": [
    { "number": 1, "key": "glance", "title": "Your numbers at a glance" },
    { "number": 5, "key": "loshu", "title": "Your Lo Shu grid" },
    { "number": 12, "key": "year", "title": "Your year, month and day" }
  ]
}

Make your first call. The numerology quickstart walks through John Doe's profile call, step by step. The free numerology calculator runs on the same call, for any name and date.

Banner reading "Mulank 6, bhagyank 6, name number 7", linking to the numerology API quickstart

When two numerology apps show one person two numbers, check the rules first. Look at the letter table, the master numbers and the grid inputs. Buy an engine that names each rule in its answer. Then spend your own build on the screens and the words around the readings, where your app is different.