@geoalgeria/emploi
v1.1.0
Published
Algeria public employment agencies — 58 AWEM (wilaya) + 273 ALEM (local) offices with address, phone, manager, communes served, and coordinates. Sourced from ANEM (anem.dz). JSON, CSV, GeoJSON.
Maintainers
Readme
@geoalgeria/emploi
Every public employment agency in Algeria — as data you can install.
The 58 AWEM (wilaya employment agencies) and 273 ALEM (local employment agencies) of Algeria's national employment agency, ANEM — each with address, phone, fax, email, manager, the communes it serves, and GPS coordinates. Shipped as JSON, CSV, and GeoJSON. Part of GeoAlgeria.
npm install @geoalgeria/emploiimport emploi from "@geoalgeria/emploi";
const awem = emploi.awem(); // 58 wilaya-level agencies
const alem = emploi.alem(); // 273 local agencies
const all = emploi.agencies(); // all 331 (AWEM first)
// Agencies in a wilaya (joins GeoAlgeria's wilaya_code)
const inAlger = all.filter((a) => a.wilaya_code === "16");
// Which local agency serves a commune? `communes` lists the communes served.
const serving = alem.filter((a) => (a.communes || "").includes("REGGANE"));What you can build
- Agency locators — coordinates on (almost) every record, ready for distance sorting or a map.
- "Which office covers my commune?" — ALEM records list the communes they serve.
- Contact directories — phone, fax, email, and manager per agency.
- Maps — drop-in GeoJSON point layers for the whole employment network.
What's inside
| Dataset | Count | Notes | | --- | --- | --- | | AWEM (wilaya agencies) | 58 | one per wilaya | | ALEM (local agencies) | 273 | each lists the communes it serves |
Formats
The npm package ships the JSON (importable directly):
import alem from "@geoalgeria/emploi/data/alem.json" with { type: "json" };
// or via CDN, no install:
// https://cdn.jsdelivr.net/npm/@geoalgeria/emploi/data/alem.jsonThe loaders and record shapes are fully typed — TypeScript definitions ship in the package:
import emploi, { type Awem, type Alem } from "@geoalgeria/emploi";
const local: Alem[] = emploi.alem();CSV and GeoJSON are in the repo under data/ and bundled in every
GitHub Release:
data/
awem.json # 58 wilaya agencies (array)
alem.json # 273 local agencies (array)
metadata.json # source, counts, generated_at
csv/awem.csv # repo + Release bundle (not in npm tarball)
csv/alem.csv
geojson/awem.geojson # Point features (records with coordinates)
geojson/alem.geojsonGeoJSON includes only records that have coordinates — 2 ALEM report no
lat/lngand are omitted there (but remain in JSON/CSV).
Record shapes
ALEM (local agency)
{
"id": "01-02",
"code": "0102",
"type": "ALEM",
"name": "ALEM REGGANE",
"address": "Hai Saada - Reggane",
"phone": "(049) 320 - 373",
"fax": "(049) 320 - 372",
"email": "[email protected]",
"manager": "BELHADJ ABBELKADER",
"communes": "REGGANE,SALI",
"wilaya_code": "01",
"lat": 26.71627,
"lng": 0.17441
}id is a stable {wilaya_code}-{seq} key synthesized by GeoAlgeria — ANEM's own
code is kept too but is missing on a few records and not unique, so prefer id.
communes is a comma-separated list of the communes the agency serves.
wilaya_code joins to GeoAlgeria's wilaya_code.
AWEM (wilaya agency) — same shape, id = the 2-digit wilaya_code, keyed by
name / address / phone / manager with lat/lng; no communes.
Need the administrative divisions too?
For wilayas, dairas, and communes (and postal data), use the main
geoalgeria package. Use
@geoalgeria/emploi when you only need the employment-agency network.
Source
Data comes from ANEM (Agence Nationale de l'Emploi) via its cartographic
portal (https://www.anem.dz/#/portail-carto). There is no public API — the
agencies are embedded in the portal's JavaScript bundle. Run npm run fetch to
regenerate every output: it rediscovers the current bundle, extracts both
datasets, fixes the source's X=lat / Y=lng inversion, and normalizes wilaya
codes. ANEM files agencies under the 58-wilaya scheme, so new wilayas 59–69
currently appear under their mother wilaya.
License & attribution
Code is MIT. The underlying data is © ANEM, redistributed for reference and to power GeoAlgeria. Verify against ANEM for authoritative, real-time information.
The manager field is the agency head's name as published, verbatim, on ANEM's
own public portal — it is not private data. Each rebuild reflects whatever ANEM
currently shows; if they remove it, it drops out here too.
