
Company News
Socket Named Top Sales Organization by RepVue
Socket won two 2026 Reppy Awards from RepVue, ranking in the top 5% of all sales orgs. AE Alexandra Lister shares what it's like to grow a sales career here.
Structured Egyptian geographical and timezone data — governorates, cities, phone area codes, and timezone utilities.
Structured Egyptian geographical and timezone data for Node.js and the browser.
Provides a complete, offline dataset of Egyptian governorates, cities, landline and mobile area codes, and timezone utilities — with zero dependencies.
npm install egydata
// CommonJS
const { governorates, cities, phoneArea, timezone } = require("egydata");
// ESM
import { governorates, cities, phoneArea, timezone } from "egydata";
const { governorates } = require("egydata");
// Get all 27 governorates
const all = governorates.getAll();
// [{ id: 1, code: 'CAI', name: 'القاهرة', nameEn: 'Cairo' }, ...]
// Find by code
const cairo = governorates.getByCode("CAI");
// { id: 1, code: 'CAI', name: 'القاهرة', nameEn: 'Cairo' }
// Find by id
const gov = governorates.getById(2);
// { id: 2, code: 'ALX', name: 'الإسكندرية', nameEn: 'Alexandria' }
// Search (Arabic or English, partial match)
const results = governorates.search("alex");
// [{ id: 2, code: 'ALX', name: 'الإسكندرية', nameEn: 'Alexandria' }]
const arResults = governorates.search("القاهرة");
// [{ id: 1, code: 'CAI', name: 'القاهرة', nameEn: 'Cairo' }]
const { cities } = require("egydata");
// Get cities by governorate code
const cairoCities = cities.getByGovernorate("CAI");
// [{ id: 1, name: 'مدينة نصر', nameEn: 'Nasr City', governorateCode: 'CAI' }, ...]
// Find by id
const city = cities.getById(131);
// { id: 131, name: 'شرم الشيخ', nameEn: 'Sharm El Sheikh', governorateCode: 'SIS' }
// Search cities (Arabic or English, partial match)
const found = cities.search("Maadi");
// [{ id: 3, name: 'المعادي', nameEn: 'Maadi', governorateCode: 'CAI' }]
const { phoneArea } = require("egydata");
// Get all area codes (landline and mobile)
const all = phoneArea.getAll();
// [{ code: '02', region: 'القاهرة والجيزة', regionEn: 'Cairo & Giza' }, ...]
// Look up a region by code
const region = phoneArea.getRegion("03");
// { code: '03', region: 'الإسكندرية', regionEn: 'Alexandria' }
// Find area code by region name
const entry = phoneArea.getCode("Mansoura");
// { code: '050', region: 'الدقهلية (المنصورة)', regionEn: 'Dakahlia (Mansoura)' }
const { timezone } = require("egydata");
console.log(timezone.name); // 'Africa/Cairo'
console.log(timezone.offset); // '+02:00'
const now = timezone.now(); // Current date/time in Egypt (Date object)
console.log(now.toISOString());
console.log(timezone.isDST()); // true or false depending on current date (Egypt resumed DST in 2023)
governorates| Method | Parameters | Returns | Description |
|---|---|---|---|
getAll() | — | Array<Governorate> | Returns all 27 Egyptian governorates |
getByCode(code) | string | Governorate | undefined | Find a governorate by its code (e.g. 'CAI') |
getById(id) | number | string | Governorate | undefined | Find a governorate by its numeric id |
search(query) | string | Array<Governorate> | Search by Arabic or English name (partial, case-insensitive) |
Governorate shape: { id: number, code: string, name: string, nameEn: string }
cities| Method | Parameters | Returns | Description |
|---|---|---|---|
getByGovernorate(govCode) | string | Array<City> | Get all cities in a governorate |
getById(id) | number | string | City | undefined | Find a city by its numeric id |
search(query) | string | Array<City> | Search by Arabic or English name (partial, case-insensitive) |
City shape: { id: number, name: string, nameEn: string, governorateCode: string }
phoneArea| Method | Parameters | Returns | Description |
|---|---|---|---|
getAll() | — | Array<AreaCode> | Returns all Egyptian landline and mobile area codes |
getRegion(code) | string | AreaCode | undefined | Look up region info by area code |
getCode(regionName) | string | AreaCode | undefined | Find area code entry by region name (Arabic or English) |
AreaCode shape: { code: string, region: string, regionEn: string }
timezone| Property / Method | Returns | Description |
|---|---|---|
name | 'Africa/Cairo' | IANA timezone identifier |
offset | '+02:00' | UTC offset |
now() | Date | Current date/time in Egypt |
isDST(date?) | boolean | Whether DST is active (optionally for a given date) |
Africa/CairoFAQs
Structured Egyptian geographical and timezone data — governorates, cities, phone area codes, and timezone utilities.
We found that egydata demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Company News
Socket won two 2026 Reppy Awards from RepVue, ranking in the top 5% of all sales orgs. AE Alexandra Lister shares what it's like to grow a sales career here.

Security News
NIST will stop enriching most CVEs under a new risk-based model, narrowing the NVD's scope as vulnerability submissions continue to surge.

Company News
/Security News
Socket is an initial recipient of OpenAI's Cybersecurity Grant Program, which commits $10M in API credits to defenders securing open source software.