Dataset · Live

Bayanat Labs Arabic Gazetteer

Jeddah is written جدة, جدّة or جده in Arabic and Djedda, Djeddah, Djidda, Gedda, Jaddah, Jedda, Jeddah, Jidda, Jiddah or Juddah in Latin script, and the same city appears under all of these in forms, customer records and documents, while many different places share one name. The Arabic Gazetteer puts the spellings of each place on one record, keeps places that share a name apart, and adds the admin units each place belongs to. It covers 246,637 places in the 22 member states of the League of Arab States, each with at least one Arabic name, from the GeoNames files of 30 October 2026 and the Wikidata dump of 26 October 2026: 290,733 Arabic and 603,699 Latin-script names, grouped into spelling clusters (Arabic with the bayanat-norm-v1 policy of arabic-normalize); 8,282 admin units with Arabic and English names; and 52,257 place-matching examples with same-name places as distractors and a fixed train, dev and test split. On the 9,523 test examples, looking up the string as written finds the right place for 1,511, and looking it up after normalisation with the admin unit written after a comma finds 5,279; misspellings and names shared by many places are what remains. Of the 563,437 GeoNames features in the gazetteer's feature classes, 227,963 have an Arabic name in GeoNames or in the linked Wikidata item.

By Bayanat Labs· Updated · CC BY 4.0· اقرأ بالعربية
LicenceCC BY 4.0 (dataset; contains data from GeoNames under CC BY 4.0 and from Wikidata under CC0 1.0); Apache-2.0 (builder code)
Versionv0.1.0 · Version v0.1.0, built from the GeoNames files of 30 October 2026 and the Wikidata dump of 26 October 2026; the builder is tagged on GitHub and not on PyPI yet.
Published
Updated
Who it is forTeams that match Arabic or Latin-script location strings in forms, customer records, addresses or documents to places in the Arab world, and teams that build Arabic entity linking, geocoding or name matching.
LevelIntermediate

Arabic gazetteer Arabic place names Arabic geocoding toponym matching GeoNames Arabic

Key numbers

246637places in the 22 Arab League states, each with at least one Arabic name
22member states of the League of Arab States, with counts and Arabic-name coverage for each
227963places from GeoNames: features with an Arabic name in GeoNames or in the linked Wikidata item
70508of them linked to a Wikidata item
18674places from Wikidata only
290733Arabic names, counted once per place
603699Latin-script names, counted once per place
1242453rows in the names table, each with its source, language code and flags
8282admin units, from the countries down to the fourth level, with Arabic and English names
52257place-matching examples with same-name places as distractors
9523of them in the test split, fixed by admin1 unit
1511test examples matched by looking up the string as written
5279test examples matched after normalisation, using the admin unit written after a comma
563437GeoNames features in the gazetteer's feature classes across the 22 states
26checks on the released files, all passing

Counted by script from the released files. Each key number is read from meta/stats.json, meta/baseline.json or meta/validation.json in the Hugging Face dataset (the same files are in results/v0.1.0/ in the GitHub repository) and pinned to its SHA-256; MANIFEST.json lists every file with its size and SHA-256.

Downloads and identifiers

Get started

Load a table with the datasets library. To rebuild the gazetteer, install the builder from GitHub at the v0.1.0 tag; the package is not on PyPI yet. The rebuild commands pin the Arab-World Wikidata Slice to revision 6e1295970ec41247d421e4843227f724ae8de32b, the one this release was built from, and the build checks the slice files it reads against the slice's SHA-256 checksums and stops if one differs. GeoNames publishes new files every day, so a rebuild gives somewhat different tables.

# Python
from datasets import load_dataset
places = load_dataset("Bayanat-Labs/arabic-gazetteer", "places", split="train")
names = load_dataset("Bayanat-Labs/arabic-gazetteer", "names", split="train")
test = load_dataset("Bayanat-Labs/arabic-gazetteer", "match_examples", split="test")

# Rebuild
pip install "git+https://github.com/Bayanat-Labs/arabic-gazetteer@v0.1.0"
arabic-gazetteer fetch-geonames geonames/
hf download Bayanat-Labs/arab-world-wikidata --repo-type dataset --revision 6e1295970ec41247d421e4843227f724ae8de32b --local-dir slice/
arabic-gazetteer build --geonames geonames/ --wikidata slice/ --out release/ \
    --geonames-date 2026-10-30 --wikidata-date 2026-10-26 --wikidata-slice-revision 6e1295970ec41247d421e4843227f724ae8de32b

What is released

PartLicenceIn this release
Places, names, admin units and match examples (Parquet), with counts, coverage by state, the baseline and the checks in meta/CC BY 4.0Yes
Builder code (arabic-gazetteer) for Python 3.10 or laterApache-2.0Yes
Method, documentation and summary files in the GitHub repositoryCC BY 4.0Yes

