City search
Search 325 curated cities by name in English, Arabic, Farsi, or Urdu — returns coordinates and timezone for use with the prayer-times service.
GET https://theshia.org/api/v1/cities
Parameters
-
qrequired search text in English, Arabic, Farsi or Urdu (script variants like ك/ک and ي/ی are normalized).
- Response: up to 10 matches [ { id, names {en,ar,fa,ur}, country, lat, lng, tz } ] — pass id as prayer-times' city.
All 325 city values
abadanabu-dhabiabujaaddis-ababaadelaideadenahmedabadahvazal-ahsaaleppoalexandriaalgiersaligarhalmatyamarahammanamolamsterdamankaraarakardabilashgabatastanaathensatlantaaucklandaustinbaalbekbabolbaghdadbahawalpurbakubaladbaltimorebambamyanbandar-abbasbandar-e-anzalibangalorebaqubahbarcelonabasrabeijingbeirutbelgradeberlinbirjandbirminghambishkekblackburnbojnordboltonbordeauxborujerdbostonbradfordbrisbanebrusselsbucharestbudapestbuenos-airesbuffalobukharabursabushehrcairocalgarycape-towncaracascardiffcasablancachabaharcharlottechennaichicagochittagongclevelandcolognecolumbuscopenhagencoventrydakardallasdamascusdammamdar-es-salaamdearborndelhidenverdetroitdezfuldhakadiwaniyahdohadubaidublinduhokdurbandushanbedusseldorfedinburghedmontonerbilfaisalabadfallujahfrankfurtganjagenevaghaznigilgitglasgowgonbad-e-kavusgorgangothenburggroznygujranwalahalifaxhamadanhamburghamiltonhelsinkiherathillahhomshong-konghoustonhyderabad-inhyderabad-pkilamindianapolisisfahanislamabadistanbulizmirjahromjaipurjakartajeddahjohannesburgkabulkadhimiyakandaharkanokansas-citykarachikarajkarbalakargilkashankazankermankermanshahkhartoumkhobarkhorramabadkhorramshahrkhoykirkukkishkolkatakuala-lumpurkufakutkuwait-citykyivlagoslahijanlahorelarkanalas-vegaslatakialeedsleicesterlillelisbonliverpoollondonlos-angeleslucknowlutonlyonmadridmahabadmakhachkalamalayermalmomanamamanchestermaraghehmarandmarrakeshmarseillemarvdashtmashhadmazar-i-sharifmeccamedinamelbournemexico-citymiamimilanminneapolismirpurmississaugamombasamontrealmoscowmosulmultanmumbaimunichmuscatmuzaffarabadnabatiehnairobinajafnajrannashvillenasiriyahnew-orleansnew-yorknewarknewcastleneyshaburnottinghamorlandoosloottawaparachinarparispatnaperthpeshawarphiladelphiaphoenixpittsburghportlandpraguepristinapuneqaemshahrqatifqazvinqeshmqomquebec-cityquettarabatrafsanjanramadirashtrawalpindireyriyadhromerotterdamsabzevarsacramentosalt-lake-citysamarkandsamarrasan-antoniosan-diegosan-franciscosan-josesanaasanandajsao-paulosarajevosarisavehsayyida-zaynabseattlesemnanshahrekordshahroudsharjahsheffieldshirazsialkotsidonsingaporesirjanskarduskopjesrinagarst-louisst-petersburgstockholmstuttgartsukkursulaymaniyahsydneytabriztaiftampatashkenttbilisitehranthe-haguetiranatokyotorbat-e-heydariehtorontotoulousetripolitunistyreufaurmiavancouverviennawarsawwashington-dcwindsorwinnipegyasujyazdyerevanzabolzahedanzanjanzanzibar-cityzariazurich
Code samples
curl
curl "https://theshia.org/api/v1/cities?q=karbala" JavaScript
const res = await fetch("https://theshia.org/api/v1/cities?q=karbala");
const data = await res.json(); Python
import requests
data = requests.get("https://theshia.org/api/v1/cities?q=karbala").json() Rate limits & fair use
Responses are cached hard at the edge — please cache on your side too. Uncached requests are limited to 100 per minute per IP; oversized requests (over 496 day×method computations) are rejected. Free for community use, no uptime guarantee.