Cycles & forecasts

Personal Year Number API

Power a daily numerology screen from a single field. Send a birthdate and the user's local date, and get their personal year, month and day, today's universal numbers, and the personal years still to come.

Only a birthdate

curl -X POST https://simplenumerologyapi.com/v1/cycles \
  -H 'X-API-Key: nk_…' \
  -H 'content-type: application/json' \
  -d '{"birthdate":"1990-03-12","date":"2026-10-28","years_ahead":3}'
{
  "object": "cycles",
  "birthdate": "1990-03-12",
  "date": "2026-10-28",
  "age": 36,
  "universal_year": 1,
  "universal_month": 2,
  "universal_day": 3,
  "personal_year": 7,
  "personal_month": 8,
  "personal_day": 9,
  "current_pinnacle":   {"stage": 2, "number": 4, "from_age": 30, "to_age": 38},
  "current_challenge":  {"stage": 2, "number": 2, "from_age": 30, "to_age": 38},
  "current_life_cycle": {"stage": 2, "number": 3, "from_age": 30, "to_age": 56},
  "upcoming_personal_years": [
    {"year": 2027, "personal_year": 8},
    {"year": 2028, "personal_year": 9},
    {"year": 2029, "personal_year": 1}
  ]
}

No name is needed, so you can show a forecast on the first screen of your onboarding, before you ask for anything else.

What each number is for

Field Use it for
personal_day The “today” card of a daily numerology app
personal_month A monthly theme or newsletter
personal_year The yearly forecast, which changes on 1 January
universal_day / month / year The same for everyone: a shared “number of the day”
upcoming_personal_years Up to 10 years ahead, for a timeline or a “your next nine years” view
current_pinnacle, current_challenge, current_life_cycle Where the user is in their long-term cycles, with the ages each one spans

Send the user’s local date

date defaults to today in UTC. A user in Sydney opening your app in the morning is already on the next day, so send the date from their device or profile time zone. Every personal day is then right where the user is.

The answer depends only on the birthdate and the date, so one call per user per day is all you need: cache the response until midnight in their time zone.

Frequently asked questions

How is the personal year number calculated?

The birth month and day are added to the current universal year and reduced to a single digit. The API returns it as personal_year, along with the personal month and day built on top of it.

Can I get personal year numbers for future years?

Yes. Set years_ahead to any number from 0 to 10 and the response lists the personal year for each of the coming years.

Does the cycles endpoint need a name?

No. It needs only a birthdate, and optionally the date to calculate for.

How many requests does a daily forecast use?

One per user per day if you cache the response until the user’s midnight. On the free plan that covers three users with a daily check-in; Starter covers more than 300.

Start with 100 free charts a month

No card, no trial clock, no expiry date.

Get a free key

Related