A production-ready REST API for converting between Ethiopian and Gregorian calendars, detecting leap years, retrieving full calendar information, holidays, Ethiopian time, and batch conversions. Supports optional language translation, timezone-aware responses, and full month/year lookups.
- 13 new endpoints:
/status,/convert,/convert-year,/date-range,/year,/year/gregorian,/holidays,/next-holiday,/countdown,/difference,/time,/month-names,/batch - Fixed core conversion: replaced buggy
ethiopian_datelibrary with a correct, dependency-free Julian-based implementation — no more crashes on early September dates or Pagumen - Consistent error format: all errors now return
{"status": "error", "code", "error", "request_id"}with stable codes - Holidays: fixed Ethiopian feasts, movable Orthodox (Siklet, Fasika, Rikbe Kahinat via Julian Easter), fixed Gregorian national days, and approximate Islamic holidays (Eid al-Fitr, Eid al-Adha, Mawlid)
- Ethiopian 12-hour sunrise clock: convert standard time to the Ethiopian time system (6:00 AM = 12:00)
- Batch conversion: up to 100 dates in a single request
- Month names in 4 scripts: English, Ge'ez/Amharic, romanized Oromo, romanized Tigrinya
- Request tracing: every response includes
X-Request-IDandX-API-Versionheaders
- Convert Ethiopian ↔ Gregorian dates (bidirectional)
- Get current date in both calendars with optional timezone support
- Detect Ethiopian leap years with next/previous leap year info
- Retrieve full month calendars for Ethiopian or Gregorian months
- Full year views for both calendars with day-level entries
- Date range conversion (up to 366 days)
- Holiday calendar: Ethiopian Orthodox, national, and Islamic holidays
- Next holiday countdown from any date
- Date difference calculator
- Ethiopian time (12-hour sunrise clock)
- Batch convert up to 100 dates per request
- Automatic translation of month and day names (100+ languages via Google Translate)
https://ethiopian-calendar-api.p.rapidapi.com
Headers (for RapidAPI):
x-rapidapi-host: ethiopian-calendar-api.p.rapidapi.com
x-rapidapi-key: YOUR_RAPIDAPI_KEYAll errors share a consistent format so you can branch on code:
{
"status": "error",
"code": "INVALID_PARAMETER",
"error": "month must be between 1 and 13",
"request_id": "5f9c8b1e-..."
}| Code | HTTP | Meaning |
|---|---|---|
MISSING_PARAMETER |
400 | Required parameter not supplied |
INVALID_PARAMETER |
400 | Bad type, out-of-range value, or malformed body |
INVALID_DATE |
400 | Date string not in YYYY-MM-DD format |
INVALID_TIMEZONE |
400 | Unknown IANA timezone name |
RANGE_TOO_LARGE |
400 | Date range exceeds 366 days or batch exceeds 100 items |
INVALID_BODY |
400 | Request body is not valid JSON |
NOT_FOUND |
404 | Unknown endpoint |
METHOD_NOT_ALLOWED |
405 | Wrong HTTP method |
INTERNAL_ERROR |
500 | Unexpected failure |
Every response includes:
| Header | Description |
|---|---|
X-Request-ID |
Unique request id (useful for debugging and support) |
X-API-Version |
Current API version (0.0.2) |
The API supports 100+ languages via built-in Google Translate. Add the optional lang parameter to any request:
lang=fr → French
lang=am → Amharic (Ge'ez script)
lang=es → Spanish
lang=de → German
lang=ar → Arabic
lang=zh → Chinese
lang=sw → Swahili
lang=pt → Portuguese
...
Month names in /month-names are also available in romanized Oromo (om) and Tigrinya (ti) without Google Translate.
Check API status, version, uptime, and list all available endpoints.
Method: GET
Parameters: None
GET https://ethiopian-calendar-api.p.rapidapi.com/status{
"status": "success",
"status_text": "API is online",
"version": "0.0.2",
"uptime_seconds": 86400,
"documentation": "https://github.com/dakidarts/ethiopian-calendar-api",
"endpoints": ["/to-gregorian", "/to-ethiopian", "/current-date", "..."]
}Convert an Ethiopian date to its Gregorian (Western) equivalent. The Ethiopian calendar has 13 months — month 13 (Pagumen) has 5 days or 6 in leap years.
Methods: GET, POST
| Param | Type | Required | Description | Example |
|---|---|---|---|---|
year |
int | Yes | Ethiopian year | 2016 |
month |
int | Yes | Ethiopian month (1–13) | 1 |
day |
int | Yes | Ethiopian day (1–30; 1–6 for Pagumen) | 1 |
lang |
string | No | Language code (default: en) |
am |
GET https://ethiopian-calendar-api.p.rapidapi.com/to-gregorian?year=2016&month=1&day=1{
"status": "success",
"input": {"year": 2016, "month": 1, "day": 1},
"gregorian_date": "2023-09-12",
"gregorian": {"year": 2023, "month": 9, "day": 12},
"day_of_week": "Tuesday",
"weekday": 1,
"month_name": "Meskerem",
"is_ec_leap_year": false
}Convert a Gregorian (Western) date to its Ethiopian calendar equivalent. Returns the Ethiopian year, month (1–13), day, and translated month name.
Methods: GET, POST
| Param | Type | Required | Description | Example |
|---|---|---|---|---|
date |
string | Yes | Gregorian date (YYYY-MM-DD) | 2024-09-11 |
lang |
string | No | Language code (default: en) |
am |
GET https://ethiopian-calendar-api.p.rapidapi.com/to-ethiopian?date=2024-09-11{
"status": "success",
"input": "2024-09-11",
"ethiopian_date": {
"year": 2017,
"month": 1,
"day": 1,
"month_name": "Meskerem"
},
"day_of_week": "Wednesday",
"weekday": 2,
"is_ec_leap_year": false,
"days_in_ethiopian_month": 30
}Single-date converter that accepts either a Gregorian date or Ethiopian year/month/day and returns both calendars.
Methods: GET, POST
| Param | Type | Required | Description | Example |
|---|---|---|---|---|
date |
string | Yes* | Gregorian date (YYYY-MM-DD) | 2024-05-05 |
year |
int | Yes* | Ethiopian year | 2016 |
month |
int | Yes* | Ethiopian month (1–13) | 1 |
day |
int | Yes* | Ethiopian day (1–30) | 1 |
lang |
string | No | Language code (default: en) |
am |
*Either date OR year+month+day must be provided, not both.
GET https://ethiopian-calendar-api.p.rapidapi.com/convert?date=2024-05-05{
"status": "success",
"ethiopian_date": {"year": 2016, "month": 8, "day": 27, "month_name": "Miyazia"},
"gregorian_date": "2024-05-05",
"gregorian": {"year": 2024, "month": 5, "day": 5},
"day_of_week": "Sunday",
"weekday": 6,
"is_ec_leap_year": false,
"days_in_ethiopian_month": 30
}Year-level calendar conversion. For Ethiopian→Gregorian: returns the Gregorian year span. For Gregorian→Ethiopian: returns the Ethiopian years that overlap that Gregorian year.
Methods: GET, POST
| Param | Type | Required | Description | Example |
|---|---|---|---|---|
year |
int | Yes | Year to convert | 2016 |
calendar |
string | No | "ethiopian" (default) or "gregorian" |
gregorian |
lang |
string | No | Language code (default: en) |
am |
GET https://ethiopian-calendar-api.p.rapidapi.com/convert-year?year=2024&calendar=gregorian{
"status": "success",
"input": {"year": 2024, "calendar": "gregorian"},
"gregorian_year": 2024,
"ethiopian_years_covered": [2016, 2017],
"is_gc_leap_year": true
}Get today's date in both Ethiopian and Gregorian calendars at the same time, including weekday and leap-year status.
Method: GET
| Param | Type | Required | Description | Example |
|---|---|---|---|---|
tz |
string | No | IANA timezone (default: UTC) | Africa/Addis_Ababa |
lang |
string | No | Language code (default: en) |
am |
now |
string | No | Override "today" (YYYY-MM-DD) | 2024-01-01 |
GET https://ethiopian-calendar-api.p.rapidapi.com/current-date?tz=Africa/Addis_Ababa{
"status": "success",
"gregorian_today": "2024-01-01",
"gregorian": {"year": 2024, "month": 1, "day": 1},
"ethiopian_today": {"year": 2016, "month": 4, "day": 22, "month_name": "Tahsas"},
"day_of_week": "Monday",
"weekday": 0,
"is_ec_leap_year": false,
"time_zone": "Africa/Addis_Ababa"
}Check whether an Ethiopian year is a leap year. Ethiopian leap years end in 3 (e.g. 2011, 2015, 2019, 2023) and have a 6-day Pagumen.
Method: GET
| Param | Type | Required | Description | Example |
|---|---|---|---|---|
year |
int | Yes | Ethiopian year to check | 2015 |
GET https://ethiopian-calendar-api.p.rapidapi.com/is-leap-year?year=2015{
"status": "success",
"year": 2015,
"is_leap": true,
"next_leap_year": 2019,
"previous_leap_year": 2011,
"explanation": "Ethiopian leap years occur every 4 years and have a 6-day 13th month (Pagumen). 2011, 2015, 2019, 2023 are leap years."
}General information about the Ethiopian calendar: current EC year, months, days per year, leap status, and the Gregorian date of Enkutatash (New Year).
Method: GET
| Param | Type | Required | Description | Example |
|---|---|---|---|---|
tz |
string | No | IANA timezone (default: UTC) | Africa/Addis_Ababa |
lang |
string | No | Language code (default: en) |
am |
GET https://ethiopian-calendar-api.p.rapidapi.com/calendar-info{
"status": "success",
"year": 2017,
"months": [
{"number": 1, "name": "Meskerem", "days": 30},
{"number": 2, "name": "Tikimt", "days": 30},
"...",
{"number": 13, "name": "Pagumen", "days": 5}
],
"is_leap": false,
"days_in_year": 365,
"new_year": {
"ethiopian": {"year": 2017, "month": 1, "day": 1},
"gregorian_date": "2024-09-11"
},
"epoch": "The Ethiopian calendar runs 7 years behind the Gregorian calendar from September to December and 8 years behind from January to August.",
"description": "The Ethiopian calendar has 13 months, with the 13th month (Pagumen) having 5 or 6 days."
}Full Ethiopian calendar month: lists every day with its corresponding Gregorian date and weekday. Pagumen (month 13) has 5 or 6 days depending on leap year.
Methods: GET, POST
| Param | Type | Required | Description | Example |
|---|---|---|---|---|
year |
int | Yes | Ethiopian year | 2016 |
month |
int | Yes | Ethiopian month (1–13, where 13 = Pagumen) | 13 |
lang |
string | No | Language code (default: en) |
am |
GET https://ethiopian-calendar-api.p.rapidapi.com/full-month?year=2016&month=13{
"status": "success",
"ethiopian_year": 2016,
"ethiopian_month": 13,
"month_name": "Pagumen",
"days_in_month": 5,
"is_leap_year": false,
"first_day_of_week": "Friday",
"last_gregorian_date": "2023-09-10",
"days": [
{"ethiopian_day": 1, "gregorian_date": "2023-09-06", "day_of_week": "Wednesday"},
{"ethiopian_day": 2, "gregorian_date": "2023-09-07", "day_of_week": "Thursday"},
{"ethiopian_day": 3, "gregorian_date": "2023-09-08", "day_of_week": "Friday"},
{"ethiopian_day": 4, "gregorian_date": "2023-09-09", "day_of_week": "Saturday"},
{"ethiopian_day": 5, "gregorian_date": "2023-09-10", "day_of_week": "Sunday"}
]
}Full Gregorian calendar month: lists every day with its corresponding Ethiopian date and weekday.
Methods: GET, POST
| Param | Type | Required | Description | Example |
|---|---|---|---|---|
year |
int | Yes | Gregorian year | 2024 |
month |
int | Yes | Gregorian month (1–12) | 2 |
lang |
string | No | Language code (default: en) |
am |
GET https://ethiopian-calendar-api.p.rapidapi.com/full-month/gregorian?year=2024&month=2{
"status": "success",
"gregorian_year": 2024,
"gregorian_month": 2,
"month_name": "February",
"days_in_month": 29,
"is_gc_leap_year": true,
"first_day_of_week": "Thursday",
"days": [
{
"gregorian_day": 1,
"gregorian_date": "2024-02-01",
"day_of_week": "Thursday",
"ethiopian_date": {"year": 2016, "month": 5, "day": 22, "month_name": "Tir"}
},
"..."
]
}Full Ethiopian year overview: all 13 months with their Gregorian start and end dates. Optionally include day-level entries and holidays.
Methods: GET, POST
| Param | Type | Required | Description | Example |
|---|---|---|---|---|
year |
int | Yes | Ethiopian year | 2016 |
lang |
string | No | Language code (default: en) |
am |
include_days |
string | No | true/1/yes to include day-level entries |
true |
include_holidays |
string | No | true/1/yes to include holidays list |
true |
GET https://ethiopian-calendar-api.p.rapidapi.com/year?year=2016&include_holidays=true{
"status": "success",
"ethiopian_year": 2016,
"is_leap_year": false,
"days_in_year": 365,
"new_year_gregorian": "2023-09-12",
"end_gregorian": "2024-09-10",
"months": [
{"month": 1, "name": "Meskerem", "days": 30, "first_gregorian_date": "2023-09-12", "last_gregorian_date": "2023-10-11"},
"...",
{"month": 13, "name": "Pagumen", "days": 5, "first_gregorian_date": "2023-09-06", "last_gregorian_date": "2023-09-10"}
]
}Full Gregorian year overview: all 12 months with their Ethiopian start/end dates and leap-year status.
Methods: GET, POST
| Param | Type | Required | Description | Example |
|---|---|---|---|---|
year |
int | Yes | Gregorian year | 2024 |
lang |
string | No | Language code (default: en) |
am |
include_days |
string | No | true/1/yes to include day-level entries |
true |
GET https://ethiopian-calendar-api.p.rapidapi.com/year/gregorian?year=2024{
"status": "success",
"gregorian_year": 2024,
"is_gc_leap_year": true,
"days_in_year": 366,
"months": [
{
"month": 1,
"name": "January",
"days": 31,
"first_ethiopian_date": {"year": 2016, "month": 4, "day": 22, "month_name": "Tahsas"},
"last_ethiopian_date": {"year": 2016, "month": 5, "day": 22, "month_name": "Tir"}
},
"..."
]
}Convert a range of Gregorian dates to Ethiopian dates, one entry per day. Maximum 366 days per request.
Methods: GET, POST
| Param | Type | Required | Description | Example |
|---|---|---|---|---|
from |
string | Yes | Start date (YYYY-MM-DD) | 2024-01-01 |
to |
string | Yes | End date (YYYY-MM-DD, >= from) | 2024-01-05 |
lang |
string | No | Language code (default: en) |
am |
GET https://ethiopian-calendar-api.p.rapidapi.com/date-range?from=2024-01-01&to=2024-01-05{
"status": "success",
"from": "2024-01-01",
"to": "2024-01-05",
"total_days": 5,
"days": [
{
"gregorian_date": "2024-01-01",
"ethiopian_date": {"year": 2016, "month": 4, "day": 22, "month_name": "Tahsas"},
"day_of_week": "Monday"
},
"..."
]
}List all public, religious and national holidays for an Ethiopian year (or Gregorian year). Includes fixed Ethiopian feasts, movable Orthodox holidays, fixed Gregorian national days, and approximate Islamic holidays.
Methods: GET, POST
| Param | Type | Required | Description | Example |
|---|---|---|---|---|
year |
int | No | Ethiopian year (default: current EC year) | 2016 |
calendar |
string | No | "ethiopian" (default) or "gregorian" |
gregorian |
lang |
string | No | Language code (default: en) |
am |
tz |
string | No | IANA timezone | Africa/Addis_Ababa |
GET https://ethiopian-calendar-api.p.rapidapi.com/holidays?year=2016{
"status": "success",
"year": 2016,
"calendar": "ethiopian",
"holidays": [
{
"name": "Enkutatash (Ethiopian New Year)",
"type": "national",
"is_public_holiday": true,
"fixed": true,
"approximate": false,
"ethiopian_date": {"year": 2016, "month": 1, "day": 1, "month_name": "Meskerem"},
"gregorian_date": "2023-09-12",
"day_of_week": "Tuesday",
"description": "First day of the Ethiopian year, celebrated with family gatherings and bouquets of yellow adey abeba flowers."
},
{
"name": "Fasika (Ethiopian Easter)",
"type": "religious",
"is_public_holiday": false,
"fixed": false,
"approximate": false,
"ethiopian_date": {"year": 2016, "month": 8, "day": 27, "month_name": "Miyazia"},
"gregorian_date": "2024-05-05",
"day_of_week": "Sunday",
"description": "Commemorates the resurrection of Jesus Christ."
},
"..."
]
}Holiday types included:
| Category | Holidays |
|---|---|
| Fixed Ethiopian | Enkutatash (Mesk 1), Meskel (Mesk 17), Genna (Tahsas 29), Timkat (Tir 11), Adwa (Yekatit 23) |
| Movable Orthodox | Siklet (Good Friday), Fasika (Easter), Rikbe Kahinat (Ascension) |
| Fixed Gregorian | Labor Day (May 1), Patriots' Victory Day (May 5), Derg Downfall Day (May 28) |
| Islamic (approx.) | Eid al-Fitr, Eid al-Adha, Mawlid |
Get the next upcoming holiday from today (or a given date). Returns the Ethiopian and Gregorian dates, days until the holiday, and its description.
Methods: GET, POST
| Param | Type | Required | Description | Example |
|---|---|---|---|---|
now |
string | No | Override "today" (YYYY-MM-DD) | 2024-01-08 |
limit |
int | No | Number of holidays to return (1–10, default: 1) | 3 |
lang |
string | No | Language code (default: en) |
am |
tz |
string | No | IANA timezone | Africa/Addis_Ababa |
GET https://ethiopian-calendar-api.p.rapidapi.com/next-holiday?now=2024-01-08&limit=3{
"status": "success",
"reference_date": "2024-01-08",
"limit": 3,
"holidays": [
{
"name": "Timkat (Ethiopian Epiphany)",
"type": "religious",
"is_public_holiday": false,
"fixed": true,
"approximate": false,
"ethiopian_date": {"year": 2016, "month": 5, "day": 11, "month_name": "Tir"},
"gregorian_date": "2024-01-20",
"day_of_week": "Saturday",
"days_until": 12,
"description": "Commemorates the baptism of Jesus; celebrated with colorful processions of tabots."
},
"..."
]
}Countdown from today (or a given start date) to a target date. The target can be given as a Gregorian or Ethiopian date. Returns days, hours, minutes, seconds and whether the target is in the future.
Methods: GET, POST
| Param | Type | Required | Description | Example |
|---|---|---|---|---|
date |
string | Yes* | Target Gregorian date (YYYY-MM-DD) | 2024-09-12 |
year |
int | Yes* | Target Ethiopian year | 2017 |
month |
int | Yes* | Target Ethiopian month (1–13) | 1 |
day |
int | Yes* | Target Ethiopian day (1–30) | 1 |
from |
string | No | Start date (YYYY-MM-DD, default: today) | 2024-01-01 |
lang |
string | No | Language code (default: en) |
am |
tz |
string | No | IANA timezone | Africa/Addis_Ababa |
*Either date (Gregorian) OR year+month+day (Ethiopian) must be provided.
GET https://ethiopian-calendar-api.p.rapidapi.com/countdown?date=2024-09-12&from=2024-01-01{
"status": "success",
"target": {
"ethiopian_date": {"year": 2017, "month": 1, "day": 1, "month_name": "Meskerem"},
"gregorian_date": "2024-09-11"
},
"from": "2024-01-01",
"is_future": true,
"days": 254,
"hours": 0,
"minutes": 0,
"seconds": 0,
"total_days": 254
}POST example (Ethiopian target):
POST https://ethiopian-calendar-api.p.rapidapi.com/countdown
Content-Type: application/json
{
"year": 2017,
"month": 1,
"day": 1,
"from": "2024-01-01"
}Calculate the number of days between two dates. Supports Gregorian-to-Gregorian (GET query params) or Ethiopian-to-Ethiopian (POST JSON body with objects). Maximum span: 10 years.
Methods: GET, POST
| Param | Type | Required | Description | Example |
|---|---|---|---|---|
date1 |
string | Yes* | First Gregorian date (YYYY-MM-DD) | 2024-01-01 |
date2 |
string | Yes* | Second Gregorian date (YYYY-MM-DD) | 2024-12-31 |
from_ethiopian |
object | Yes* | First Ethiopian date {year, month, day} |
{"year":2016,"month":1,"day":1} |
to_ethiopian |
object | Yes* | Second Ethiopian date {year, month, day} |
{"year":2017,"month":1,"day":1} |
lang |
string | No | Language code (default: en) |
am |
*Either date1/date2 (Gregorian) OR from_ethiopian/to_ethiopian (Ethiopian objects, POST body only) must be provided.
GET request (Gregorian dates):
GET https://ethiopian-calendar-api.p.rapidapi.com/difference?date1=2024-01-01&date2=2024-12-31{
"status": "success",
"date1": {
"gregorian_date": "2024-01-01",
"ethiopian_date": {"year": 2016, "month": 4, "day": 22, "month_name": "Tahsas"}
},
"date2": {
"gregorian_date": "2024-12-31",
"ethiopian_date": {"year": 2017, "month": 4, "day": 21, "month_name": "Tahsas"}
},
"days_between": 365,
"direction": "date1_before_date2"
}POST request (Ethiopian dates):
POST https://ethiopian-calendar-api.p.rapidapi.com/difference
Content-Type: application/json
{
"from_ethiopian": {"year": 2016, "month": 1, "day": 1},
"to_ethiopian": {"year": 2017, "month": 1, "day": 1}
}{
"status": "success",
"date1": {
"gregorian_date": "2023-09-12",
"ethiopian_date": {"year": 2016, "month": 1, "day": 1, "month_name": "Meskerem"}
},
"date2": {
"gregorian_date": "2024-09-11",
"ethiopian_date": {"year": 2017, "month": 1, "day": 1, "month_name": "Meskerem"}
},
"days_between": 365,
"direction": "date1_before_date2"
}Convert standard 24-hour clock time to the Ethiopian 12-hour sunrise clock. The Ethiopian day starts at sunrise (6:00 AM = 12:00 Ethiopian). Includes "short minutes" (kets), where 1 kets = 30 standard minutes.
Methods: GET, POST
| Param | Type | Required | Description | Example |
|---|---|---|---|---|
time |
string | No | 24-hour time (HH:MM, default: current time) | 09:30 |
tz |
string | No | IANA timezone | Africa/Addis_Ababa |
lang |
string | No | Language code (default: en) |
am |
GET https://ethiopian-calendar-api.p.rapidapi.com/time?time=09:30{
"status": "success",
"standard_time": "09:30",
"ethiopian_time": {
"hour": 3,
"minute": 30,
"short_minutes": 1,
"minute_remainder": 0,
"period": "morning",
"display": "3:30 morning"
},
"explanation": "The Ethiopian day starts at sunrise (6:00 AM standard time = 12:00 Ethiopian). Standard 6 AM is 12 o'clock; standard noon is 6 o'clock. A 'short minute' (kets) equals 30 standard minutes."
}POST request (current time in Addis Ababa):
POST https://ethiopian-calendar-api.p.rapidapi.com/time
Content-Type: application/json
{
"timezone": "Africa/Addis_Ababa"
}{
"status": "success",
"standard_time": "14:30",
"ethiopian_time": {
"hour": 8,
"minute": 30,
"short_minutes": 1,
"minute_remainder": 0,
"period": "afternoon",
"display": "8:30 afternoon"
},
"date": {
"gregorian_date": "2026-08-26",
"ethiopian_date": {"year": 2018, "month": 12, "day": 3, "month_name": "Nehase"},
"time_zone": "Africa/Addis_Ababa"
},
"explanation": "The Ethiopian day starts at sunrise (6:00 AM standard time = 12:00 Ethiopian)."
}Ethiopian month and weekday names in English, Ge'ez/Amharic, romanized Oromo, and romanized Tigrinya.
Method: GET
| Param | Type | Required | Description | Example |
|---|---|---|---|---|
lang |
string | No | Filter: all (default), en, am, om, or ti |
am |
GET https://ethiopian-calendar-api.p.rapidapi.com/month-names?lang=am{
"status": "success",
"months": [
{"number": 1, "en": "Meskerem", "am": "መስከረም", "om": "Sadaasa", "ti": "Meskereem", "days": 30},
{"number": 2, "en": "Tikimt", "am": "ጥቅምት", "om": "Onkololeessa", "ti": "Tkeme", "days": 30},
"...",
{"number": 13, "en": "Pagumen", "am": "ጳጉሜ", "om": "Qarramaa", "ti": "Pagumeen", "days": "5 or 6"}
],
"days": [
{"number": 1, "en": "Monday", "am": "ሰኞ"},
{"number": 2, "en": "Tuesday", "am": "ማክሰኞ"},
"...",
{"number": 7, "en": "Sunday", "am": "እሑድ"}
]
}Batch-convert up to 100 dates in a single request. Choose a direction: "to-gregorian" (Ethiopian→Gregorian) or "to-ethiopian" (Gregorian→Ethiopian). Each item is converted independently — one invalid item fails only that item.
Method: POST only
| Body Field | Type | Required | Description | Example |
|---|---|---|---|---|
direction |
string | Yes | "to-gregorian" or "to-ethiopian" |
to-ethiopian |
dates |
array | Yes | Array of date objects (max 100) | see below |
lang |
string | No | Language code (default: en) |
am |
For to-gregorian, each item: {"year": 2016, "month": 1, "day": 1}
For to-ethiopian, each item: {"date": "2024-01-01"}
POST https://ethiopian-calendar-api.p.rapidapi.com/batch
Content-Type: application/json
{
"direction": "to-ethiopian",
"dates": [
{"date": "2024-01-01"},
{"date": "2024-05-05"},
{"date": "2024-09-11"}
]
}{
"status": "success",
"direction": "to-ethiopian",
"count": 3,
"failed": 0,
"results": [
{
"index": 0,
"input": {"date": "2024-01-01"},
"ethiopian_date": {"year": 2016, "month": 4, "day": 22, "month_name": "Tahsas"},
"day_of_week": "Monday"
},
{
"index": 1,
"input": {"date": "2024-05-05"},
"ethiopian_date": {"year": 2016, "month": 8, "day": 27, "month_name": "Miyazia"},
"day_of_week": "Sunday"
},
{
"index": 2,
"input": {"date": "2024-09-11"},
"ethiopian_date": {"year": 2017, "month": 1, "day": 1, "month_name": "Meskerem"},
"day_of_week": "Wednesday"
}
]
}Batch with a failed item:
POST https://ethiopian-calendar-api.p.rapidapi.com/batch
Content-Type: application/json
{
"direction": "to-gregorian",
"dates": [
{"year": 2016, "month": 1, "day": 1},
{"year": 2015, "month": 13, "day": 6},
{"year": 2016, "month": 0, "day": 1}
]
}{
"status": "success",
"direction": "to-gregorian",
"count": 3,
"failed": 1,
"results": [
{
"index": 0,
"input": {"year": 2016, "month": 1, "day": 1},
"gregorian_date": "2023-09-12",
"day_of_week": "Tuesday"
},
{
"index": 1,
"input": {"year": 2015, "month": 13, "day": 6},
"gregorian_date": "2023-09-10",
"day_of_week": "Sunday"
},
{
"index": 2,
"input": {"year": 2016, "month": 0, "day": 1},
"error": "'month' must be >= 1",
"code": "INVALID_PARAMETER"
}
]
}RapidAPI enforces per-plan rate limits before requests reach the API. The API itself does not enforce rate limits — all throttling is handled by the RapidAPI gateway.
Copyright © 2026 Dakidarts Web Services (DWS). All rights reserved.
