Get started with the Microsoft Graph SDK for Typescript by integrating the Microsoft Graph API into your Typescript application!
Note
The Microsoft Graph Typescript SDK is currently in Pre-Release. This SDK allows you to build applications using the v1.0 of Microsoft Graph. If you want to try the latest Microsoft Graph APIs, use our beta SDK instead.
Supported Node.js versions are 22.x, 24.x, and 26.x.
# this will install the main package npm install @microsoft/msgraph-sdk # this will install the authentication provider for Azure Identity / Microsoft Entra npm install @microsoft/kiota-authentication-azure @azure/identity # this will install the fluent API package for the users API paths npm install @microsoft/msgraph-sdk-users
Note: we are working to add the getting started information for Typescript to our public documentation, in the meantime the following sample should help you getting started.
Register your application by following the steps at Register your app with the Microsoft Identity Platform.
An instance of the GraphServiceClient class handles building client. To create a new instance of this class, you need to provide an instance of AuthenticationProvider, which can authenticate requests to Microsoft Graph.
// @azure/identity const credential = new AuthorizationCodeCredential( 'YOUR_TENANT_ID', 'YOUR_CLIENT_ID', 'YOUR_CLIENT_SECRET', 'AUTHORIZATION_CODE', 'REDIRECT_URL', ); // @microsoft/kiota-authentication-azure const authProvider = new AzureIdentityAuthenticationProvider(credential, ["User.Read"]);
// @azure/identity const credential = new ClientCertificateCredential( 'YOUR_TENANT_ID', 'YOUR_CLIENT_ID', 'YOUR_CERTIFICATE_PATH', ); // @microsoft/kiota-authentication-azure const authProvider = new AzureIdentityAuthenticationProvider(credential, ["https://graph.microsoft.com/.default"]);
// @azure/identity const credential = new ClientSecretCredential( 'YOUR_TENANT_ID', 'YOUR_CLIENT_ID', 'YOUR_CLIENT_SECRET', ); // @microsoft/kiota-authentication-azure const authProvider = new AzureIdentityAuthenticationProvider(credential, ["https://graph.microsoft.com/.default"]);
// @azure/identity const credential = new OnBehalfOfCredential({ tenantId: 'YOUR_TENANT_ID', clientId: 'YOUR_CLIENT_ID', clientSecret: 'YOUR_CLIENT_SECRET', userAssertionToken: 'JWT_TOKEN_TO_EXCHANGE', }); // @microsoft/kiota-authentication-azure const authProvider = new AzureIdentityAuthenticationProvider(credential, ["https://graph.microsoft.com/.default"]);
// @azure/identity const credential = new DeviceCodeCredential({ tenantId: 'YOUR_TENANT_ID', clientId: 'YOUR_CLIENT_ID', userPromptCallback: (info) => { console.log(info.message); }, }); // @microsoft/kiota-authentication-azure const authProvider = new AzureIdentityAuthenticationProvider(credential, ["User.Read"]);
// @azure/identity const credential = new InteractiveBrowserCredential({ tenantId: 'YOUR_TENANT_ID', clientId: 'YOUR_CLIENT_ID', redirectUri: 'http://localhost', }); // @microsoft/kiota-authentication-azure const authProvider = new AzureIdentityAuthenticationProvider(credential, ["User.Read"]);
// @azure/identity const credential = new UsernamePasswordCredential( 'YOUR_TENANT_ID', 'YOUR_CLIENT_ID', 'YOUR_USER_NAME', 'YOUR_PASSWORD', ); // @microsoft/kiota-authentication-azure const authProvider = new AzureIdentityAuthenticationProvider(credential, ["User.Read"]);
You must get a GraphServiceClient object to make requests against the service.
const requestAdapter = new GraphRequestAdapter(authProvider); const graphServiceClient = createGraphServiceClient(requestAdapter);
After you have a GraphServiceClient that is authenticated, you can begin making calls against the service. The requests against the service look like our REST API.
To retrieve the user's detailed information:
import { createGraphServiceClient, GraphRequestAdapter } from "@microsoft/msgraph-sdk"; import "@microsoft/msgraph-sdk-users"; const requestAdapter = new GraphRequestAdapter(authProvider); const graphServiceClient = createGraphServiceClient(requestAdapter); const jane = await graphServiceClient.users.byUserId("[email protected]").get();
For more detailed documentation, see:
For known issues, see issues.
The Microsoft Graph SDK is open for contribution. To contribute to this project, see Contributing.
Copyright (c) Microsoft Corporation. All Rights Reserved. Licensed under the MIT license.