You may want to try Calendar Provider API. With this API, CalendarContract.Instances
table holds the start and end time for each occurrence of an event. And for recurring events, multiple rows are automatically generated that correspond to multiple occurrences of that event.
In Querying the Instances table, you just need to specify a range time for the query in the URI.
Try to play around with the given example in the documentation and see if it will help you. Otherwise, see this GitHub post which mentioned about using a wrapper for ical.js
that also handles api call to get all recurring occurrences between two dates.