Skip to main content

Hi all,

I’m working on an API integration for a website, and even though (for now) it’s working correctly, I’m wondering if I’m there’s a better way to get a user availability for an event type to display in a calendar component.

Since `event_type_available_times` has a 7-day date range limit, I’m currently doing 4 consecutive calls to fetch the availability for each month. The problem is that it’s incredibly slow, so when the user first opens up the calendar, or then switches to the next month, it’s taking around 5-7 seconds to complete all the requests and display the days with availability.

Is there a more optimized/faster way to do this? 

Thank you!

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:

  1. 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.

  2. 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.

  3. 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.

  4. 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


Reply