Loading…
Loading…
Candle lighting and the full day’s zmanim for San Jose, as JSON. No key, no sign-up. Use it in your own site, a home-screen widget, or a script.
All four work in a terminal, in a browser address bar, or from any page on the internet — access-control-allow-origin is open.
curl https://siliconchabad.com/api/shabbat
curl https://siliconchabad.com/api/zmanim
curl "https://siliconchabad.com/api/zmanim?date=2026-12-25"
curl "https://siliconchabad.com/api/shabbat?weeks=8"This is the real answer from /api/shabbat, generated when you loaded this page — not an example somebody typed out once.
{
"label": "Shabbat",
"candleLighting": {
"iso": "2026-09-18T18:52:00.000-07:00",
"local": "6:52 PM"
},
"havdalah": {
"iso": "2026-09-19T19:47:00.000-07:00",
"local": "7:47 PM"
}
}Every time is sent twice: iso for a machine, with the offset attached, and local as the clock on the wall in San Jose reads it. That is deliberate — slicing a date off a UTC timestamp gives you tomorrow from five in the afternoon Pacific, and we have shipped that bug four times in our own code.
const r = await fetch('https://siliconchabad.com/api/shabbat');
const { windows } = await r.json();
document.querySelector('#candles').textContent =
`Candle lighting ${windows[0].candleLighting.local}`;import urllib.request, json
with urllib.request.urlopen("https://siliconchabad.com/api/shabbat") as r:
w = json.load(r)["windows"][0]
print(w["label"], "candles", w["candleLighting"]["local"])Not from a library’s defaults. Every angle follows Chabad.org’s own published definitions for this location:
The last one is calibrated rather than merely documented: it is checked against Chabad.org’s own published times for two San Jose dates and asserted to the minute by a test that runs on every change. An earlier calibration against a single date was four minutes out, and the second date is what caught it.
Freely, including commercially, with no key and no attribution required — though a link back is kind. There is no rate limit; please cache rather than poll. Every response carries cache-control, so a browser or a proxy will hold the answer for you — and the zmanim for a given date never change, which is why an explicit ?date= is cached for a day. If you are going to depend on it for something that matters, tell us so we know it is there.
The code is open: packages/hebrew-calendar in the repository, with the tests that pin every number on this page.
Today in San Jose, for the record: dawn 5:27 AM, sunrise 6:50 AM, midday 1:02 PM, sunset 7:14 PM, nightfall 7:41 PM. All of them, every day: Shabbat & holiday times.