Calendar — entry 007 of 17

Hebrew Calendar

Verified Jul 2026

Hebcal converts between Gregorian and Hebrew dates and computes Shabbat start/end times, holiday dates, Torah readings, and the Daf Yomi study cycle for any location, driven by the same open-source engine (@hebcal/core) that runs the hebcal.com website. Every endpoint is keyless JSON (or RSS/iCal on other routes) under a Creative Commons Attribution 4.0 license, so results can be reused commercially as long as Hebcal is credited. It's rate-limited to keep the free service polite — no more than 90 requests per 10-second window — and the once-http-only backend now serves over HTTPS as well.

Hebcal converts between Gregorian and Hebrew dates and computes Shabbat/holiday times, driven by the same open-source `@hebcal/core` engine behind hebcal.com. A live GET this run against `/converter` for today's Gregorian date (2026-07-29) returned the Hebrew equivalent (15 Av 5786) plus same-day Jewish calendar events (`Tu B'Av`, `Parashat Eikev`) in a single response.

jewish-calendarholidayszmanimkeyless
AuthenticationNone requiredCall it straight away — no key, no signup.
HTTPSSupportedTraffic is encrypted in transit.
CORSEnabledCallable directly from browser JavaScript.
PricingFreeNo paid tier — free for the documented use case.
FormatsJSONResponses can be requested as JSON.

GreatAPIs Score

Score74out of 100
Authentication25/25No authentication required
Pricing20/20Free to use
Docs0/20No docs or spec available
Formats9/15Single response format
Freshness20/20Verified within 6 months

Embed this badge

Scored 74 on greatapis.com
<a href="https://greatapis.com/api/hebrew-calendar/"><img src="https://greatapis.com/badge/hebrew-calendar.svg" alt="Scored 74 on greatapis.com"></a>

Auth quickstart

  1. No API key, signup, or credit card required. A live GET this run confirmed every route answers keyless over HTTPS with `access-control-allow-origin: *` -- results are Creative Commons Attribution 4.0 licensed, reusable commercially as long as Hebcal is credited. The service is rate-limited to keep it polite (no more than 90 requests per 10-second window per its own published docs), but that ceiling isn't raised by any token.
Stored keyNo key stored

Your key is stored only in this browser (localStorage) and sent directly to the API — never to greatapis.

Convert a Gregorian date to the Hebrew calendar

GEThttps://www.hebcal.com/converter?cfg=json&gy=2026&gm=7&gd=29&g2h=1

200 application/json; charset=utf-8

{"gy": 2026, "gm": 7, "gd": 29, "afterSunset": false, "hy": 5786, "hm": "Av", "hd": 15, "hebrew": "ט״ו בְּאָב תשפ״ו", "heDateParts": {"y": "תשפ״ו", "m": "אב", "d": "ט״ו"}, "events": ["Tu B’Av", "Parashat Eikev"]}

Try it

Developer reference

Base URLhttps://www.hebcal.com
Key endpoints
  • GET/converter?cfg=json&gy={year}&gm={month}&gd={day}&g2h=1
  • GET/shabbat?cfg=json&geonameid={geonameid}&M=on
  • GET/hebcal?v=1&cfg=json&year={year}&month=x&maj=on&min=on

Gotchas & limits

  • An out-of-range month doesn't silently clamp -- a live GET this run against `/converter?cfg=json&gy=2026&gm=13&gd=1&g2h=1` returned HTTP 400 with `{"error":"Gregorian month out of valid range 1-12: 13"}`.
  • Omitting the date entirely doesn't error the way a bad value does -- a live GET this run against `/converter?cfg=json&g2h=1` (no `gy`/`gm`/`gd`) returned HTTP 302, redirecting to a URL with today's server-side date filled in rather than rejecting the request.
  • The same `/converter` endpoint runs in reverse with a different flag and field set -- a live GET this run with `hy=5786&hm=Av&hd=15&h2g=1` (Hebrew-to-Gregorian) returned the identical response shape as the Gregorian-to-Hebrew direction above, just driven by the opposite input fields.
  • The Hebrew date comes back in two parallel forms -- a single combined `hebrew` string (`"ט״ו בְּאָב תשפ״ו"`) and a `heDateParts` object split into `y`/`m`/`d` pieces -- code that naively splits the combined string on spaces will mis-parse it since Hebrew month/year names can contain their own spaces.