Your comments

Hi, thanks for using Hebcal.

The aliyah lengths are available via API using our JavaScript npm package

They are also available via Comma Separated Value (CSV) files which you can import into Microsoft Excel or some other spreadsheet program.

Hope this helps!

Hi, thanks for using Hebcal!

Go to and select Hebrew language on the form.

Hi, thanks for using Hebcal!

The triennial readings on come from A Complete Triennial System for Reading the Torah by the Committee on Jewish Law and Standards of the Rabbinical Assembly.

On page 418 of the document, Rabbi Eisenberg writes:

האזינו-וזאת הברכה should both be read in their entirety due to their brief length.

Note that וזאת הברכה is not a regular parsha read on Shabbat; it's read on the evening of Simchat Torah.

We can add triennial readings (which will be identical to the full kriyah readings) here for clarity.

Hi, thanks for using Hebcal!

The triennial readings on come from A Complete Triennial System for Reading the Torah by the Committee on Jewish Law and Standards of the Rabbinical Assembly.

On page 418 of the document, Rabbi Eisenberg writes:

נצבים-וילך are read separately about as often as they are combined. Because each Sidrah is brief (Nitzavim is only 40 verses, Vayelech 30 verses), I recommend reading both in their entirety when they appear separately.

Due to my reluctance to divide Deuteronomy 29:15-28 (which would necessitate ending on a negative note) there is some overlapping in year II (30:1-14). Similarly, in year III, 31:22 is repeated in order to avoid dividing 31:14-19, while allowing for seven aliyot.

On July 10, the Haftarah is Isaiah 66:1 - 66:24 for Shabbat Rosh Chodesh.

You can see it listed here:

OK, we've adjusted the cache time down to 3 hours when year=now and/or month=now, but actually increased it from 24 hours to 7 days when there's a user-specified year and/or month. This should fix your problem (within maximum 3 hours of the month flipping over) and still be good for our server and neetwork load.

Hi, thanks for using Hebcal. Sorry to hear about the difficulty with the API.

It turns out the issue you're seeing is actually due to caching, and not due to the &o=on parameter. When you specify cfg=json, the results are cached for 24 hours. We set a 24-hour expiry to reduce load on our servers and to speed up the results for clients. However, depending on where you are on the planet, today is either June 1 or May 31.

Note the age header below:

Michaels-MBP:~ mradwin$ curl --compressed -v '' | jq .title
> GET /hebcal?v=1&cfg=json&year=now&month=now&d=on&o=on HTTP/2
> Host:
> User-Agent: curl/7.54.0
> Accept: */*
> Accept-Encoding: deflate, gzip
< HTTP/2 200 
< server: nginx/1.18.0 (Ubuntu)
< date: Tue, 01 Jun 2021 15:44:10 GMT
< content-type: application/json; charset=utf-8
< content-length: 835
< vary: Accept-Encoding
< etag: W/"d9-CQGoPjGBqbw/ZdAoggDClB0DGFA"
< last-modified: Sun, 30 May 2021 22:46:51 GMT
< cache-control: max-age=86400
< content-encoding: gzip
< x-response-time: 3.875ms
< x-varnish: 37561102 34898242
< age: 61543
< via: 1.1 varnish (Varnish/6.2)
< access-control-allow-origin: *
< accept-ranges: bytes
"Hebcal Diaspora May 2021"
Michaels-MBP:~ mradwin$ curl --compressed -v '' | jq .title

In approximately 7 hours the cache will expire and you'll get the results for June 1.

If you specify the exact month and year (for example ) you will see that although &o=on is specified, you'll correctly get the June 2021 events.

In the future, I think we could safely reduce the cache from 24 hours to 4 hours when year=now and/or month=now to improve the coherency of the results without a significant impact on the user experience.

Hi, thanks for using Hebcal and thanks for your feedback.

We recently redesigned the holidays year-on-a-page to be more mobile friendly and to better clarify that holidays start the evening before (except for minor fasts which begin at dawn).

We hope you enjoy the new design!

In short: yes!

Feel free to make printed calendars, email newsletters, refrigerator magnets, and other content using events from

Except where otherwise noted, content on this site is licensed under a Creative Commons Attribution 3.0 License.

Among other things, this license gives you permission to remix, transform, and build upon the material for any purpose, even commercially. You must give appropriate credit to, but beyond that you need not send us money or even explicitly ask us for permission.

Thanks so much! That was helpful to have the URL, and we understand what the problem is. We have now fixed the problem. Please refresh the page and it should look correct now.