Skip to content
Healers World
Shop Cart RareU
DOCUMENTATION / V1

Your first temple request.

Authenticate on your server. Receive structured JSON. Keep source and photo credits with your content.

Download OpenAPI specification ↓

01 / Quick start

Subscribe, then create a key in your API dashboard. The full key is shown once. Store it in your server’s environment variables.

curl 'https://www.healersworld.in/api/v1/temples?category=shiva&limit=3' \
  -H "Authorization: Bearer $TEMPLE_API_KEY" \
  -H 'Accept: application/json'
Python example
import os, requests
response = requests.get(
    "https://www.healersworld.in/api/v1/temples",
    params={"category": "shiva", "limit": 3},
    headers={"Authorization": "Bearer " + os.environ["TEMPLE_API_KEY"]},
    timeout=20,
)
response.raise_for_status()
temples = response.json()["items"]
Node.js example (server only)
const response = await fetch(
  'https://www.healersworld.in/api/v1/temples?category=shiva',
  { headers: { Authorization: `Bearer ${process.env.TEMPLE_API_KEY}` } }
);
if (!response.ok) throw new Error(`Temple API: ${response.status}`);
const data = await response.json();

Use the Authorization: Bearer header. Keys in URLs, cookies or browser JavaScript are not supported. Cross-origin browser requests are not supported; use your own backend.

02 / Endpoints

Method / pathReturns
GET /api/v1/templesPaginated temple summaries
GET /api/v1/temples/metaCoverage totals, states, deity names and category counts
GET /api/v1/temples/{slug-or-id}Full record, sources and visit information

Example record: /api/v1/temples/kashi-vishwanath-temple. Stable record IDs, including Wikidata IDs where available, are also accepted. All endpoints require a key and use the same plan allowance.

03 / Search & filters

ParameterBehavior
qName, alias, location, description or deity. Maximum 100 characters.
categoryshiva, hanuman, ram, krishna, vishnu, ganesha, devi, surya
state / deityExact case-insensitive names returned by /meta.
reviewed=1Only guides with additional reviewed visitor information.
page / limitPage starts at 1. Default 12 records, maximum 24. Out-of-range pages resolve to the last page.
sortfeatured (default), name, or nearby with coordinates.
lat / lon / radiusBoth coordinates required. Radius 1–2,000 km; default 100. Nearby results sort by distance.

Combine filters with &. Detail and metadata endpoints do not accept filters. Unsupported, duplicate or malformed parameters return 400.

04 / Response fields

{
  "items": [{
    "id": "Q...",
    "slug": "temple-slug",
    "name": "Temple name",
    "state": "State name",
    "area": "Town or locality",
    "deities": ["Shiva"],
    "categories": ["shiva"],
    "coordinates": {"lat": 25.31, "lon": 83.01},
    "image": null,
    "reviewStatus": "source-listed"
  }],
  "total": 28, "page": 1, "limit": 12,
  "pages": 2, "hasNext": true,
  "schemaVersion": "1.0", "updatedAt": "2026-10-04"
}

Illustrative excerpt; values are shortened. Summary records also include a description and review date. Full detail records add officialWebsite, history, visit, sources and rights. Missing information is null or an empty list. An image, when available, includes url, credit, license, licenseUrl and sourceUrl. Preserve them together.

05 / Usage, limits & errors

Each successful HTTP 200 response counts as one request, including empty results and /meta. Errors do not consume the monthly allowance. All keys in an account share the subscription allowance and per-minute limit. A verified renewal begins a new allowance; unused requests do not roll over.

Response headers: X-Quota-Limit, X-Quota-Remaining, X-Quota-Reset, X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset. Reset values are Unix timestamps in seconds. A 429 includes Retry-After in seconds.

StatusMeaning
400Invalid filters or request
401Missing, invalid or revoked API key
403No paid current subscription cycle
404Temple not found
429Monthly allowance or per-minute limit reached
503Access verification temporarily unavailable; retry later
{"code":"quota_exceeded","error":"Request allowance used..."}

06 / Build for real users

  • Set request timeouts. Back off for 429 and 503; do not retry invalid credentials.
  • Keep API keys on your server, out of source control and client apps. Revoke a compromised key in your dashboard.
  • Cache records in your application for up to 24 hours to reduce requests. API responses themselves are private and not publicly cached.
  • Handle missing fields and failed remote photographs gracefully.
  • Check source dates and direct visitors to official temple channels for changing rules and schedules.
  • Billing is rechecked on API use at least every five minutes and when a paid cycle ends. If billing cannot be verified, access fails closed with 503. The collection has no promised update interval or uptime SLA. Data additions may appear within v1; ignore unknown JSON fields.

The old unauthenticated v1 preview is now subscription-protected. The website’s internal browsing routes are not the commercial API contract.

Data rights & attribution →