Find in-depth developer documentation for Exchange Server, including Exchange Online as part of Office 365 and Exchange Server on-premises versions.
You can use the how to, get started, new feature, and API reference documentation to develop tools to access and manage mailbox data from services, websites, desktop computers, and mobile devices, and to create custom solutions for email, calendar, contacts, and other items that are stored in Exchange Online or on an Exchange 2010, 2013, 2016, and 2019 server.
You can use Graph API, REST API, Exchange Web Services (EWS), Autodiscover, Outlook add-ins, or other APIs to develop your applications. This page helps you choose the right Exchange technology.
Use the following table to identify the technology and related API content that will help you meet your development goals.
Wichteg
Microsoft Graph is the recommended API to use for accessing Exchange Online data. New applications designed to access Exchange Online data should use Microsoft Graph.
If you are building...
Start here
A REST-based app to access Exchange Online as part of Office 365
Some of these technologies enable your applications to work with data that is stored in Exchange, and others are used to manage and control the Exchange server. In many cases, you can use more than one programming technology or language to accomplish a task, which makes it possible for you to use the technologies and languages that you are familiar with. For example, you can set properties on items in the Exchange store by using the Mail REST API, EWS, or the EWS Managed API.
Exchange interacts with custom applications in a variety of ways, depending on the application architecture and functionality. At its core, Exchange not only transports messages, but also maintains mailboxes, executes form-based applications, and more.
Exchange interaction
Description
Message transport
Exchange serves as a standard mail server for applications that send messages. Exchange includes several APIs that transfer messages, including REST, EWS, and the EWS Managed API. In addition, applications can use transport agents to respond as messages are processed and delivered by Exchange.
Mailbox storage
Exchange provides a hierarchical structure of folders, items, and properties for applications that access data stored in mailboxes. You can access that stored information by using a combination of database and component object styles. You can perform queries on the data, and Exchange manages access to the stored data based on user and store permissions. Applications that handle mailbox data typically use REST, EWS, or the EWS Managed API.
Managed enterprise server
Exchange functions as a managed server for applications that manage Exchange servers and stores. Applications can configure, control, and monitor current activity and the health of Exchange servers across the organization. Exchange management applications use the Exchange Management Shell to manage Exchange servers.
If you're migrating from an earlier version of Exchange, use the information in this article to find out which development technologies are supported in current product versions, and which technology to migrate to.
Use the EWS Managed API, EWS, Autodiscover, and other web services in Exchange to create solutions for managing business email, calendar, and contacts on desktop and mobile devices and online.