---
title: "Search auspicious Vedic windows with natal personalization (v2)"
method: POST
path: "/api/v2/vedic/muhurat/personalized-search"
tags: ["Vedic v2"]
---

# Search auspicious Vedic windows with natal personalization (v2)

`POST /api/v2/vedic/muhurat/personalized-search`

## Request

- Base URL: `https://api.freeastroapi.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.freeastroapi.com/api/v2/vedic/muhurat/personalized-search`
- Auth: none declared

Search public muhurat windows, then re-rank them for a specific birth chart.

The public candidate generation remains the same as /muhurat/search. This
endpoint adds natal Tara Bala and Chandra Bala scoring, plus Vehicle Purchase
fourth-house/Venus context when that purpose is requested.

## Request body

- VedicMuhuratPersonalizedSearchRequest
  - `purpose` string: Purpose for the search: general_work, vehicle_purchase, property_purchase, griha_pravesh, namkaran, or mundan.
  - `start_date` string, date, required: Inclusive local start date.
  - `end_date` string, date, required: Inclusive local end date. Maximum 31 days for v2 monthly search.
  - `city` string: City name (optional)
  - `lat` number, nullable: Latitude
  - `lng` number, nullable: Longitude
  - `tz_str` string: Timezone: AUTO, LMT, or standard (e.g. Europe/Berlin)
  - `ayanamsha` string: Ayanamsha
  - `language` string: Response language. Only English is currently supported.
  - `limit` integer: Maximum number of best windows to return.
  - `subject` RoutersV2VedicBaseChartRequest, required
    - `year` integer, required: Astronomical year of birth (0-2399; 0 = 1 BCE)
    - `month` integer, required: Month of birth (1-12)
    - `day` integer, required: Day of birth (1-31)
    - `hour` integer, required: Hour of birth (0-23)
    - `minute` integer, required: Minute of birth (0-59)
    - `second` integer: Second of birth (0-59)
    - `city` string: City name (optional)
    - `lat` number, nullable: Latitude
    - `lng` number, nullable: Longitude
    - `tz_str` string: Timezone: AUTO, LMT, or standard (e.g. Europe/Berlin)
    - `ayanamsha` string: Ayanamsha
    - `house_system` string: House system
    - `node_type` string: Node type (mean/true)
    - `reference_date` string, date, nullable: Reference date for transit-sensitive chart context, including Sade Sati. Defaults to today in timezone_used.
  - `child_context` VedicMundanChildContext
    - `is_first_child` boolean, nullable: Set true for first-child Mundan so first-child Jyeshtha month/nakshatra restrictions can be applied.
  - `strictness` string: Personalized election strictness for strict purposes: ruthless, traditional, or practical.
  - `search_mode` string: Search mode: range for the requested date range, or next_no_compromise for long-horizon ruthless Griha Pravesh search.
  - `scan_months` integer: Number of calendar months to scan when search_mode is next_no_compromise. Maximum 3 for synchronous API use.

## Response `200`

Successful Response

- VedicMuhuratSearchResponse
  - `purpose` string, required
  - `range` VedicMuhuratSearchRange, required
    - `start_date` string, required
    - `end_date` string, required
    - `day_count` integer, required
  - `best_windows` VedicMuhuratSearchWindow[], required
    - `date` string, required
    - `start` string, required
    - `end` string, required
    - `start_time` string, required
    - `end_time` string, required
    - `duration_minutes` number, required
    - `score` integer, required
    - `public_score` integer, nullable
    - `personal_score` integer, nullable
    - `quality` string, required
    - `reasons` string[], required
    - `warnings` string[]
    - `criteria` object
    - `source_periods` string[]
    - `best_moment` object, nullable
  - `best_moment` object, nullable
  - `no_compromise_moment` object, nullable
  - `acceptable_moments` object[]
  - `avoid_moments` object[]
  - `rejected_windows` object[]
  - `selection_explanation` object, nullable
  - `metadata` VedicMuhuratSearchMetadata, required
    - `endpoint_version` string, required
    - `ruleset_version` string, required
    - `ayanamsha` string, required
    - `timezone_used` string, required
    - `calculation_basis` string, required
    - `calculation_notes` string[]
    - `personalization_basis` string, nullable
    - `public_candidate_count` integer, nullable
    - `subject` object, nullable
    - `sampling_interval_minutes` integer, nullable
    - `strict_rejection_policy` boolean, nullable
    - `strictness` string, nullable
    - `strict_selection_status` string, nullable
    - `search_mode` string, nullable
    - `scan_months_requested` integer, nullable
    - `scanned_months` integer, nullable
    - `scanned_ranges` object[], nullable

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/freeastroapi/apis/astroservice-api.md) · [All operations](https://skmtc.dev/freeastroapi/apis/astroservice-api/llms.txt) · [OpenAPI document](https://skmtc.dev/freeastroapi/apis/astroservice-api/revisions/0c9b4a759522?raw)
