TheShia
Back to all APIs

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

  • q required search text in English, Arabic, Farsi or Urdu (script variants like ك/ک and ي/ی are normalized).
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

Open live example ↗

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.