{
"query": "mün",
"searched": [
"mun"
],
"count": 5,
"results": [
{
"geonameId": 4924006,
"name": "مونسي",
"localName": "Muncie",
"label": "مونسي, إنديانا, الولايات المتحدة الأمريكية",
"region": {
"code": "IN",
"name": "إنديانا"
},
"county": {
"code": "035",
"name": "Delaware County"
},
"country": {
"code": "US",
"name": "الولايات المتحدة الأمريكية"
},
"population": 70087,
"lat": 40.19338,
"lng": -85.38636,
"timezone": "America/Indiana/Indianapolis",
"featureCode": "PPLA2",
"matched": {
"name": "Muncie",
"kind": "name",
"exact": false
},
"score": 5.996
},
{
"geonameId": 4903184,
"name": "موندلين",
"localName": "Mundelein",
"label": "موندلين, إلينوي, الولايات المتحدة الأمريكية",
"region": {
"code": "IL",
"name": "إلينوي"
},
"county": {
"code": "097",
"name": "Lake County"
},
"country": {
"code": "US",
"name": "الولايات المتحدة الأمريكية"
},
"population": 31582,
"lat": 42.26308,
"lng": -88.00397,
"timezone": "America/Chicago",
"featureCode": "PPL",
"matched": {
"name": "Mundelein",
"kind": "name",
"exact": false
},
"score": 5.5
},
{
"geonameId": 4924014,
"name": "Munster",
"label": "Munster, إنديانا, الولايات المتحدة الأمريكية",
"region": {
"code": "IN",
"name": "إنديانا"
},
"county": {
"code": "089",
"name": "Lake County"
},
"country": {
"code": "US",
"name": "الولايات المتحدة الأمريكية"
},
"population": 22984,
"lat": 41.56448,
"lng": -87.51254,
"timezone": "America/Chicago",
"featureCode": "PPL",
"matched": {
"name": "Munster",
"kind": "name",
"exact": false
},
"score": 5.362
},
{
"geonameId": 5202734,
"name": "Munhall",
"label": "Munhall, بنسيلفانيا, الولايات المتحدة الأمريكية",
"region": {
"code": "PA",
"name": "بنسيلفانيا"
},
"county": {
"code": "003",
"name": "Allegheny County"
},
"country": {
"code": "US",
"name": "الولايات المتحدة الأمريكية"
},
"population": 11247,
"lat": 40.39229,
"lng": -79.90005,
"timezone": "America/New_York",
"featureCode": "PPL",
"matched": {
"name": "Munhall",
"kind": "name",
"exact": false
},
"score": 5.051
},
{
"geonameId": 4644282,
"name": "مونفورد",
"localName": "Munford",
"label": "مونفورد, تينيسي, الولايات المتحدة الأمريكية",
"region": {
"code": "TN",
"name": "تينيسي"
},
"county": {
"code": "167",
"name": "Tipton County"
},
"country": {
"code": "US",
"name": "الولايات المتحدة الأمريكية"
},
"population": 6108,
"lat": 35.44925,
"lng": -89.81508,
"timezone": "America/Chicago",
"featureCode": "PPL",
"matched": {
"name": "Munford",
"kind": "name",
"exact": false
},
"score": 4.787
}
],
"source": {
"data": "GeoNames (geonames.org), CC BY 4.0; changed by us (see /attribution)",
"license": "https://creativecommons.org/licenses/by/4.0/",
"attribution": "/attribution"
}
}
curl --location --request GET 'https://zylalabs.com/api/14562/world+city+autocomplete+api/37310/city+typeahead+prefix+search?q=mün&country=US&limit=5&lang=ar&minPopulation=Optional' --header 'Authorization: Bearer YOUR_API_KEY'
{
"geonameId": 2867714,
"name": "ميونخ",
"localName": "Munich",
"label": "ميونخ, بفاريا, ألمانيا",
"region": {
"code": "02",
"name": "بفاريا"
},
"county": {
"code": "091",
"name": "Upper Bavaria"
},
"country": {
"code": "DE",
"name": "ألمانيا"
},
"population": 1505005,
"lat": 48.13743,
"lng": 11.57549,
"timezone": {
"id": "Europe/Berlin",
"utcOffsetNow": "+01:00",
"dstNow": false,
"localTimeNow": "2026-10-28T02:51:00",
"utcOffsetJanuary": "+01:00",
"utcOffsetJuly": "+02:00"
},
"featureCode": "PPLA",
"asciiName": "Munich",
"elevation": 524,
"names": {
"ar": "ميونخ",
"de": "München",
"en": "Munich",
"es": "Múnich",
"fr": "Munich",
"hi": "म्यूनिख",
"it": "Monaco di Baviera",
"ja": "ミュンヘン",
"ko": "뮌헨",
"nl": "München",
"pl": "Monachium",
"pt": "Munique",
"ru": "Мюнхен",
"tr": "Münih",
"uk": "Мюнхен",
"zh": "慕尼黑"
},
"modified": "2026-05-06",
"source": {
"data": "GeoNames (geonames.org), CC BY 4.0; changed by us (see /attribution)",
"license": "https://creativecommons.org/licenses/by/4.0/",
"attribution": "/attribution"
}
}
curl --location --request GET 'https://zylalabs.com/api/14562/world+city+autocomplete+api/37311/one+place+by+geonames+id?lang=ar&geonameId=Required' --header 'Authorization: Bearer YOUR_API_KEY'
{
"lat": 48.137,
"lng": 11.575,
"radiusKm": 10,
"count": 3,
"results": [
{
"geonameId": 2867714,
"name": "ميونخ",
"localName": "Munich",
"label": "ميونخ, بفاريا, ألمانيا",
"region": {
"code": "02",
"name": "بفاريا"
},
"county": {
"code": "091",
"name": "Upper Bavaria"
},
"country": {
"code": "DE",
"name": "ألمانيا"
},
"population": 1505005,
"lat": 48.13743,
"lng": 11.57549,
"timezone": "Europe/Berlin",
"featureCode": "PPLA",
"distanceKm": 0.06
},
{
"geonameId": 2947022,
"name": "Bogenhausen",
"label": "Bogenhausen, بفاريا, ألمانيا",
"region": {
"code": "02",
"name": "بفاريا"
},
"county": {
"code": "091",
"name": "Upper Bavaria"
},
"country": {
"code": "DE",
"name": "ألمانيا"
},
"population": 77542,
"lat": 48.15221,
"lng": 11.61585,
"timezone": "Europe/Berlin",
"featureCode": "PPLX",
"distanceKm": 3.47
},
{
"geonameId": 2819568,
"name": "Unterföhring",
"label": "Unterföhring, بفاريا, ألمانيا",
"region": {
"code": "02",
"name": "بفاريا"
},
"county": {
"code": "091",
"name": "Upper Bavaria"
},
"country": {
"code": "DE",
"name": "ألمانيا"
},
"population": 10500,
"lat": 48.19253,
"lng": 11.64293,
"timezone": "Europe/Berlin",
"featureCode": "PPLA4",
"distanceKm": 7.97
}
],
"source": {
"data": "GeoNames (geonames.org), CC BY 4.0; changed by us (see /attribution)",
"license": "https://creativecommons.org/licenses/by/4.0/",
"attribution": "/attribution"
}
}
curl --location --request GET 'https://zylalabs.com/api/14562/world+city+autocomplete+api/37312/places+near+a+point?lat=48.137&lng=11.575&radius=10&limit=3&minPopulation=Optionallang=ar' --header 'Authorization: Bearer YOUR_API_KEY'
{
"lat": 40.7128,
"lng": -74.006,
"timezone": {
"id": "America/New_York",
"utcOffsetNow": "-04:00",
"dstNow": true,
"localTimeNow": "2026-10-27T21:51:01",
"utcOffsetJanuary": "-05:00",
"utcOffsetJuly": "-04:00"
},
"nearestCity": {
"geonameId": 5128581,
"name": "New York City",
"country": "US",
"distanceKm": 0.16
},
"agreement": {
"nearestPlaces": 5,
"sameTimezone": 5,
"otherTimezones": []
},
"caveat": "The time zone of the nearest populated place, not a time zone boundary lookup: near a border, at sea or in empty land it can be wrong. Check \"agreement\" and \"nearestCity.distanceKm\".",
"source": {
"data": "GeoNames (geonames.org), CC BY 4.0; changed by us (see /attribution)",
"license": "https://creativecommons.org/licenses/by/4.0/",
"attribution": "/attribution"
}
}
curl --location --request GET 'https://zylalabs.com/api/14562/world+city+autocomplete+api/37313/time+zone+at+a+point+nearest+place?lat=40.7128&lng=-74.006' --header 'Authorization: Bearer YOUR_API_KEY'
{
"count": 252,
"countries": [
{
"code": "AW",
"iso3": "ABW",
"isoNumeric": "533",
"name": "آروبا",
"englishName": "Aruba",
"capital": "Oranjestad",
"continent": "NA",
"population": 108785,
"areaKm2": 193,
"currency": {
"code": "AWG",
"name": "Guilder"
},
"phone": "297",
"tld": ".aw",
"languages": [
"nl-AW",
"pap",
"es",
"en"
],
"neighbours": [],
"postalCodeFormat": null,
"geonameId": 3577279,
"places": 14
},
{
"code": "IS",
"iso3": "ISL",
"isoNumeric": "352",
"name": "آيسلندا",
"englishName": "Iceland",
"capital": "Reykjavik",
"continent": "EU",
"population": 392404,
"areaKm2": 103000,
"currency": {
"code": "ISK",
"name": "Krona"
},
"phone": "354",
"tld": ".is",
"languages": [
"is",
"en",
"de",
"da",
"sv"
],
"neighbours": [],
"postalCodeFormat": "###",
"geonameId": 2629691,
"places": 50
},
{
"code": "ET",
"iso3": "ETH",
"isoNumeric": "231",
"name": "إثيوبيا",
"englishName": "Ethiopia",
"capital": "Addis Ababa",
"continent": "AF",
"population": 135472051,
"areaKm2": 1127127,
"currency": {
"code": "ETB",
"name": "Birr"
},
"phone": "251",
"tld": ".et",
"languages": [
"am",
"en-ET",
"om-ET",
"ti-ET",
"so-ET"
],
"neighbours": [
"ER",
"KE",
"SD",
"SS",
"SO"
],
"postalCodeFormat": "####",
"geonameId": 337996,
"places": 256
},
{
"code": "AZ",
"iso3": "AZE",
"isoNumeric": "031",
"name": "أذربيجان",
"englishName": "Azerbaijan",
"capital": "Baku",
"continent": "AS",
"population": 10246996,
"areaKm2": 86600,
"currency": {
"code": "AZN",
"name": "Manat"
},
"phone": "994",
"tld": ".az",
"languages": [
"az",
"ru",
"hy"
],
"neighbours": [
"GE",
"IR",
"AM",
"TR",
"RU"
],
"postalCodeFormat": "AZ ####",
"geonameId": 587116,
"places": 245
},
{
"code": "AM",
"iso3": "ARM",
"isoNumeric": "051",
"name": "أرمينيا",
"englishName": "Armenia",
"capital": "Yerevan",
"continent": "AS",
"population": 3086700,
"areaKm2": 29800,
"currency": {
"code": "AMD",
"name": "Dram"
},
"phone": "374",
"tld": ".am",
"languages": [
"hy"
],
"neighbours": [
"GE",
"IR",
"AZ",
"TR"
],
"postalCodeFormat": "####",
"geonameId": 174982,
"places": 625
}
],
"source": {
"data": "GeoNames (geonames.org), CC BY 4.0; changed by us (see /attribution)",
"license": "https://creativecommons.org/licenses/by/4.0/",
"attribution": "/attribution"
}
}
curl --location --request GET 'https://zylalabs.com/api/14562/world+city+autocomplete+api/37314/all+countries?lang=ar' --header 'Authorization: Bearer YOUR_API_KEY'
{
"country": {
"code": "CH",
"name": "سويسرا"
},
"count": 26,
"regions": [
{
"code": "AR",
"name": "أبينزيل أوسيرهودن",
"asciiName": "Appenzell Ausserrhoden",
"geonameId": 2661739,
"places": 13
},
{
"code": "AI",
"name": "أبينزيل إينرهودن",
"asciiName": "Appenzell Innerrhoden",
"geonameId": 2661741,
"places": 4
},
{
"code": "OW",
"name": "أوبفالدن",
"asciiName": "Obwalden",
"geonameId": 2659315,
"places": 7
},
{
"code": "UR",
"name": "أوري",
"asciiName": "Uri",
"geonameId": 2658226,
"places": 15
},
{
"code": "ZG",
"name": "تسوغ",
"asciiName": "Zug",
"geonameId": 2657907,
"places": 9
},
{
"code": "TG",
"name": "تورغاو",
"asciiName": "Thurgau",
"geonameId": 2658372,
"places": 54
},
{
"code": "TI",
"name": "تيسينو",
"asciiName": "Ticino",
"geonameId": 2658370,
"places": 84
},
{
"code": "JU",
"name": "جورا",
"asciiName": "Jura",
"geonameId": 2660207,
"places": 28
},
{
"code": "SO",
"name": "سولوتورن",
"asciiName": "Solothurn",
"geonameId": 2658563,
"places": 52
},
{
"code": "SH",
"name": "شافهوزن",
"asciiName": "Schaffhausen",
"geonameId": 2658760,
"places": 20
},
{
"code": "SZ",
"name": "شفيتس",
"asciiName": "Schwyz",
"geonameId": 2658664,
"places": 33
},
{
"code": "GR",
"name": "غروبندن",
"asciiName": "Grisons",
"geonameId": 2660522,
"places": 79
},
{
"code": "GL",
"name": "غلاروس",
"asciiName": "Glarus",
"geonameId": 2660593,
"places": 14
},
{
"code": "VS",
"name": "فاليه",
"asciiName": "Valais",
"geonameId": 2658205,
"places": 88
},
{
"code": "VD",
"name": "فود",
"asciiName": "Vaud",
"geonameId": 2658182,
"places": 143
},
{
"code": "AG",
"name": "كانتون أرجاو",
"asciiName": "Aargau",
"geonameId": 2661876,
"places": 132
},
{
"code": "BL",
"name": "كانتون بازل الريف",
"asciiName": "Basel-Landschaft",
"geonameId": 2661603,
"places": 53
},
{
"code": "BE",
"name": "كانتون برن",
"asciiName": "Bern",
"geonameId": 2661551,
"places": 211
},
{
"code": "GE",
"name": "كانتون جنيف",
"asciiName": "Geneva",
"geonameId": 2660645,
"places": 36
},
{
"code": "ZH",
"name": "كانتون زيوريخ",
"asciiName": "Zurich",
"geonameId": 2657895,
"places": 550
},
{
"code": "SG",
"name": "كانتون سانت غالن",
"asciiName": "Saint Gallen",
"geonameId": 2658821,
"places": 74
},
{
"code": "FR",
"name": "كانتون فريبورغ",
"asciiName": "Fribourg",
"geonameId": 2660717,
"places": 77
},
{
"code": "BS",
"name": "كانتون مدينة بازل",
"asciiName": "Basel-City",
"geonameId": 2661602,
"places": 4
},
{
"code": "LU",
"name": "لوتسيرن",
"asciiName": "Lucerne",
"geonameId": 2659810,
"places": 73
},
{
"code": "NW",
"name": "نيدفالدن",
"asciiName": "Nidwalden",
"geonameId": 2659471,
"places": 9
},
{
"code": "NE",
"name": "نيوشاتل",
"asciiName": "Neuchatel",
"geonameId": 2659495,
"places": 37
}
],
"note": "Codes are GeoNames admin1 codes: ISO 3166-2 suffixes for the US, Switzerland, Belgium and Montenegro, FIPS 10-4 or GeoNames codes elsewhere. Use the code or the name as \"admin1\" in /autocomplete.",
"source": {
"data": "GeoNames (geonames.org), CC BY 4.0; changed by us (see /attribution)",
"license": "https://creativecommons.org/licenses/by/4.0/",
"attribution": "/attribution"
}
}
curl --location --request GET 'https://zylalabs.com/api/14562/world+city+autocomplete+api/37315/regions+states+provinces+of+a+country?country=CH&lang=ar' --header 'Authorization: Bearer YOUR_API_KEY'
After signing up, every developer is assigned a personal API access key, a unique combination of letters and digits provided to access to our API endpoint. To authenticate with the World City Autocomplete API simply include your bearer token in the Authorization header.
| Header | Description |
|---|---|
Authorization
|
Required
Should be Bearer access_key. See "Your API Access Key" above when you are subscribed.
|
No long-term commitment. Upgrade, downgrade, or cancel anytime.
Fast city typeahead: 236,000 places, 16 languages, accent-proof, with region, country and time zone.
Each endpoint returns specific geographic data. The City typeahead provides place names and details based on a prefix search. The One place by GeoNames ID returns comprehensive information about a specific location. The Places near a point endpoint lists nearby locations, while the Time zone at a point gives time zone details. The All countries endpoint provides information about countries, and Regions states provinces of a country lists first-level regions.
Key fields vary by endpoint. For City typeahead, fields include `geonameId`, `name`, `population`, and `timezone`. The One place endpoint includes `lat`, `lng`, `population`, and `elevation`. The Places near a point returns `distanceKm`, `label`, and `region`. The Time zone endpoint features `utcOffsetNow`, `dstNow`, and `nearestCity`. The All countries endpoint includes `code`, `capital`, `population`, and `languages`.
Parameters vary by endpoint. The City typeahead accepts a `prefix` for searching. The One place by GeoNames ID requires a `geonameId`. The Places near a point needs `lat`, `lng`, and `radiusKm`. The Time zone endpoint uses `lat` and `lng` to find the nearest place. The All countries endpoint does not require parameters, while the Regions states provinces endpoint requires a `country code`.
Response data is structured in JSON format. Each endpoint returns an object containing relevant fields. For example, the City typeahead returns a `query`, `count`, and an array of `results`. The One place endpoint returns detailed information about a location in a single object. The Places near a point returns a `lat`, `lng`, and an array of `results`, while the All countries endpoint returns a `count` and an array of `countries`.
The data is sourced from GeoNames (geonames.org), which provides a comprehensive database of geographical information. The API may also incorporate additional data modifications to enhance accuracy. Quality checks include regular updates and validation against known geographical standards to maintain data integrity.
Typical use cases include location-based services, travel applications, and geographic analysis. Developers can use the City typeahead for search suggestions, the One place endpoint for detailed location information, and the Places near a point for finding nearby attractions. The Time zone endpoint is useful for scheduling across different regions, while the All countries endpoint aids in global data analysis.
Users can utilize the returned data by parsing the JSON response to extract relevant fields for their applications. For instance, they can display city names and populations in a search interface or use coordinates for mapping applications. Understanding the structure allows for efficient data handling and integration into various software solutions.
When handling partial or empty results, users should implement checks for the `count` field in the response. If `count` is zero, it indicates no matches were found. For partial results, users can display available options and prompt users to refine their search. Implementing debounce on input can also reduce unnecessary requests and improve user experience.
To obtain your API key, first sign in to your account and navigate to the API you want to use. From the API's Pricing section, choose a plan and complete the subscription process. Once subscribed, return to the API page and you will see your API Access Key displayed at the top of the documentation page. You can use this key to authenticate your requests.
You can’t switch APIs during the free trial. If you subscribe to a different API, your trial will end and the new subscription will start as a paid plan.
The free trial lasts for 7 days and allows you to make up to 50 API requests.
No, the free trial is available only once, so we recommend using it on the API that interests you the most. Most of our APIs offer a free trial, but some may not include this option.
Yes. If the API offers a free trial, you will see a "Free 7-Day Trial" option in its Pricing section. The trial lasts for 7 days and allows up to 50 API requests, enabling you to evaluate the API before subscribing to a paid plan.
Zyla API Hub is like a big store for APIs, where you can find thousands of them all in one place. We also offer dedicated support and real-time monitoring of all APIs. Once you sign up, you can pick and choose which APIs you want to use. Just remember, each API needs its own subscription. But if you subscribe to multiple ones, you'll use the same key for all of them, making things easier for you.
You can monitor your API usage through the response headers included with every request:
x-zyla-api-calls-monthly-used: Shows the total number of API requests you have used during the current billing period.
x-zyla-api-calls-monthly-remaining: Shows the number of API requests you have remaining for the current billing period.
Yes, you can cancel your subscription at any time. Simply go to the Pricing section of the API you're subscribed to and click the "Unsubscribe" button.
Please note that upgrades, downgrades, and cancellations take effect immediately. Once your subscription is canceled, access to the service will end immediately, regardless of any remaining API calls in your quota.
Please have a look at our Refund Policy: https://zylalabs.com/terms#refund