POST/v1/prayertimes

Get Prayer Times

The primary endpoint. Pass a GPS coordinate and date, and it returns prayer times with full provenance — which authority was used, whether data is official or calculated, and the Hijri date. Automatically resolves the nearest official zone.

Parameters

NameTypeRequiredDescription
latnumberrequiredLatitude (-90 to 90)
lngnumberrequiredLongitude (-180 to 180)
normalizeCoordinatesbooleanoptional (false)Normalize out-of-range coordinates when true; otherwise return 422 INVALID_COORDINATES
datestringrequiredDate in YYYY-MM-DD format
tzIdstringoptionalIANA timezone (auto-detected from zone if omitted)
preferstringoptional (allow_fallback)Data preference strategy
tzFallbackstringoptional (STRICT)Timezone fallback policy
preferZonestringoptionalOverride automatic zone resolution with a specific zone ID
debugbooleanoptional (false)Include debug info in response
altitudeMetersnumberoptional (0)Altitude in meters for more precise calculations
madhabstringoptionalForce a specific juristic rule for Asr (Shafi/Standard or Hanafi)

Req Configuration

Code Example

curl -X POST "/v1/prayertimes" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: " \
  -d '{
  "lat": 3.1579,
  "lng": 101.7123,
  "normalizeCoordinates": false,
  "date": "2026-03-07",
  "tzId": "Asia/Kuala_Lumpur",
  "prefer": "allow_fallback",
  "tzFallback": "STRICT",
  "preferZone": "WLY01",
  "debug": false,
  "altitudeMeters": 0,
  "madhab": "{madhab}"
}'

Try It

Response

Example Response
{
  "tzIdUsed": "Asia/Kuala_Lumpur",
  "utcOffsetUsed": 480,
  "timezoneResolutionMethod": "resolved_from_latlng",
  "timezoneSource": "resolved_from_latlng",
  "localDateUsed": "2026-02-19",
  "zoneSource": "official_authority_zone",
  "zoneBoundaryAdminLevel": null,
  "uniformWithinZone": false,
  "zoneReferencePointUsed": null,
  "mode": "harvested_official",
  "resultIsOfficial": true,
  "fallbackLevel": "harvested_official",
  "methodAuthority": "official_authority",
  "methodOriginCountry": "MYS",
  "methodOriginRegion": null,
  "fallbackReason": "Official harvested timetable found from national authority.",
  "selectionPath": [
    "ADM0:MYS:POLYGON",
    "tzId:ASIA/KUALA_LUMPUR:RESOLVED_FROM_LATLNG",
    "ZoneSource:OFFICIAL_AUTHORITY_ZONE",
    "Profile:OFFICIAL_MYS",
    "BaseMethod:JAKIM",
    "Anomaly:NORMAL",
    "HighLatitudeStrategy:NONE",
    "Mode:HARVESTED_OFFICIAL"
  ],
  "methodUsed": {
    "id": "jakim",
    "name": "Jabatan Kemajuan Islam Malaysia",
    "source": "official_verified",
    "version": "registry-v1",
    "highLatitudeHandlingApplied": null,
    "params": {
      "fajrAngle": 20,
      "ishaAngle": 18,
      "ishaOffsetMinutes": null,
      "asrRule": "shafi",
      "highLatitudeRule": null,
      "dhuhrOffsetMinutes": 0,
      "maghribOffsetMinutes": 0,
      "imsakOffsetMinutes": 0,
      "roundingPolicy": "nearest_minute",
      "precautionMinutes": 0
    }
  },
  "recommendedMethod": {
    "id": "jakim",
    "name": "Jabatan Kemajuan Islam Malaysia",
    "source": "official_verified",
    "version": "registry-v1",
    "highLatitudeHandlingApplied": null,
    "params": {
      "fajrAngle": 20,
      "ishaAngle": 18,
      "ishaOffsetMinutes": null,
      "asrRule": "shafi",
      "highLatitudeRule": null,
      "dhuhrOffsetMinutes": 0,
      "maghribOffsetMinutes": 0,
      "imsakOffsetMinutes": 0,
      "roundingPolicy": "nearest_minute",
      "precautionMinutes": 0
    }
  },
  "times": {
    "zone_id": "WLY01",
    "date": "2026-02-19",
    "fajr": "06:18",
    "sunrise": "07:25",
    "dhuhr": "13:30",
    "asr": "16:48",
    "maghrib": "19:29",
    "isha": "20:39",
    "imsak": "06:08",
    "dhuha": "07:50",
    "hijriYear": 1447,
    "hijriMonth": 9,
    "hijriDay": 1
  },
  "location": {
    "lat": 3.1579,
    "lng": 101.7123,
    "tzId": "Asia/Kuala_Lumpur",
    "iso3": "MYS",
    "zoneId": "WLY01",
    "zoneName": "Kuala Lumpur, Putrajaya",
    "zoneSource": "official_authority_zone",
    "uniformWithinZone": false,
    "zoneReferencePointUsed": null,
    "region": "WLY",
    "distanceKm": 0
  },
  "officialRule": {
    "mode": "harvested_from_official_authority",
    "authority": {
      "id": "jakim",
      "name": "Jabatan Kemajuan Islam Malaysia"
    },
    "resultIsOfficial": true,
    "params": {
      "fajrAngle": 20,
      "ishaAngle": 18
    }
  },
  "provenance": {
    "type": "official",
    "sourceKind": "harvested_from_official_authority",
    "authority": "Jabatan Kemajuan Islam Malaysia"
  },
  "highLatitudeStrategyUsed": null,
  "referenceType": null,
  "referenceLatitudeUsed": null,
  "referenceLongitudeUsed": null,
  "referenceLocationName": null,
  "referenceRule": null,
  "hijriDate": {
    "day": 1,
    "month": 9,
    "year": 1447,
    "monthNameArabic": "رَمَضَان",
    "monthNameEnglish": "Ramadan"
  },
  "juristic_settings": {
    "applied_rule": "Shafi'i",
    "calculation_basis": "Shadow Ratio 1:1",
    "source": "country_default"
  },
  "warnings": []
}