Quickstart: Using Client Libraries

This page shows you how to get started with the Google Analytics Admin API in your favorite programming language using the client Libraries.

Step 1. Enable the API

Click this button to create a new Cloud Platform project and automatically enable the Google Analytics Admin API:

Enable the Google Analytics Admin API

In resulting dialog click DOWNLOAD CLIENT CONFIGURATION and save the file credentials.json to your working directory.

Step 2. Configure authentication

This application demonstrates the usage of the Google Analytics Admin API using service account credentials.

Read more for instructions on creating and setting service account credentials for your application.

An easy way to provide service account credentials is by setting the GOOGLE_APPLICATION_CREDENTIALS environment variable, the API client will use the value of this variable to find the service account key JSON file.

To set the application credentials in this example, run the following command and use the path to the service account JSON file downloaded at Step 1:


For example:

export GOOGLE_APPLICATION_CREDENTIALS="/home/user/Downloads/service_account.json"

Step 3. Install the client library


If you are using Maven, add this to your pom.xml file:


If you are using Gradle, add this to your dependencies
compile 'com.google.analytics:google-analytics-admin:0.1.1'


Install this library in a virtualenv using pip. virtualenv is a tool to create isolated Python environments. The basic problem it addresses is one of dependencies and versions, and indirectly permissions.

With virtualenv, it’s possible to install this library without needing system install permissions, and without clashing with the installed system dependencies.

pip install virtualenv
source <your-env>/bin/activate
<your-env>/bin/pip install google-analytics-admin


npm install @google-analytics/admin


gem install google-analytics-admin-v1alpha


go get -u cloud.google.com/go/analytics/admin/apiv1alpha


If you are using Package Manager, execute this command:

Install-Package Google.Analytics.Admin.V1Alpha -Version 1.0.0-alpha01
If you are using .NET CLI, execute this command in your project's folder:
dotnet add package Google.Analytics.Admin.V1Alpha --version 1.0.0-alpha01
You can directly include the library dependency to your project by adding this to your .NET project file:

<PackageReference Include="Google.Analytics.Admin.V1Alpha" Version="1.0.0-alpha01" />

Make an API call

Now you can use the Google Analytics Admin API to list the Google Analytics accounts. Run the following code to perform your first call to the API:


import com.google.analytics.admin.v1alpha.Account;
import com.google.analytics.admin.v1alpha.AnalyticsAdminServiceClient;
import com.google.analytics.admin.v1alpha.AnalyticsAdminServiceClient.ListAccountsPage;
import com.google.analytics.admin.v1alpha.AnalyticsAdminServiceClient.ListAccountsPagedResponse;
import com.google.analytics.admin.v1alpha.ListAccountsRequest;

public class QuickstartSample {

  public static void main(String... args) throws Exception {

  // This is an example snippet that calls the Google Analytics Admin API and lists all Google
  // Analytics accounts available to the authenticated user.
  static void listAccounts() throws Exception {
    // Instantiates a client using default credentials.
    // See https://cloud.google.com/docs/authentication/production for more information
    // about managing credentials.
    try (AnalyticsAdminServiceClient analyticsAdmin = AnalyticsAdminServiceClient.create()) {
      // Calls listAccounts() method of the Google Analytics Admin API and prints
      // the response for each account.
      ListAccountsPagedResponse response = analyticsAdmin
      for (ListAccountsPage page : response.iteratePages()) {
        for (Account account : page.iterateAll()) {
          System.out.printf("Account name: %s%n", account.getName());
          System.out.printf("Display name: %s%n", account.getDisplayName());
          System.out.printf("Country code: %s%n", account.getCountryCode());
          System.out.printf("Create time: %s%n", account.getCreateTime().getSeconds());
          System.out.printf("Update time: %s%n", account.getUpdateTime().getSeconds());


def list_accounts():
  """Lists the available Google Analytics accounts."""
  from google.analytics.admin import AnalyticsAdminServiceClient
  # Using a default constructor instructs the client to use the credentials
  # specified in GOOGLE_APPLICATION_CREDENTIALS environment variable.
  client = AnalyticsAdminServiceClient()

  # Displays the configuration information for all Google Analytics accounts
  # available to the authenticated user.
  for account in client.list_accounts():


// Imports the Google Analytics Admin API client library
const analyticsAdmin = require('@google-analytics/admin');

async function main() {
  // Instantiates a client using default credentials.
  // TODO(developer): uncomment and use the following line in order to
  //  manually set the path to the service account JSON file instead of
  //  using the value from the GOOGLE_APPLICATION_CREDENTIALS environment
  //  variable.
  // const analyticsAdminClient = new analyticsAdmin.AnalyticsAdminServiceClient(
  //     {keyFilename: "your_key_json_file_path"});
  const analyticsAdminClient = new analyticsAdmin.AnalyticsAdminServiceClient();

  // Calls listAccounts() method of the Google Analytics Admin API and prints
  // the response for each account.
  const [accounts] = await analyticsAdminClient.listAccounts();

  accounts.forEach(account => {

main(...process.argv.slice(2)).catch(err => {
  process.exitCode = 1;
process.on('unhandledRejection', err => {
  process.exitCode = 1;


require "google/analytics/admin/v1alpha"

client = ::Google::Analytics::Admin::V1alpha::AnalyticsAdminService::Client.new
request = my_create_request
response = client.get_account request


    ctx := context.Background()
    c, err := admin.NewAnalyticsAdminClient(ctx)
    if err != nil {


    req := &adminpb.ListAccountsRequest{}
    it := c.ListAccounts(ctx, req)
    for {
      resp, err := it.Next()
      if err == iterator.Done {
      if err != nil {


      _ = resp


using Google.Analytics.Admin.V1Alpha;
using System;

namespace AnalyticsSamples
    class QuickStart
        static void Main(string[] args)
            var client = AnalyticsAdminServiceClient.Create();
            var response = client.ListAccounts( new ListAccountsRequest() );
            foreach( Account account in response )
                Console.WriteLine("Account name: {0}", account.Name);
                Console.WriteLine("Display name: {0}", account.DisplayName);
                Console.WriteLine("Country code: {0}", account.CountryCode);
                Console.WriteLine("Update time: {0}", account.UpdateTime);
                Console.WriteLine("Create time: {0}", account.CreateTime);

Congratulations! You've sent your first request to the Google Analytics Admin API.