---
title: "Location Search"
method: GET
path: "/location/search"
---

# Location Search

`GET /location/search`

## Request

- Base URL: `https://jyotish-api.bda.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://jyotish-api.bda.ai/location/search`
- Auth: none declared

Public place search using the same candidate-confirmation contract.

This is the canonical system entry point for turning user text into
candidate locations. Callers must still use/confirm one returned candidate;
never silently pick an ambiguous city.

Transport: a place-search response carries up to 10 candidates × ~16 fields
each (~2.5–3 KB), and the dashboard birth-place autocomplete fires it
per-keystroke during onboarding, so the response is gzip-negotiated via the
audited ``_json_response_maybe_gzip`` helper. The DECOMPRESSED body is
byte-identical to the old ``return _with_meta(...)`` path (no contract,
field, or value change), and clients that do not advertise
``Accept-Encoding: gzip`` (or tiny payloads) get the unchanged JSON body.
Same proven transport-only pattern as #460/#461/#462/#463/#469/#470.

## Query parameters

- `q` string, required: Place name or address
- `country_hint` string, nullable: Optional ISO country hint, e.g. in, au, gb
- `limit` integer

## Response `200`

Successful Response

- unknown

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/bda/apis/bda-jyotish-panchang-service.md) · [All operations](https://skmtc.dev/bda/apis/bda-jyotish-panchang-service/llms.txt) · [OpenAPI document](https://skmtc.dev/bda/apis/bda-jyotish-panchang-service/revisions/90f241bf4009?raw)
