New Numerology API

Use case

Astrology app development on one API

For astrology app development, API for Astrology (apiforastrology.com) supplies the astrology part: birth charts, planetary periods (dashas), daily readings, matching and a printable report.

Updated

© API for Astrology (apiforastrology.com). "Astrology apps explained". All rights reserved. Not to be copied or reused.Acme StarsJohn DoeAscJuMoJupiter periodto Dec 2030Moon sub-periodto Aug 2027Birth chart/v1/planetsPeriod now/v1/dasha/vimshottariTODAY FOR YOUThe Moon is back inTaurus, your Moon sign./v1/reading/daily

How it works

  1. 1A user opens an astrology app and sees a screen made just for them.
  2. 2Behind it, the app asks the API for the birth chart, today's reading and the life period running now.
  3. 3The API sends back the answers as data, and the app draws its own screens around them.
POST /v1/reading/section/topic:personality?as_of=2026-10-01200 OK
{
  "section": {
    "id": "topic:personality"
  },
  "blocks": [
    {
      "answer": {
        "headline": "You tend to have a clear sense of who you are, and people often notice it. Energy and confidence usually come easily to you, and you bounce back well when life gets hard."
      }
    }
  ]
}
The plain answer that opens John Doe's personality reading, one of the life topics. Real output for John Doe, born Aug 15, 1990, 10:30 AM, New York.

How to build an astrology app on the API

Each step is one call, linked to its page in the API reference. Where a card shows values, they are real API output. Planet positions come from NASA JPL planet data (DE440). We check them against NASA JPL Horizons. On 25,571 positions from 1850 to 2149, the Sun and planets agree within 0.001 arc seconds. The Moon agrees within 0.011. An arc second is 1/3,600 of a degree. See how we test accuracy. A practicing astrologer reviews the rules behind these answers. Each rule has an ID in the public rulebook.

  1. 01

    Show the birth chart at sign-up

    POST /v1/planets

    Ask for the birth date, the local time, the place and its time zone. The first call returns the rising sign and all nine planets for the chart screen.

    ascendant.sign
    "Virgo"
    positions.1.name
    "Moon"
    positions.1.sign
    "Taurus"
    positions.1.nakshatra
    "Mrigashira"

    Real output from the example in the API reference.

  2. 02

    Divisional charts

    POST /v1/chart/{division}

    A second chart tab, such as the navamsa (D9), the chart read for marriage. Any of the 16 divisional charts comes from the birth details you already have.

    varga
    "D9"
    signifies
    "the spouse, and the inner strength of every graha"
    ascendant.sign
    "Gemini"

    Real output from the example in the API reference.

  3. 03

    A timeline

    POST /v1/dasha/vimshottari

    The running planetary period and every date, for a timeline or a "your current period" card.

    starting_lord
    "Mars"
    periods.0.end
    "1996-12-20T07:27:09.380502"
    periods.1.lord
    "Rahu"

    Real output from the example in the API reference.

  4. 04

    A daily screen

    POST /v1/reading/daily

    One day for one user, led by the Moon, with the day's panchang (the Hindu calendar for the day).

    panchang.tithi.name
    "Shashthi"
    moon.title
    "The Moon in the 1st from your own"
    moon.result
    "favorable"

    Real output from the example in the API reference.

  5. 05

    Readings

    POST /v1/reading/section/{section_id}

    Topic readings such as career or marriage, each opening with a plain answer.

    section.id
    "topic:personality"
    blocks.0.answer.headline
    "You tend to have a clear sense of who you are, and people often notice it. Energy and confidence usually come easily to you, and you bounce back well when life gets hard."

    Real output for John Doe, born Aug 15, 1990, 10:30 AM, New York.

  6. 06

    A question screen

    POST /v1/prashna

    The user picks one topic from GET /v1/prashna/topics, such as marriage or a new job. The answer is read from the moment they ask, so no birth details are needed.

    topic
    "marriage"
    answer.verdict
    "possible_with_effort"
    answer.timing.count
    6
    answer.timing.unit
    "days"

    Real output from the example in the API reference.

  7. 07

    A paid report

    POST /v1/report

    A full printable report to sell, ready to print to PDF.

What you send, what you get, what it costs

