Hi there,
Great question—and I totally understand the need to improve performance when loading availability into a calendar component.
You're correct that the event_type_available_times
endpoint is limited to a 7-day window per request, so batching multiple requests (like you’re doing for a full month) can introduce latency.
At the moment, there isn’t a more efficient or consolidated endpoint for fetching a broader range of availability in a single call. However, here are a few suggestions to help improve performance:
-
Parallelize your requests: Instead of sending 4 requests sequentially, try firing them off in parallel using Promise.all
(or your language’s equivalent). This can help reduce the total loading time significantly.
-
Preload future weeks: Consider loading the first 7 days initially for faster page interaction, then preload the rest of the month in the background as the user browses.
-
Cache availability data: If possible, cache availability responses client-side (or server-side) for the current session to avoid re-fetching when users switch back and forth between weeks or months.
-
Reduce unnecessary re-renders: Ensure that your calendar component is only updating UI elements that change when new data loads.
We appreciate your feedback—this is a common use case, and performance improvements for this type of integration are top of mind for our API team. If you’d like to share more about your setup or challenges, feel free to reach out to Calendly Support via live chat (on paid plans) or email us at support@calendly.com.
I hope this helps!
-Javay
Developer Support, Calendly