Calendar API
A small, zero-dependency client-side library and a couple of static JSON endpoints for working with the Kurdish (Jalali) calendar and important days.
Endpoints
events.json
Static list of important days plus month names. Each event now also
carries Sorani translations: name_ar and sub_ar.
Updated when the curated list changes; always safe to cache.
today.json
Snapshot of today in all three formats — Gregorian, Kurdish
Calendar (with Kurdish-script formatted variant), Official Calendar
— plus any matching event. Re-generated on each deploy of
this site. (JSON keys central / northern
are kept for backward compatibility.)
poems.json
Curated index of public-domain Kurdish poems hosted at
allekok-poems.
Each entry has poet, book, title, and the relative path you can append to raw_base to fetch the poem text.
Browser library exposing KurdishCalendar.today(),
describe(date), gregToJalali(),
jalaliToGreg(), events(),
eventOn(month, day), figures(),
figuresOn(month, day), daysUntilNewroz(),
arToLatin(str), and titleCaseLatin(str).
describe() returns both events and
figures arrays for the date. arToLatin()
transliterates Sorani Arabic-script Kurdish to Latin (Hawar/Bedirxan
conventions with contextual و/ی and schwa epenthesis —
e.g. ئاگر → agir,
کوردستان → kurdistan).
Quick start
In a browser
<script src="https://tools.thefarshad.com/calendar/api/kurdish-calendar.js"></script>
<script>
const t = KurdishCalendar.today();
console.log(t.central.formatted_arabic); // ٤ گوڵان ٢٧٢٦
console.log(t.northern.month_name); // Nîsan
// Events and figures now carry bilingual fields:
for (const e of KurdishCalendar.events()) {
console.log(e.name, '/', e.name_ar); // English / کوردی
console.log(e.sub, '/', e.sub_ar);
}
for (const f of KurdishCalendar.figures()) {
console.log(f.name, '/', f.name_ar); // 'Mehmed Uzun' / 'محەممەد ئوزون'
console.log(f.role, '/', f.role_ar);
console.log(f.bio, '/', f.bio_ar);
}
// Transliterate Sorani Arabic-script Kurdish to Latin (Hawar conventions,
// contextual و/ی, schwa epenthesis, normalizes ي→ی and ك→ک).
const lat = KurdishCalendar.arToLatin('هەژار موکریانی'); // 'hejar mukriyanî'
console.log(KurdishCalendar.titleCaseLatin(lat)); // 'Hejar Mukriyanî'
console.log(KurdishCalendar.arToLatin('ئاگر')); // 'agir'
console.log(KurdishCalendar.arToLatin('کوردستان')); // 'kurdistan'
console.log(KurdishCalendar.arToLatin('دەنگی يار مەيۆ')); // 'dengî yar meyo'
</script>
From the command line
curl https://tools.thefarshad.com/calendar/api/today.json curl https://tools.thefarshad.com/calendar/api/events.json
As an npm-style import (browser ESM)
<script type="module"> import K from "https://tools.thefarshad.com/calendar/api/kurdish-calendar.js"; console.log(K.today()); </script>
Conventions
- Months are 1-indexed (1 = January or Xakelêwe).
- Kurdish year = Jalali year + 1321.
- Week starts Saturday (index 0) for Kurdish Calendar day-of-week names.
- Conversion uses the browser's built-in ICU Jalali calendar, so it’s accurate.
- License: CC0-1.0. Use, fork, embed freely.