Attribution: Arabic Gazetteer by Bayanat Labs, CC BY 4.0. Contains data from GeoNames (https://www.geonames.org), licensed under CC BY 4.0, and from Wikidata (CC0 1.0). https://huggingface.co/datasets/Bayanat-Labs/arabic-gazetteer

Intended uses

  • Match a location string in Arabic or Latin script, such as a city in a form or a customer address, to one place and its admin units.
  • Train and test place-name matchers on the match examples, with same-name places as distractors and a split fixed by admin1 unit.
  • Look up the Arabic and Latin-script spellings of a place, and the admin units it belongs to, for search, entity linking or data cleaning.

Out of scope

  • Settling names or borders: names, borders and country codes follow the sources as recorded.
  • Street-level geocoding: the gazetteer holds places and admin units, not streets or buildings.

Rights at a glance

Training, display, redistribution and synthetic-voice use are separate permissions.

UseStatusNote
TrainingAllowedCC BY 4.0 with attribution, including the GeoNames credit line; Wikidata content is CC0 1.0 at source.
DisplayAllowedWith attribution to Bayanat Labs and the line: Contains data from GeoNames (https://www.geonames.org), licensed under CC BY 4.0.
RedistributionAllowedDataset under CC BY 4.0, keeping the GeoNames credit line; builder code under Apache-2.0.
Synthetic voiceNot applicableNo audio is included.

Limitations

  • GeoNames and Wikidata are edited by many people and contain errors: wrong or outdated names, misplaced coordinates, duplicate features and wrong links. The records have not been reviewed by people, and the data is provided as is.
  • Coverage is uneven: places without an Arabic name in GeoNames or Wikidata are not included, and the share of GeoNames features with an Arabic name is lowest in Sudan and highest in Qatar.
  • Lower admin levels are often unresolved in GeoNames; they are left empty, not guessed.
  • The match examples are generated by fixed rules from the names in the release; none was labelled by people.
  • Flags such as colloquial or historic are the sources' flags, not evidence of dialect or period; population figures come from the sources and may be old.
  • Names, borders and country codes follow the sources as recorded; Bayanat Labs takes no position on any boundary. Install the builder from GitHub for now; the package is not on PyPI yet.

Sources and licences

SourceLicenceRedistributed here
GeoNames country files for the 22 states, downloaded on 30 October 2026CC BY 4.0; contains data from GeoNames (https://www.geonames.org)Yes
Wikidata, through the Arab-World Wikidata Slice 0.1.0 (dump of 26 October 2026)CC0 1.0Yes
arabic-normalize, policy bayanat-norm-v1, for the Arabic spelling clustersApache-2.0; used to build the clusters, not includedNo

The GeoNames files were downloaded from the GeoNames export server with the Bayanat Labs open-data user agent, one request at a time and more than a second apart; each file's Last-Modified date, size and SHA-256 are recorded in meta/build.json. Wikidata labels, aliases, classes, located-in chains and GeoNames ids come from the Arab-World Wikidata Slice. GeoNames states that its data is provided as is, without warranty of accuracy, timeliness or completeness. Related datasets from Bayanat Labs, linked under Downloads and identifiers: the Arab-World Wikidata Slice, the Wikidata items tied to the 22 states that this gazetteer reads; the Arab World Places Atlas, points of interest, streets and admin areas built from Overture Maps and OpenStreetMap, without this gazetteer's per-place spelling clusters and match examples; and the Arabic Entity Atlas, Arabic names and aliases of Wikidata entities of every kind, linked to their Wikidata ids and not limited to places. Source details

How to cite

Cite as:

Bayanat Labs (2026). Arabic Gazetteer, version 0.1.0 (GeoNames files of 2026-10-30; Wikidata dump of 2026-10-26). Bayanat Labs. https://huggingface.co/datasets/Bayanat-Labs/arabic-gazetteer

No DOI. Cite the URL in the citation above and the date you read it.

@misc{bayanatlabs2026arabicgazetteer,
  author       = {{Bayanat Labs}},
  title        = {Arabic Gazetteer, version 0.1.0 (GeoNames files of 2026-10-30; Wikidata dump of 2026-10-26)},
  year         = {2026},
  month        = oct,
  howpublished = {\url{https://huggingface.co/datasets/Bayanat-Labs/arabic-gazetteer}}
}

How we handle citations

Changelog

DateVersionChange
v0.1.0Places, names, admin units and match examples on Hugging Face; builder, method and summary files on GitHub.

Corrections and removal requests

If something in this release should not be there, or is wrong, email hello@bayanatlabs.com. We handle removal requests within 30 days, and platform requests within 24 hours. How removal requests work

Related product: Bayanat Search

Need production-grade, rights-cleared data?

We publish synthetic fixtures, open benchmarks, results, code and guides for free. Data at scale is licensed or built to order: ready-to-license Arabic speech and text datasets with commercial AI-use rights written into the agreement, and custom collection, annotation and evaluation.

Bayanat Search: Give your search or RAG system examples of what a useful result looks like. We create queries, relevance judgments, and grounded answers from the documents your product uses.