Muhurta / electional astrology¶
Muhurta endpoints return astrological suitability signals for a proposed time or search window. They do not make guarantees. Use the scores as a decision-support layer alongside practical constraints.
The product-facing /score and /search endpoints use exact Panchanga
timing, Swiss Ephemeris transit Moon, and Swiss Ephemeris sidereal ascendant
inputs. Activity suitability rules are deterministic defaults and can evolve
behind a versioned method contract.
Activity types — GET /v1/vedic/muhurta/activity-types¶
Returns the supported intent taxonomy.
{
"activities": [
{"activity_type": "marriage", "title": "Marriage", "description": "Relationship and commitment beginnings."},
{"activity_type": "business", "title": "Business", "description": "Company, contract, and commercial starts."},
{"activity_type": "travel", "title": "Travel", "description": "Journeys and relocations."}
]
}
Supported activity_type values:
marriagebusinesstraveleducationpropertymedicalspiritual
Score one moment — POST /v1/vedic/muhurta/score¶
Scores one proposed datetime/location for one activity.
curl -X POST "https://api.astrolinkers.com/v1/vedic/muhurta/score" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"natal_chart_id": "01HKD…",
"activity_type": "business",
"proposed_at": "2026-05-31T12:00:00+05:30",
"latitude": 28.6139,
"longitude": 77.2090,
"timezone": "Asia/Kolkata"
}'
{
"natal_chart_id": "01HKD…",
"activity_type": "business",
"proposed_at": "2026-05-31T12:00:00+05:30",
"latitude": 28.6139,
"longitude": 77.209,
"timezone": "Asia/Kolkata",
"method_version": "muhurta-electional-v1",
"total_score": 6,
"label": "usable",
"is_excluded": false,
"components": [
{"name": "tarabala", "score": 3, "max_score": 3, "evidence": ["Tara group Sampat"]},
{"name": "chandrabala", "score": 2, "max_score": 2, "evidence": ["Transit Moon is 7 from natal Moon"]},
{"name": "panchanga_suitability", "score": 2, "max_score": 5, "evidence": ["Tithi 11 suits business"]},
{"name": "weekday_lord", "score": 0, "max_score": 3, "evidence": ["Day lord sun"]},
{"name": "kalam_exclusions", "score": 0, "max_score": 0, "evidence": ["No Rahu/Yamaganda/Gulika/Durmuhurtam exclusion is active"]},
{"name": "lagna", "score": 0, "max_score": 2, "evidence": ["Sidereal ascendant virgo"]}
],
"caution_windows": [],
"features_used": [
{"source": "natal_chart", "version": "chart-v1", "fields": ["planets.moon", "birth.moment"]},
{"source": "panchanga", "version": "panchanga-daily-v1", "fields": ["tithi", "nakshatra", "yoga", "rahu_kalam", "durmuhurtam"]},
{"source": "muhurta", "version": "muhurta-electional-v1", "fields": ["tarabala", "chandrabala", "activity_suitability", "lagna"]}
]
}
label is one of avoid, weak, usable, or favorable.
Search a window — POST /v1/vedic/muhurta/search¶
Scans [window_start, window_end) at interval_minutes and returns the
best-ranked candidates first. Candidates inside active caution windows
sort behind non-excluded candidates.
curl -X POST "https://api.astrolinkers.com/v1/vedic/muhurta/search" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"natal_chart_id": "01HKD…",
"activity_type": "business",
"window_start": "2026-05-31T09:00:00+05:30",
"window_end": "2026-05-31T17:00:00+05:30",
"latitude": 28.6139,
"longitude": 77.2090,
"timezone": "Asia/Kolkata",
"interval_minutes": 60,
"top_n": 5
}'
Response shape:
{
"natal_chart_id": "01HKD…",
"activity_type": "business",
"window_start": "2026-05-31T09:00:00+05:30",
"window_end": "2026-05-31T17:00:00+05:30",
"interval_minutes": 60,
"method_version": "muhurta-electional-v1",
"candidates": ["…same shape as /muhurta/score…"],
"features_used": ["…"]
}
Legacy optimizer — GET /v1/vedic/charts/{id}/muhurta¶
The older chart-scoped optimizer remains available. It returns the legacy response shape and ranks candidate moments by Tara + weekday lord, now using exact Panchanga timing for the candidate moment.