My favorites | English | Sign in

Google Apps APIs Overview

Google Apps provides powerful communication, collaboration, and productivity tools right from the browser. More than 3 million businesses are using Google Apps and 3,000 more sign up each day. With Google's platform, you can extend the functionality of Google Apps, integrate with other systems, or build new applications for your company and other businesses.

Most Google Apps APIs fit into three general categories: Google Data APIs, Gadgets APIs, and Google Apps Script services.

Google Apps APIs


  1. Application APIs


    Google Application APIs allow developers to write applications that access Google Applications such as Gmail, Calendar, and many others using Google Data APIs, Gadgets, and Google Apps Script.

    1. Google Apps Script

      Apps Script
      Google Apps Script is a JavaScript cloud scripting language that provides easy ways to automate tasks across Google products and third party services.

      Gmail APIs

      Gmail APIs and Tools
      Gmail Gadgets
      • Sidebar gadgets are small, portable web applications that live in the left-hand side of the Gmail UI. They support the gadgets.* API.
      • Contextual gadgets are applications that are displayed at the bottom of individual email messages and are triggered by contextual clues, such as the contents of Subject lines, sender and recipient email addresses, and more. Gmail contextual gadgets provide a way to integrate functionality into the workflow at precisely the point where it is useful. Gmail contextual gadgets can be listed for sale in the Google Apps Marketplace.

      Calendar APIs

      Calendar Data API
      The Google Calendar API allows client applications to create new events, edit or delete existing events, and query for events that match particular criteria. A client application has access to its user's private, shared and group calendars. Application developers can interact with these calendars by creating front end applications powered by their event information or by creating applications that publish event information to them.

      Calendar Gadgets


      • Sidebar Gadgets are small, portable web applications that live in the left-hand side of the Calendar UI. They support the gadgets.* API and also have access to event data and Calendar user-interface controls, which also allows them to act as plugins for the Google Calendar interface.
      • Event Gadgets allow web content to be embedded within a calendar. This calendar can be specific to a single user or shared with many users. These events can appear as normal events, events with icons, or standalone icons without an event "chip". When clicked, the gadget will load a specified URL inside of an iframe instead of the normal event bubble.

      Contacts APIs

      Contacts Data API
      With the Google Contacts Data API, developers can create client applications to manage a user's Gmail contacts. Developers can use the API to synchronize a user's Google contacts with contacts on a mobile device, maintain relationships between people in social applications, and give users the ability to communicate directly with their friends from external applications using phone, email, and IM.

      Google Document List APIs

      Documents List Data API
      The Google Documents List Data API allows client applications to manage a user's Google Documents (spreadsheets, word processor, presentations and arbitrary file types) using the Google Data protocol. Your client application can query a user's list of documents, manage folders, request or update the contents of a document, and upload, edit, or delete specific documents.

      Google Sites APIs

      Sites Data API
      The Google Sites Data API allows client applications to access, publish, and modify content within a Google Site. Google Sites is a collaborative content creation tool that can be used to centralize file attachments, information from other Google applications (like Google Docs, Google Calendar, YouTube, and Picasa), and free-form content. The API supports the ability to:
      • Retrieve, create, modify, and delete pages and content.
      • Upload/download attachments.
      • Review the revision history across a site.
      • Display recent user activity.
      Sites Gadgets
      Sites gadgets allow you to present multiple pieces of information from external sources (say live diagrams from distinct but related performance dashboards) in a single page along with explanatory text published directly in Sites. This saves visual real estate while collecting disparate information on the same topic in the same view. Gadgets also allow you to include dynamic content that would otherwise be prevented by Sites' security checks.

      Google Spreadsheets APIs

      Spreadsheets Data API
      The Google Spreadsheets data API allows client applications to view and update spreadsheets content. Spreadsheets are at the heart of an increasing number of critical business applications ranging from modeling and analysis to communication and plannng. A client application can use this API to implement spreadsheet functionality or to extend the functionality provided by Google Spreadsheets. It can also simply use a spreadsheet as a database back end or it can publish data to a spreadsheet to provide users a more expressive view.
      Spreadsheets Gadgets
      A spreadsheet gadget is a small program that interacts with the content of a spreadsheet. It is visually instantiated either within the spreadsheet itself or on another web page that supports gadgets, such as iGoogle.

      Google Tasks APIs

      Tasks API
      The Google Tasks API Allows client applications to view, create and update users Google Tasks content and metadata


  1. Auth APIs


    Google Apps and its APIs support a number of methods for performing authentication and authorization of users.
    1. OpenID Single Sign-On

      This service interface allows end users to sign in to third party websites using their Google Apps account. Offering this service frees users from having to set up separate login accounts for different web sites--and conversely, frees web site developers from the task of managing login information and security measures. It's based on the OpenID 2.0 Standard. The Federated Login service is available for all Google Apps versions. The service is disabled by default in Google Apps for Business, Education and ISPs, and requires the domain admin to enable it from the control panel.

      SAML Single Sign-On

      This service interface allows you to plug in your own identity provider to authenticate users who are trying to access Google Apps services. By implementing the interface you retain ownership and management of user credentials and avoid requiring users to remember yet another password. It's based on the SAML v2.0 Standard XML-based framework for communicating user authentication information between business entities. The single sign-on service is only available in Google Apps for Business, Education and ISPs.

      2-legged OAuth for Google Apps Data

      While OAuth authorization is available to all developers wishing to access the Google Data APIs, Google Apps for Business and Education administrators can enable a special kind of OAuth, called 2-legged OAuth. 2-legged OAuth allows administrators to act on behalf of end-users without their involvement and without requiring an access token as per the normal authorization flow (3-legged OAuth). As an example, administrators can use this feature to upload new documents to a user's account, add events to their Google Calendar, or create a new contact in their address book, all without the end-user's involvement.

      Google Apps Marketplace developers can also use 2-legged OAuth to access authorized data for all users on customer domains using a single consumer key and secret.

      3-legged OAuth for Google Apps Data

      Many Google Apps services allow third-party access to data, so long as access is granted by the user. This feature allows users to share and exchange data between their Google applications and third-party applications for a variety of purposes. Google supports several options for getting authorized access to a user's Google data, offering access to both web applications and installed applications.


  1. Google Apps Marketplace


    The Google Apps Marketplace offers domain-strength applications for organizations of all sizes. As a developer, listing your application in the Marketplace offers you the opportunity to reach the millions of Google Apps users — your potential customers.
    1. Google Apps Marketplace Overview

      Google Apps Marketplace allows you to build apps using Google Apps APIs and to list them in the Google Apps Marketplace. This allows you to more directly target the kinds of customers and organizations who are most likely to gain the most out of your app.

      Writing your first Marketplace App (Tutorials)

      If you are already familiar with the overview of Google Apps Marketplace and want to start working through a tutorial right away, visit this page to select a tutorial in your preferred programming language.


  1. Domain Information & Management APIs


    Domain administrators can use the following APIs to manage their domains, as well as migrate from and integrate with existing IT infrastructure. Developers of applications that integrate with Google Apps can use these APIs to access information about domains and their users.
    1. Admin Audit API

      With the Admin Audit API you can survey the activities of all of your account's administrators. The API gives details about changes to a key subset of your Google Apps services and features settings. In addition to the setting changes, the API returns specifics about the change activity itself, including the IP address used by the administrator.

      Admin Settings API

      The Admin Settings API enables you to manage Google Apps domain settings. These settings include the same general domain settings found in the Control Panel. In addition, the API manages settings for CNAME and MX record verification, IMAP email migration, a domain's Single Sign-On settings, granting email migration privileges, outbound email gateway settings, and email routing to another server. The Admin Settings service is only available for the Google Apps for Business, Education and ISPs.

      Calendar Resource API

      The Calendar Resources API allows client applications to create, modify, and retrieve information about Google Calendar resources.

      Domain Shared Contacts API

      The Shared Contacts API allows client applications to retrieve and update contacts that are shared to all users in a Google Apps domain. Your client application can use the Shared Contacts API to create new shared contacts, edit or delete existing shared contacts, and query for shared contacts that match particular criteria.

      Email Audit API

      The Email Audit API allows your client application to audit your Google Apps accounts' email, archived chats, and login information. In addition, your client application can download your users' mailboxes for audit purposes.

      Email Migration API

      The Email Migration API enables you to migrate email from any data source into Gmail. You can write extraction code which operates against an email server data store, interface protocol, or email client data store, then, using this API, upload the email messages to a target mailbox, specifying the correct labels, date, and status. The Email Migration API supports both end user tools and administrative tools. This API is only available in Google Apps for Business, Education and ISPs.

      Email Settings API

      The Email Settings API enables you to modify user-level Google Mail settings for any of the users at your domain. Using this API, you can change a user's forwarding, POP, or IMAP settings, set up an alias for them to send e-mail as, and more. This API is only available in Google Apps for Business, Education and ISPs.

      Groups Settings API

      The Groups Settings API enables you to manage internal and external group access, edit the group's notifications, configure discussion archiving and message moderation, and customize your account's user groups.

      Provisioning API

      The Provisioning API provides a mechanism to programmatically create and manage Google Apps user accounts with one or more domains, nicknames, email aliases,organization units, and groups. Using this API you can minimize disruption to your organization's current processes by synchronizing user data between Google Apps and your existing user management system. The Provisioning API is available for read/write access in Google Apps for Business, Education and ISPs. It is available in all Google Apps versions for read-only access by Apps Marketplace applications.

      Reporting API

      The Reporting API allows you to monitor the overall usage and utilization of Google Apps within your domain. Using this API, you can download a variety of CSV formatted reports about activity, storage, status, and more. This API is only available in Google Apps for Business, Education and ISPs.

      Reporting Visualization API

      The Reporting Visualization API allows you to monitor the overall usage and utilization of Google Apps within your domain. Using this API, you can visualize your reporting data with a variety of visualization gadgets provided by the developer community or custom visualizations for your specific needs. This API is only available in Google Apps for Business, Education and ISPs.

      User Profiles API

      The User Profiles API allows client applications to retrieve and update profile information for users in a Google Apps domain. Each user profile is stored in the owning user's Google Account, but it can be modified only by an administrator of the user's domain. Your client application can use the User Profiles API to retrieve the profiles of users in a Google Apps domain and to modify them on behalf of an administrator.

      Secure Data Connector

      Google Secure Data Connector (SDC) is a client tool that you can use with Google Apps fof Business or Education to connect gadgets, applications, and spreadsheets to data that is protected by a corporate firewall.