AstroNest — Vedic Astrology & Ephemeris
Measured conclusion: Deep-tested. L2 outcome: tools_ok.
Vedic astrology for AI agents: kundli, daśā, guna milan, life, venture and gem readings, ephemeris.
| Author | io.github.onedotlinks |
|---|---|
| Access | remote |
| Publisher key required | No |
| Measured state | Deep-tested |
| L1 liveness | alive |
| L1 latency | 2205 ms |
| Last measured | 2026-10-24 |
Add to your agent
Copy this into your MCP client config:
{
"mcpServers": {
"AstroNest — Vedic Astrology & Ephemeris": {
"url": "https://www.astronest.ai/api/developer/mcp",
"transport": "streamable-http"
}
}
}
Measured tools (21)
get_chartread-onlyUse this when the user wants their birth chart (kundli): ascendant, planets in signs and houses, yogas, the current planetary periods, or a divisional chart such as the navāṁśa (D9). Sidereal (Lahiri) chart: ascendant, the nine grahas, twelve houses, yogas and the Vimśottarī daśā. A modern Western block is added unless `western` is false. With `location`, also astrocartography lines at that place and the chart's own frame relocated there. Includes the D9 and D10 divisional charts by default; ask for any of the sixteen ṣoḍaśavarga with `divisionals`. Cost: 1 credit per call (only successful calls are charged; a sandbox key is free and returns a fixed sample). Deterministic: the same input always gives the same answer. Example arguments: {"birthData":{"date":"1990-05-12","time":"14:35","timezone":"Asia/Kolkata","latitude":28.6139,"longitude":77.209}}
Parameters:
birthData(required) — object — The person's birth data: date, local time (omit if unknown), IANA timezone, latitude and longitude.western— boolean — Set false to omit the modern Western block.location— object — Both coordinates or neither: a half-filled location is refused, never defaulted.divisionals— array — Divisional charts (vargas) to include: any of the sixteen ṣoḍaśavarga. Default d9 (navāṁśa) and d10 (daśāṁśa); send [] for none. Each returns its ascendant and every graha's sign, degree and house within the varga, by the Parāśari formulas.includeDasha— boolean — Include the Vimśottarī daśā periods in the chart response. Default true.
Hints: read-only yes · destructive no · idempotent yes · open-world no
get_dasharead-onlyUse this when the user asks which planetary period (daśā) they are in, when it ends, or which periods are coming. The current periods include the running pratyantardaśā; send depth 'pratyantardasha' for the full timeline at that level. Cost: 1 credit per call (only successful calls are charged; a sandbox key is free and returns a fixed sample). Deterministic: the same input always gives the same answer. Example arguments: {"birthData":{"date":"1990-05-12","time":"14:35","timezone":"Asia/Kolkata","latitude":28.6139,"longitude":77.209}}
Parameters:
birthData(required) — object — The person's birth data: date, local time (omit if unknown), IANA timezone, latitude and longitude.depth— string — Timeline depth. 'pratyantardasha' nests the pratyantardaśās under each antardaśā (about ten times larger). The current periods always include the running pratyantardaśā.
Hints: read-only yes · destructive no · idempotent yes · open-world no
get_guidanceread-onlyUse this when the user asks how to conduct themselves in the period they are in: what to do and what to take care with, each with its classical reason. Guidance, not prediction. Plain-language guidance cards for each running daśā level (mahādaśā, antardaśā, …) at `referenceDate` (default: now). Cost: 3 credits per call (only successful calls are charged; a sandbox key is free and returns a fixed sample). Deterministic: the same input always gives the same answer. Example arguments: {"birthData":{"date":"1990-05-12","time":"14:35","timezone":"Asia/Kolkata","latitude":28.6139,"longitude":77.209}}
Parameters:
birthData(required) — object — The person's birth data: date, local time (omit if unknown), IANA timezone, latitude and longitude.referenceDate— string — ISO date or datetime. Defaults to now.
Hints: read-only yes · destructive no · idempotent yes · open-world no
get_techniquesread-onlyUse this when the user or an astrologer asks for a specific classical computation — Ṣaḍbala, Aṣṭakavarga, Yoginī/Chara/Nārāyaṇa daśā, Varṣaphal, KP cusps, a named yoga, the birth pañcāṅga, Kuja doṣa, house lords and aspects — rather than for a reading. Pass `sections` to fetch only what is needed. The computed classical working for a chart, no model: Ṣaḍbala and bhāva bala (BPHS 27), Aṣṭakavarga with trikoṇa/ekādhipatya reduction and piṇḍas, the Aṣṭottarī, Kālacakra, Nārāyaṇa, Yoginī and Chara daśās with the periods running at `referenceDate`, the full Vimśottarī ladder, the Varṣaphal (Tājika annual chart) for the year running at `referenceDate`, KP cusps with sub-lords and ruling planets (labelled KP only when the KP frame was computed), classical and Nābhasa yogas, kārakāṁśa, argala, special lagnas, bhāva chalit, the natal pañcāṅga, house lords with graha dṛṣṭi, Kuja doṣa with its exceptions, and what would change under the Raman or KP ayanāṁśa. Each section is `{computed: true, data}` or `{computed: false, reason}` — a technique that cannot be computed for this chart (for example without a birth time) says why and the rest still return. No verdicts, scores or lifespan figures. Cost: 3 credits per call (only successful calls are charged; a sandbox key is free and returns a fixed sample). Deterministic: the same input always gives the same answer. Example arguments: {"birthData":{"date":"1990-05-12","time":"14:35","timezone":"Asia/Kolkata","latitude":28.6139,"longitude":77.209},"sections":["shadbala","dashas","panchanga"],"referenceDate":"2026-10-14T00:00:00Z"}
Parameters:
birthData(required) — object — The person's birth data: date, local time (omit if unknown), IANA timezone, latitude and longitude.sections— array — Return only these sections. Default: all.residence— object — Where the person lives; the Varṣaphal is cast for this place. Defaults to the birthplace.referenceDate— string — ISO date or datetime for the running periods and the Varṣaphal year. Defaults to now.
Hints: read-only yes · destructive no · idempotent yes · open-world no
get_prashnaread-onlyUse this when the user asks a specific question and wants it answered from the moment of asking rather than from a birth chart — "will this deal close?", "will I recover?", "will I find what I lost?" — or when a KP astrologer gives a horary number 1–249. Send where the user is as `place`; it is never defaulted. The chart of the moment and place a question is asked, read on the classical praśna rules, no model. Always: the praśna lagna and its lord, the Moon, the house of the matter asked about, the hand-encoded classical dicta that apply (recovery from illness for a health question; recovery of a lost article when the question names one), and the rules from the praśna books in the corpus that held on this chart, each with its book and the chart facts that made it hold. With `deal`: the deal praśna — significators (lagna lord = you, 7th = the other side, 10th = the undertaking, 11th = gain), their Tājika contacts, the grounds for and against, and an ordered verdict (perfects, perfects after obstacles, contested, delayed, delayed and contested, not perfected); add `birthData` for the natal commitment calendar beside it, never blended with it. With `horaryNumber` (1–249): the KP horary table — Placidus cusps in the Krishnamurti ayanāṁśa for the moment that sub rises, planets at the moment of judgment, sign/star/sub/sub-sub lords, and the ruling planets; no KP judgment is asserted. Rules about caste, prenatal sex or death timing are withheld and counted. Cost: 3 credits per call (only successful calls are charged; a sandbox key is free and returns a fixed sample). Deterministic: the same input always gives the same answer. Example arguments: {"place":{"latitude":28.6139,"longitude":77.209,"timezone":"Asia/Kolkata","label":"New Delhi"},"askedAt":"2026-10-14T10:30:00+05:30","question":"Will the supply contract with Northwind be signed?","deal":{"label":"Northwind supply contract","kind":"contract","signingDate":"2026-11-02"},"birthData":{"date":"1990-05-12","time":"14:35","timezone":"Asia/Kolkata","latitude":28.6139,"longitude":77.209},"horaryNumber":108}
Parameters:
place(required) — object — Where the question is asked. Required: a praśna cast at the wrong longitude is a different chart.deal— object — Read the question as one deal (the deal praśna).domain— string — What the question is about: picks the house of the matter and scopes the book rules. With a deal and no domain, the deal's own.askedAt— string — The instant the question was asked, ISO 8601 with Z or an offset. Default: now. Send this or askedAtLocal, not both.question— string — The question in the user's words. Gates the lost-article dictum; it does not choose the domain.birthData— object — Only with `deal`, and with a birth time: the querent's natal commitment calendar is set beside the praśna for the signing date.askedAtLocal— string — The wall clock at the place when the question was asked, YYYY-MM-DDTHH:mm, read in place.timezone.horaryNumber— integer — A KP horary number: adds the KP horary table.
Hints: read-only yes · destructive no · idempotent yes · open-world no
interpret_domainread-onlyUse this when the user asks what their chart says about one area of life (career, marriage, finance, health, property, children, education, travel, legal and others) and a reproducible verdict with its reasons and sources is wanted. Prefer it to get_forecast when no written narrative is needed. Deterministic reading of one life area: the verdict, the factors for and against it, timing windows, whether the engine's own methods agree, and the classical books the reading draws on. Every layer is declared as present, computed_empty, not_covered or failed, so nothing is silently missing. No language model is called: the same chart always gets the same reading. Cost: 5 credits per call (only successful calls are charged; a sandbox key is free and returns a fixed sample). Deterministic: the same input always gives the same answer. Example arguments: {"birthData":{"date":"1990-05-12","time":"14:35","timezone":"Asia/Kolkata","latitude":28.6139,"longitude":77.209},"domain":"career"}
Parameters:
birthData(required) — object — The person's birth data: date, local time (omit if unknown), IANA timezone, latitude and longitude.domain(required) — string — Life area to read, e.g. career, marriage, finance or health.
Hints: read-only yes · destructive no · idempotent yes · open-world no
get_life_readingread-onlyUse this when the user wants their life as a whole: which life areas (marriage, children, career, business, money, property, family, travel, education, spirituality, health) are in focus when, across past and future, and where life stands now. The life's chapters (each mahādaśā in plain words, with dates and ages) and eleven life areas, each with the planets that govern it on this chart, every governing period past and future with why that planet governs it — each marked `primary` (the area is in focus) or `also` (the period only touches it) — and what is in focus now and next. Past periods are included, so the reading can be tested against a life already lived; send `recorded` events to place them on the timeline. Health is read only as periods to give extra care, never as illness or lifespan. Deterministic: no language model is called. The birth time is required. The full reading is large; pass `areas` to return only the life areas you need. Cost: 10 credits per call (only successful calls are charged; a sandbox key is free and returns a fixed sample). Deterministic: the same input always gives the same answer. Example arguments: {"birthData":{"date":"1990-05-12","time":"14:35","timezone":"Asia/Kolkata","latitude":28.6139,"longitude":77.209},"areas":["career","relationship"],"recorded":[{"type":"job_start","date":"2012-07-01","certainty":"exact"},{"type":"marriage","date":"2018-11-25","certainty":"exact"}]}
Parameters:
birthData(required) — object — The person's birth data. The time is required: every period depends on the rising sign.areas— array — Optional: only these life areas (default all eleven). The full reading is large, so an AI agent answering about one area should pass it here.recorded— array — Optional dated life events to place on the timeline.
Hints: read-only yes · destructive no · idempotent yes · open-world no
get_domain_timelineread-onlyUse this when the user asks about one area of life — when marriage, children, career, money, property or another area is in focus, or what a given stretch of years holds for it. One life area across the whole life: the planets that govern it on this chart, every period that bears on it (past and future, with dates, ages and why that planet governs it), each marked `primary` when the area is in focus or `also` when the period only touches it, and what is in focus now and next, in plain words. Pass `window` to get only the periods that overlap a date range. It is the same reading as the whole-life reading, cut to one area, so the two never disagree. Health is read only as periods to give extra care, never as illness or lifespan. Deterministic: no language model is called. The birth time is required. Cost: 3 credits per call (only successful calls are charged; a sandbox key is free and returns a fixed sample). Deterministic: the same input always gives the same answer. Example arguments: {"birthData":{"date":"1990-05-12","time":"14:35","timezone":"Asia/Kolkata","latitude":28.6139,"longitude":77.209},"area":"relationship","window":{"from":"2026-01-01","to":"2031-12-31"}}
Parameters:
birthData(required) — object — The person's birth data. The time is required: every period depends on the rising sign.area(required) — string — The life area.window— object — Optional: only periods overlapping this date range (YYYY-MM-DD). Default: the whole life.
Hints: read-only yes · destructive no · idempotent yes · open-world no
get_relationship_readingread-onlyUse this when the user asks how two people get on in a bond other than marriage — business partners, siblings, a parent and child, or friends. Reads the bond the way the classical method reads it: the houses that govern this kind of bond and their lords in each chart, the natural significators, whose planets fall in whose governing houses, and whether that reach runs both ways, plus the running periods in each chart that engage the bond. A bond meter (strong tie, workable or strained) is computed by a stated convention and returned with every point it is built from; it is not a classical score, since the texts give no arithmetic for a business or sibling match. Deterministic: no language model is called. Both birth times are required. For marriage, use the compatibility tool. Cost: 8 credits per call (only successful calls are charged; a sandbox key is free and returns a fixed sample). Deterministic: the same input always gives the same answer. Example arguments: {"type":"business","a":{"date":"1990-05-12","time":"14:35","timezone":"Asia/Kolkata","latitude":28.6139,"longitude":77.209,"name":"A"},"b":{"date":"1991-11-03","time":"06:10","timezone":"Asia/Kolkata","latitude":19.076,"longitude":72.8777,"name":"B"}}
Parameters:
type(required) — string — The bond. For marriage, call /v1/compatibility.a(required) — First person: birth data (time required) plus optional name.b(required) — Second person: birth data (time required) plus optional name.
Hints: read-only yes · destructive no · idempotent yes · open-world no
get_venture_timingread-onlyUse this when the user asks when to start, launch, sign, borrow or expand a business, or which line of business their chart supports. A calendar of the coming months in four labels — commit (sign, open, launch), build (keep building; commit only what can be undone), guarded (low fixed cost; no lease, no borrowing) and hold (no new fixed commitments) — each window with the daśā period running and the slow transits of Saturn and Jupiter over it, and the reasons. Describe the businesses being weighed in `ventures` and each is ranked on how strongly the chart supports it and whether the coming periods carry it, with the grounds, its best coming period, and a caution when it needs premises during a hold; name none and the full catalogue of business types is ranked. A ranking of chart support, never a probability of success. Deterministic: no language model is called. The birth time is required. Cost: 10 credits per call (only successful calls are charged; a sandbox key is free and returns a fixed sample). Deterministic: the same input always gives the same answer. Example arguments: {"birthData":{"date":"1990-05-12","time":"14:35","timezone":"Asia/Kolkata","latitude":28.6139,"longitude":77.209},"ventures":["software and data platform for businesses","a restaurant in a leased storefront","OneDot"],"months":36}
Parameters:
birthData(required) — object — The person's birth data. The time is required: every period depends on the rising sign.months— integer — How far ahead the calendar runs, and the horizon each venture's period support is averaged over.ventures— array — Optional: the businesses being weighed, each described by what it does ("software for accountants", "a café with a leased storefront"). A brand name alone cannot be placed and is returned as unclassified. Omit to rank the whole catalogue.
Hints: read-only yes · destructive no · idempotent yes · open-world no
assess_gemstoneread-onlyUse this when the user asks whether they should wear a particular gemstone (blue sapphire, emerald, pukhraj, a crystal), or whether a stone they wear suits their chart. Answers the prescription, not the future: which planet the stone strengthens, what that planet owns from this ascendant, whether a classical rule (a dusthāna or kendrādhipati lordship, a māraka) argues against strengthening it, and whether the reason is permanent or lasts only as long as the running period. Returns a verdict — well_founded, period_bound, no_ground, contraindicated or unrecognised — with every ground for and against, the planet's capacity at its degree, when the chart puts the planet in scope, the stones the sources hold apart from it (checked against `alsoWearing`), and wearing detail (finger, metal, day, weight, with the book it comes from) only when the chart gives a reason to wear it. When the source states a caution about the stone, the response says so and names the book. A word that covers several stones ("sapphire") is answered with the candidates. Nothing here predicts what a stone does. Deterministic: no language model is called. The birth time is required. Cost: 5 credits per call (only successful calls are charged; a sandbox key is free and returns a fixed sample). Deterministic: the same input always gives the same answer. Example arguments: {"birthData":{"date":"1990-05-12","time":"14:35","timezone":"Asia/Kolkata","latitude":28.6139,"longitude":77.209},"gem":"blue sapphire","alsoWearing":["ruby"]}
Parameters:
birthData(required) — object — The person's birth data. The time is required: every period depends on the rising sign.gem(required) — string — One stone, in English or by its Indian name: "yellow sapphire", "pukhraj", "emerald", "moonstone".alsoWearing— array — Optional: stones already worn. When the chart puts the planet in scope, a pairing the sources hold apart is reported as a conflict.
Hints: read-only yes · destructive no · idempotent yes · open-world no
get_compatibilityread-onlyUse this when the user asks whether two people are a good match for marriage and wants the full reading, not only a score. For the fast 36-point score with Manglik alone, use get_guna_milan. Both charts read together for marriage. The 36-point Aṣṭakūṭa (guna milan) is one input: the verdict names the governing factor and says when it outweighs the score. Also returned: each chart's marital promise, sustainability and happiness, progeny, Manglik reckoned from the lagna, the Moon and Venus with mutual cancellation, a joint marriage-timing window, synastry, and caveats where an uncertain birth time would change the reading. Deterministic: no language model is called. Each partner is a BirthData object plus optional `name` and `gender`. Cost: 12 credits per call (only successful calls are charged; a sandbox key is free and returns a fixed sample). Deterministic: the same input always gives the same answer. Example arguments: {"a":{"date":"1990-05-12","time":"14:35","timezone":"Asia/Kolkata","latitude":28.6139,"longitude":77.209,"name":"A"},"b":{"date":"1991-11-03","time":"06:10","timezone":"Asia/Kolkata","latitude":19.076,"longitude":72.8777,"name":"B"}}
Parameters:
a(required) — First partner: birth data plus optional name and gender.b(required) — Second partner: birth data plus optional name and gender.referenceDateIso— string — ISO date the reading is anchored to. Defaults to now.
Hints: read-only yes · destructive no · idempotent yes · open-world no
get_guna_milanread-onlyUse this when the user asks for the guna milan / kundli matching score (out of 36), or whether either person is Manglik. The classical Aṣṭakūṭa match for a pair (all eight kūṭas, with the Bhakoot and Nāḍī doṣas) and Manglik for both charts reckoned from the lagna, the Moon and Venus, with mutual cancellation. The same engine as /v1/compatibility, without the full reading: the score is one input, and /v1/compatibility reads each chart's marital promise, timing and doṣas on top of it. Deterministic, no language model. Cost: 2 credits per call (only successful calls are charged; a sandbox key is free and returns a fixed sample). Deterministic: the same input always gives the same answer. Example arguments: {"a":{"date":"1990-05-12","time":"14:35","timezone":"Asia/Kolkata","latitude":28.6139,"longitude":77.209,"name":"A"},"b":{"date":"1991-11-03","time":"06:10","timezone":"Asia/Kolkata","latitude":19.076,"longitude":72.8777,"name":"B"}}
Parameters:
a(required) — First partner: birth data plus optional name and gender.b(required) — Second partner: birth data plus optional name and gender.
Hints: read-only yes · destructive no · idempotent yes · open-world no
find_muhurtaread-onlyUse this when the user asks for an auspicious date or time (muhūrta) to do something, such as a wedding, launch, move or purchase, within a date range at a given place. Scans each day in the range and ranks windows for the subject. The pañcāṅga is computed for `eventPlace`, never defaulted to the birthplace. Cost: 10 credits per call (only successful calls are charged; a sandbox key is free and returns a fixed sample). Deterministic: the same input always gives the same answer. Example arguments: {"subject":{"date":"1990-05-12","time":"14:35","timezone":"Asia/Kolkata","latitude":28.6139,"longitude":77.209},"eventPlace":{"latitude":19.076,"longitude":72.8777,"timezone":"Asia/Kolkata","label":"Mumbai"},"freeText":"signing a lease","rangeStart":"2026-11-01","rangeEnd":"2026-11-15"}
Parameters:
subject(required) — object — Birth data of the person the event is for; windows are ranked against their chart.eventPlace(required) — object — Where the event will happen: latitude, longitude and IANA timezone. The pañcāṅga is computed here, never at the birthplace.rangeStart(required) — string — First date to search, YYYY-MM-DD.rangeEnd(required) — string — Last date to search, YYYY-MM-DD.topN— integer — How many ranked windows to return. Default 5.eventId— string — Event type identifier, if known.freeText— string — The event described in words, when there is no eventId.timeOfDay— string — Local time (HH:MM) at which each day is evaluated. Default: local sunrise.subjectName— string — Optional name of the subject, used only in the response text.
Hints: read-only yes · destructive no · idempotent yes · open-world no
get_forecastread-onlyUse this when the user asks an open question about what lies ahead in one area of life and wants a written answer. It takes tens of seconds; for a fast, structured verdict use interpret_domain. The interpret verdict for `domain`, voiced as a narrative answer to `question` by a language model grounded in the classical statements for the domain. Expect tens of seconds; set a client timeout of at least 90 s. Cost: 8 credits per call (only successful calls are charged; a sandbox key is free and returns a fixed sample). Voiced by a language model: allow up to 90 seconds. Example arguments: {"birthData":{"date":"1990-05-12","time":"14:35","timezone":"Asia/Kolkata","latitude":28.6139,"longitude":77.209},"domain":"career","question":"How will the next year unfold for my work?"}
Parameters:
birthData(required) — object — The person's birth data: date, local time (omit if unknown), IANA timezone, latitude and longitude.domain(required) — string — Life area the question is about, e.g. career, marriage, finance or health.question(required) — string — The question in plain language, e.g. "What does the next year hold for my career?"
Hints: read-only yes · destructive no · idempotent no · open-world no
resolve_timingread-onlyUse this when the user asks whether now, or a particular date or range, is a good time for a decision such as changing jobs, marrying or investing. It takes tens of seconds. The interpret verdict for `domain`, voiced by a language model as an answer to a decision `question`, read at `targetDate` (or the start of `dateRange`, or today when neither is sent): the verdict, the running daśā and eventTiming are taken at that day. A malformed or pre-birth date is refused with 400 (`invalid_target_date`, `invalid_date_range`). Expect tens of seconds; set a client timeout of at least 90 s. Cost: 7 credits per call (only successful calls are charged; a sandbox key is free and returns a fixed sample). Voiced by a language model: allow up to 90 seconds. Example arguments: {"birthData":{"date":"1990-05-12","time":"14:35","timezone":"Asia/Kolkata","latitude":28.6139,"longitude":77.209},"domain":"career","question":"Should I accept the offer?","targetDate":"2026-11-15"}
Parameters:
birthData(required) — object — The person's birth data: date, local time (omit if unknown), IANA timezone, latitude and longitude.domain(required) — string — Life area the decision is about, e.g. career, marriage, finance or health.question(required) — string — The decision question in plain language, e.g. "Is this a good time to change jobs?"dateRange— object — Optional period the decision is about: start and end dates, YYYY-MM-DD. The verdict is read at `start`; `end` must not precede it.targetDate— string — Optional date the decision is about, YYYY-MM-DD. The verdict is read at this day. Takes precedence over `dateRange`.
Hints: read-only yes · destructive no · idempotent no · open-world no
get_ephemeris_positionsread-onlyUse this when you need where the Sun, Moon and planets are at a moment (sidereal or tropical), not a reading. Sun, Moon, planets and lunar nodes at one moment: longitude, latitude, distance, speed and retrograde flag, with sign, and nakṣatra and pada when sidereal. `equatorial: true` adds apparent right ascension and declination. Cost: 0.1 credit per call, billed as 1 credit per started block of 10 Ephemeris calls (only successful calls are charged; a sandbox key is free and returns a fixed sample). Deterministic: the same input always gives the same answer. Example arguments: {"datetime":"2026-10-06T06:00:00Z","bodies":["Sun","Moon","Mars","Jupiter","Saturn","TrueNode"],"zodiac":"sidereal","ayanamsa":"lahiri"}
Parameters:
datetime(required) — string — ISO 8601 with Z or an explicit offset, between 1800-01-02 and 2149-12-31 UTC. A time without a zone is refused (invalid_datetime).bodies— array — Default: all twelve.zodiac— string — sidereal (default) or tropical.ayanamsa— string — Sidereal only.equatorial— boolean — Also return apparent right ascension and declination. Default false.
Hints: read-only yes · destructive no · idempotent yes · open-world no
get_ephemeris_anglesread-onlyUse this when you need the ascendant, midheaven or house cusps for a moment and place. Ascendant, midheaven and twelve cusps for a moment and place. Placidus is undefined beyond the polar circles at some moments; the call then returns 422 houses_undefined_at_latitude. Cost: 0.1 credit per call, billed as 1 credit per started block of 10 Ephemeris calls (only successful calls are charged; a sandbox key is free and returns a fixed sample). Deterministic: the same input always gives the same answer. Example arguments: {"datetime":"1990-05-12T14:35:00+05:30","latitude":28.6139,"longitude":77.209,"houseSystem":"placidus"}
Parameters:
datetime(required) — string — ISO 8601 with Z or an explicit offset, between 1800-01-02 and 2149-12-31 UTC. A time without a zone is refused (invalid_datetime).latitude(required) — number — Geographic latitude in decimal degrees, north positive.longitude(required) — number — East positive.zodiac— string — sidereal (default) or tropical.ayanamsa— string — Sidereal only.houseSystem— string — House system for the cusps: whole_sign (default), equal or placidus.
Hints: read-only yes · destructive no · idempotent yes · open-world no
get_ephemeris_ayanamsaread-onlyUse this when you need an ayanamsa value (Lahiri, Raman, Krishnamurti, Fagan–Bradley) at a moment. Lahiri, Raman, Krishnamurti and Fagan–Bradley (mean, without nutation) at a moment. Cost: 0.1 credit per call, billed as 1 credit per started block of 10 Ephemeris calls (only successful calls are charged; a sandbox key is free and returns a fixed sample). Deterministic: the same input always gives the same answer. Example arguments: {"datetime":"2026-10-06T00:00:00Z"}
Parameters:
datetime(required) — string — ISO 8601 with Z or an explicit offset, between 1800-01-02 and 2149-12-31 UTC. A time without a zone is refused (invalid_datetime).
Hints: read-only yes · destructive no · idempotent yes · open-world no
get_ephemeris_sunriseread-onlyUse this when you need sunrise and sunset for a date and place, or where the Vedic day begins. Sunrise, sunset and the next sunrise for a local date and place: upper limb at the sea-level horizon with 36.6′ refraction. The Vedic day runs from sunrise to the next sunrise. Cost: 0.1 credit per call, billed as 1 credit per started block of 10 Ephemeris calls (only successful calls are charged; a sandbox key is free and returns a fixed sample). Deterministic: the same input always gives the same answer. Example arguments: {"date":"2026-10-06","timezone":"Asia/Kolkata","latitude":28.6139,"longitude":77.209}
Parameters:
date(required) — string — Local calendar date, YYYY-MM-DD.timezone(required) — string — IANA name, e.g. Asia/Kolkata. Defines the local day.latitude(required) — number — Geographic latitude in decimal degrees, north positive.longitude(required) — number — East positive.
Hints: read-only yes · destructive no · idempotent yes · open-world no
get_ephemeris_seriesread-onlyUse this when you need planetary positions across a range of dates, for a transit table or to find when a planet changes sign or stations. Positions from start to end (inclusive) every stepMinutes, for transit tables and station finding. At most 1,000 points (too_many_points beyond). A 365-point daily table costs 4 credits. Cost: 1 credit per started 100 points (only successful calls are charged; a sandbox key is free and returns a fixed sample). Deterministic: the same input always gives the same answer. Example arguments: {"start":"2026-10-01T00:00:00Z","end":"2026-10-10T00:00:00Z","stepMinutes":1440,"bodies":["Mercury","Venus"]}
Parameters:
start(required) — string — ISO 8601 with Z or an explicit offset, between 1800-01-02 and 2149-12-31 UTC. A time without a zone is refused (invalid_datetime).end(required) — string — ISO 8601 with Z or an explicit offset, between 1800-01-02 and 2149-12-31 UTC. A time without a zone is refused (invalid_datetime).stepMinutes(required) — integer — Minutes between points (1 to 525,600). At most 1,000 points per call.bodies— array — Default: all twelve.zodiac— string — sidereal (default) or tropical.ayanamsa— string — Sidereal only.
Hints: read-only yes · destructive no · idempotent yes · open-world no
Measured by MCPYP probing. Untested fields are omitted, never estimated. Listing is always free; MCPYP never proxies calls or stores user tokens.