You sendEach user's birth date, local time, place and time zone. Daily readings also take the date you show.
You getThe birth chart, any of the 16 divisional charts, dasha dates, a daily reading, topic readings and a printable report.
It costsSteps 1, 2, 3 and 4: 1 call each.Step 5: 1 reading credit a chapter (3 for the year ahead).Step 6: 5 reading credits.Step 7: 25 reading credits (40 with the topic chapters).

Costs are for a live key, and failed requests are free. The Free plan includes 2,000 calls and 150 reading credits a month.

Step 1 in code: show the birth chart at sign-up

Send the details as JSON, with your API key in the Authorization header. The other steps work the same way, and each one links to its page in the API reference.

POST /v1/planets

# John Doe, born Aug 15, 1990, 10:30 AM, New York
curl -X POST "https://apiforastrology.com/api/astrology/v1/planets" \
  -H "Authorization: Bearer $ASTROLOGY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"year":1990,"month":8,"day":15,"hour":10,"minute":30,"second":0,"latitude":40.7128,"longitude":-74.006,"timezone":"America/New_York"}'
Response (lists shortened)200 OK
{
  "meta": {
    "ayanamsa": "lahiri",
    "ayanamsa_value": 23.7260727,
    "julian_day": 2448119.10483,
    "ephemeris": "JPL DE440s",
    "node": "true",
    "timezone": {
      "source": "zone",
      "offset_hours": -4,
      "zone": "America/New_York",
      "abbreviation": "EDT",
      "dst": true,
      "dst_hours": 1,
      "ambiguous_resolved_by_fold": null,
      "note": "read from the IANA tz database at this instant, so daylight saving and historical offset changes are included"
    }
  },
  "ascendant": {
    "name": "Ascendant",
    "longitude": 169.934155,
    "sign": "Virgo",
    "sign_number": 6,
    "degree_in_sign": 19.934155,
    "degree_dms": "19 : 56 : 03",
    "house": 1,
    "nakshatra": "Hast",
    "nakshatra_lord": "Moon",
    "pada": 3,
    "speed": 0,
    "retrograde": false,
    "combust": false,
    "dignity": "n/a",
    "vargottama": false,
    "pushkara": {
      "navamsa": false,
      "navamsa_number": 6,
      "bhaga": false,
      "bhaga_degree": 9,
      "bhaga_by_element": false,
      "bhaga_degree_by_element": 14,
      "sources_agree": true,
      "orb_degrees": 1
    }
  },
  "positions": [
    {
      "name": "Sun",
      "longitude": 118.7753409,
      "sign": "Cancer",
      "sign_number": 4,
      "degree_in_sign": 28.7753409,
      "degree_dms": "28 : 46 : 31",
      "house": 11,
      "nakshatra": "Ashlesha",
      "nakshatra_lord": "Mercury",
      "pada": 4,
      "speed": 0.9610665,
      "retrograde": false,
      "combust": false,
      "dignity": "friend",
      "vargottama": false,
      "pushkara": {
        "navamsa": false,
        "navamsa_number": 9,
        "bhaga": false,
        "bhaga_degree": 8,
        "bhaga_by_element": false,
        "bhaga_degree_by_element": 7,
        "sources_agree": true,
        "orb_degrees": 1
      }
    },
    {
      "name": "Moon",
      "longitude": 54.5750352,
      "sign": "Taurus",
      "sign_number": 2,
      "degree_in_sign": 24.5750352,
      "degree_dms": "24 : 34 : 30",
      "house": 9,
      "nakshatra": "Mrigashira",
      "nakshatra_lord": "Mars",
      "pada": 1,
      "speed": 14.258194,
      "retrograde": false,
      "combust": false,
      "dignity": "mulatrikona",
      "vargottama": false,
      "pushkara": {
        "navamsa": false,
        "navamsa_number": 8,
        "bhaga": false,
        "bhaga_degree": 14,
        "bhaga_by_element": false,
        "bhaga_degree_by_element": 14,
        "sources_agree": true,
        "orb_degrees": 1
      }
    },
    {
      "name": "Mars",
      "longitude": 27.7149328,
      "sign": "Aries",
      "sign_number": 1,
      "degree_in_sign": 27.7149328,
      "degree_dms": "27 : 42 : 54",
      "house": 8,
      "nakshatra": "Krittika",
      "nakshatra_lord": "Sun",
      "pada": 1,
      "speed": 0.5753266,
      "retrograde": false,
      "combust": false,
      "dignity": "own sign",
      "vargottama": false,
      "pushkara": {
        "navamsa": true,
        "navamsa_number": 9,
        "bhaga": false,
        "bhaga_degree": 21,
        "bhaga_by_element": false,
        "bhaga_degree_by_element": 21,
        "sources_agree": true,
        "orb_degrees": 1
      }
    }
  ],
  "planetary_war": []
}

