Microsoft Graph API: Fetch User Calendar

Victoria Jul 07, 2026

Microsoft Graph API provides a powerful way to access Microsoft cloud service resources, including calendars. If you're looking to retrieve a user's calendar, you're in the right place. This guide will walk you through the process, ensuring you understand the key aspects and can effectively use the API.

Using Microsoft Graph API inside Microsoft Flow in O365
Using Microsoft Graph API inside Microsoft Flow in O365

Before we dive in, ensure you have the necessary permissions and have registered an application in Azure Active Directory to get your client ID and tenant ID. Also, familiarize yourself with the basics of making authenticated requests to Microsoft Graph API.

APIs and app development
APIs and app development

Understanding the Calendar Resource

The Calendar resource in Microsoft Graph API represents a user's calendar, which can be used to manage events, appointments, and meetings. It's essential to understand that each user has a primary calendar and can also have additional calendars, such as those shared with them.

How to Use Microsoft Graph API in SPFx Web Parts
How to Use Microsoft Graph API in SPFx Web Parts

When you retrieve a user's calendar, you'll get information about the calendar itself, along with any events it contains. This can include details like the calendar's name, color, and whether it's the user's primary calendar or a shared one.

Retrieving the Primary Calendar

a purple and white calendar on a tablet screen
a purple and white calendar on a tablet screen

To get the primary calendar for a user, you can use the following API endpoint:

GET https://graph.microsoft.com/v1.0/me/calendar

In this request, me refers to the signed-in user. So, this API call will return the primary calendar of the user making the request.

Support Tip: Getting Started with Microsoft Graph API | Microsoft Community Hub
Support Tip: Getting Started with Microsoft Graph API | Microsoft Community Hub

Retrieving Additional Calendars

If you want to retrieve additional calendars for a user, you can use the following API endpoint:

GET https://graph.microsoft.com/v1.0/users/{id | userPrincipalName}/calendars

Best Digital Calendar Apps for Productivity in 2025
Best Digital Calendar Apps for Productivity in 2025

Replace {id | userPrincipalName} with the ID or user principal name of the user. This will return a collection of all calendars for the specified user, including their primary calendar and any shared calendars.

Paging and Filtering Calendar Results

Announcing Microsoft Lists - Your smart information tracking app in Microsoft 365
Announcing Microsoft Lists - Your smart information tracking app in Microsoft 365
a screenshot of the linked management dashboard
a screenshot of the linked management dashboard
Interactive Excel Calendar with Heatmap – Free Download
Interactive Excel Calendar with Heatmap – Free Download
UI design Calendar, Planner, Events, Schedule, CRM
UI design Calendar, Planner, Events, Schedule, CRM
Microsoft Embraces the Hybrid Work Reality Via Outlook, Teams Updates
Microsoft Embraces the Hybrid Work Reality Via Outlook, Teams Updates
an image of a calendar on a computer screen
an image of a calendar on a computer screen
a web page with an image of a man's profile and numbers on it
a web page with an image of a man's profile and numbers on it
Availability Calendar Template
Availability Calendar Template
Clockwise Web Marking as optional Flow | Mobbin — UI & UX design inspiration for mobile & web apps
Clockwise Web Marking as optional Flow | Mobbin — UI & UX design inspiration for mobile & web apps
Best Calendar Ideas
Best Calendar Ideas
a calendar with different times on it and numbers for each month, including the date
a calendar with different times on it and numbers for each month, including the date
the dashboard screen shows data, graphs and other things that can be seen in this image
the dashboard screen shows data, graphs and other things that can be seen in this image
SCHEDULE TAXIS LIMITED
SCHEDULE TAXIS LIMITED
Google Calendar will break down how much of your work is spent in meetings
Google Calendar will break down how much of your work is spent in meetings
Outlook
Outlook
15 Best Cloud Monitoring Tools for 2026 (Updated)
15 Best Cloud Monitoring Tools for 2026 (Updated)
Day 38/100 - Calendar - Arsh Gupta
Day 38/100 - Calendar - Arsh Gupta
GitHub - puikinsh/Adminator-admin-dashboard: Adminator is easy to use and well design admin dashboard template with dark mode for web apps, websites, services and more
GitHub - puikinsh/Adminator-admin-dashboard: Adminator is easy to use and well design admin dashboard template with dark mode for web apps, websites, services and more
The 7 Best Calendar Apps in the Microsoft Store
The 7 Best Calendar Apps in the Microsoft Store
The Best Calendar App for Windows | Any.do
The Best Calendar App for Windows | Any.do

When working with calendars, especially for users with many events or shared calendars, it's crucial to understand how to page through results and filter them to improve performance.

Microsoft Graph API supports $top, $skip, and $filter query parameters for pagination and filtering. For example, you can retrieve the first five events from a user's calendar like this:

GET https://graph.microsoft.com/v1.0/me/calendar/events?$top=5

Paging Through Results

To retrieve more results than the default page size (100 for most resources), you can use the $top and $skip parameters. For instance, to get the next 50 events after the first 100:

GET https://graph.microsoft.com/v1.0/me/calendar/events?$top=50&$skip=100

Filtering Results

You can filter results using the $filter parameter. For example, to retrieve events starting tomorrow:

GET https://graph.microsoft.com/v1.0/me/calendar/events?$filter=start/datetime ge 2022-01-01T00:00:00Z

Remember to replace the dates and times with the appropriate values for your use case. For more information on filtering, refer to the official Microsoft Graph API documentation.

Best Practices and Troubleshooting

When working with Microsoft Graph API, there are several best practices to keep in mind. Always ensure you have the necessary permissions, use pagination and filtering judiciously, and handle errors gracefully.

If you encounter issues, check the API documentation, review your request and response headers, and consider using the Microsoft Graph Explorer tool for testing and troubleshooting.

Now that you know how to retrieve a user's calendar using Microsoft Graph API, you're ready to build powerful applications that leverage this functionality. Happy coding!