Microsoft Graph: Retrieve User Calendar Events

Victoria Jul 07, 2026

Microsoft Graph, a RESTful web API that enables you to access Microsoft Cloud service resources, offers a robust way to interact with user calendars in Microsoft 365. One of the key functionalities is retrieving user calendar events, which can be incredibly useful for integrating calendar data into custom applications or extracting valuable insights from event data.

an image of a project schedule on the desktop screen with multiple tasks and options highlighted
an image of a project schedule on the desktop screen with multiple tasks and options highlighted

To get started, you'll need to understand the basics of Microsoft Graph's calendar API and have the necessary permissions to access calendar data. This article will guide you through the process of retrieving user calendar events using Microsoft Graph, ensuring you have a solid understanding of the API and its capabilities.

digital marketing
digital marketing

Understanding Microsoft Graph Calendar API

Microsoft Graph's calendar API allows you to perform various operations on calendars, including creating, updating, and deleting events. To retrieve user calendar events, you'll use the /me/events or /users/{id | userPrincipalName}/events endpoints, where me represents the signed-in user, and id or userPrincipalName specifies the user whose calendar events you want to access.

How to create a shared calendar in Microsoft Teams
How to create a shared calendar in Microsoft Teams

Before proceeding, ensure you have the appropriate permissions. For user calendars, you'll typically need one of the following permissions: Calendars.Read, Calendars.ReadWrite, or Calendars.ReadWrite.All, depending on whether you're accessing your own calendar or another user's calendar.

Retrieving Calendar Events for the Signed-in User

an image of a calendar with the date circled in blue and arrows pointing to it
an image of a calendar with the date circled in blue and arrows pointing to it

To fetch calendar events for the signed-in user, use the /me/events endpoint. You can specify various query parameters to filter and sort the results, such as startDateTime, endDateTime, and orderBy. Here's an example of a GET request to retrieve upcoming events for the next seven days:

GET https://graph.microsoft.com/v1.0/me/events?startDateTime=2022-01-01T00:00:00Z&endDateTime=2022-01-08T23:59:59Z

The response will contain an array of event objects, each with properties like subject, start/end date and time, location, and attendees. You can explore the full event schema in the Microsoft Graph documentation.

Retrieving Calendar Events for a Specific User

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

To fetch calendar events for a specific user, replace me with the user's ID or user principal name in the endpoint. For example, to retrieve events for a user with ID '12345678-90ab-cdef-1234-567890abcdef', use:

GET https://graph.microsoft.com/v1.0/users/12345678-90ab-cdef-1234-567890abcdef/events

Again, you can include query parameters to filter and sort the results as needed.

Advanced Querying and Pagination

Free Content Calendar Template | ConversionMinded
Free Content Calendar Template | ConversionMinded

Microsoft Graph supports advanced querying capabilities, allowing you to retrieve events based on specific criteria. For instance, you can search for events with a particular subject or containing specific text in the body. You can also use the $filter query parameter to combine multiple conditions using logical operators like and, or, and not.

When working with large datasets, it's essential to use pagination to retrieve results in manageable chunks. Microsoft Graph supports both server-side and client-side pagination. Server-side pagination is enabled by default and allows you to specify the number of results per page using the $top query parameter. Client-side pagination, on the other hand, involves using the @odata.nextLink property in the response to retrieve the next page of results.

an image of a calendar with different times and dates for each month, including the date
an image of a calendar with different times and dates for each month, including the date
How to Create Year and School Calendar with Dynamic Date Markers » The Spreadsheet Page
How to Create Year and School Calendar with Dynamic Date Markers » The Spreadsheet Page
an event calendar with a magnifying glass next to it
an event calendar with a magnifying glass next to it
HyFlow
HyFlow
an image of a calendar on a computer screen
an image of a calendar on a computer screen
Assign a color category to a calendar event in Outlook
Assign a color category to a calendar event in Outlook
The only customizable calendar for business - Teamup Home
The only customizable calendar for business - Teamup Home
Benefits of Using Outlook Calendar Invite Templates
Benefits of Using Outlook Calendar Invite Templates
MS Excel 2016: How to Create a Line Chart
MS Excel 2016: How to Create a Line Chart
how to create a shared calendar in microsoft teams
how to create a shared calendar in microsoft teams
🗓️ My Google Calendar
🗓️ My Google Calendar
Free Calendrier mensuel des événements Modèle en Google Sheets and Microsoft Excel | thegoodocs.com
Free Calendrier mensuel des événements Modèle en Google Sheets and Microsoft Excel | thegoodocs.com
a desktop screen with a calendar on it and an image of the same page as well
a desktop screen with a calendar on it and an image of the same page as well
Interactive calendar with visualization data periods in Excel
Interactive calendar with visualization data periods in Excel
4 Best Free Event Planning Software for Mac
4 Best Free Event Planning Software for Mac
a poster with the dates and times for an event in black and white, on a light blue background
a poster with the dates and times for an event in black and white, on a light blue background
UI design Calendar, Planner, Events, Schedule, CRM
UI design Calendar, Planner, Events, Schedule, CRM
weekly calender
weekly calender
a calendar is shown with different colors and numbers
a calendar is shown with different colors and numbers
a calendar with the date and time for each event to be taken off on it
a calendar with the date and time for each event to be taken off on it

Querying Events with Specific Criteria

To search for events with a particular subject, you can use the following query:

GET https://graph.microsoft.com/v1.0/me/events?$filter=subject eq 'Project Meeting'

To find events containing specific text in the body, use the contains operator:

GET https://graph.microsoft.com/v1.0/me/events?$filter=contains(body/content, 'deadline')

Paginating Results

To retrieve results in smaller chunks, use the $top query parameter to specify the number of items per page. For example, to get 10 events per page, use:

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

To retrieve the next page of results, use the @odata.nextLink property in the response:

GET 

Incorporating Microsoft Graph's calendar API into your applications can unlock powerful use cases, such as building custom calendar apps, integrating calendar data with other services, or extracting valuable insights from event data. By mastering the API and its querying capabilities, you'll be well-equipped to harness the full potential of Microsoft 365 calendar data in your projects.