What to build, and what to get from the API

Your team builds

  • Your app's screens, sign-up and accounts
  • Payments and subscriptions
  • Reminders and push notifications
  • Your brand, your voice and your design

The API gives you

  • Planet positions and the 16 divisional charts
  • Dasha (planetary period) dates, transits and the panchang
  • Kundli matching and dosha (chart flaw) checks
  • Readings and a printable report, in plain English

Tips for going live

  • Make every call from your backend. A key shipped inside a mobile app can be pulled out of it.
  • Daily readings and transits change with the date, so ask for the date you show.
  • The API refuses a local time that happens twice when the clocks go back. Ask the user which one they mean, and send it as timezone_fold.
  • The monthly quota covers your whole account, so limit how often each user can start new calls.
A person holding a phone up to a starry night sky

What it costs

A horoscope app showing the 12 daily sign horoscopes uses 360 calls a month. Free or Starter with a link to us, or Growth without one.

Every plan can call every endpoint: calls for calculations, reading credits for written readings. Test keys are free on every plan, with 1,000 calls a month. Paid plans start at $29 a month, and failed requests are free.

See pricing

Try it free

See an answer first

  • Free kundli

    Your Vedic birth chart: the rising sign and all nine planets, with sign, house and nakshatra.

    Make my kundli

Features used here

Read next

From the blog

Common questions

All questions
How do we show daily horoscopes for all 12 signs?

Call GET /v1/rashi/{sign}/today once for each Moon sign, which is 12 calls a day for one city. These are Moon-sign horoscopes, and POST /v1/planets finds a user's Moon sign from their birth details.

About the horoscope API
What can we use for daily push notifications?

The API does not send notifications, so your app does that part. For the content, use POST /v1/reading/daily for each user's day. Use GET /v1/sky/events for planet sign changes and retrogrades (when a planet seems to move backward). For fasting days and festivals in the user's city, use GET /v1/vrats or GET /v1/festivals.

About the transit API
Can we sell a full report inside our app?

Yes. POST /v1/report returns the whole reading as one printable HTML page with no outside files. Users can save it as a PDF from any browser. You set its heading with the title parameter, and each report uses reading credits, not calls.

See a sample report
What can the app show users who do not know their birth time?

A full chart needs the birth time, because the rising sign and the houses depend on it. Without it, users can still get the Moon-sign horoscope if they know their Moon sign. Tara bala (a daily rating) works from their birth nakshatra, and matching from two nakshatras. The daily panchang needs only their city.

What a Moon sign is
Can users ask the app one question, such as about marriage or a new job?

Yes, with a question chart (prashna, or horary). Show the topics from GET /v1/prashna/topics, and send the user's pick to POST /v1/prashna. No birth details are needed. The answer gives a plain verdict, up to three reasons and an estimate of timing. Each answer uses 5 reading credits. The API stores nothing, so your app limits each person to one question per topic in 72 hours.

See the question chart endpoints
Can we show the readings under our own brand?

Yes. You may show API output to your users in your app with no credit to us. The report page has no logo or brand name of ours. The one exception: on the Free and Starter plans, a public page that publishes the daily sign horoscopes must link to us.

What you may do with API output
Which languages can an astrology app show readings in?

Readings come in English and Hindi. Send lang=hi for Hindi with a reading call. Names such as signs and nakshatras (birth stars) come in that language too. Where a passage has no version yet, the English one comes back, marked with fell_back_to_en, so your app can catch it.

Read the conventions

Astrology API

Start with a free test key

Create an account and a test key, then try each step above. Need more than the largest plan? Write to us.

Your first answer

John Doe, New York

POST /v1/planets200 OK
  • RisingVirgoHast
  • SunCancerAshlesha
  • MoonTaurusMrigashira
  • MarsAriesKrittika

Real API output. A free test key gets the same answer.

  1. 01

    Test key: 1,000 test calls a month to build with

  2. 02

    Free plan: 2,000 live calls a month, no card needed

  3. 03

    Open rules: every rule is published, so you can check any answer