Quickstart: Setup the Natural Language API

This guide provides all required setup steps to start using Natural Language.

About the Google Cloud Console

The Google Cloud Console, is a web UI used to provision, configure, manage, and monitor systems that use Google Cloud products. You use the Google Cloud Console to set up and manage Natural Language resources.

Create a project

To use services provided by Google Cloud, you must create a project.

A project organizes all your Google Cloud resources. A project consists of the following components:

  • a set of collaborators
  • enabled APIs (and other resources)
  • monitoring tools
  • billing information
  • authentication and access controls

You can create one project, or you can create multiple projects and use them to organize your Google Cloud resources in a resource hierarchy. For more information on projects, see the Resource Manager documentation.

In the Google Cloud Console, on the project selector page, select or create a Google Cloud project.

Go to the project selector page

Enable billing

A billing account is used to define who pays for a given set of resources, and it can be linked to one or more projects. Project usage is charged to the linked billing account. In most cases, you configure billing when you create a project. For more information, see the Billing documentation.

Make sure that billing is enabled for your Cloud project. Learn how to confirm that billing is enabled for your project.

Enable the API

You must enable the Cloud Natural Language API for your project. For more information on enabling APIs, see the Service Usage documentation.

Enable the Cloud Natural Language API.

Enable the API

Set up authentication

Any client application that uses the API must be authenticated and granted access to the requested resources. This section describes important authentication concepts and provides steps for setting it up. For more information, see the Google Cloud authentication overview.

About service accounts

There are multiple options for authentication, but it is recommended that you use service accounts for authentication and access control. A service account provides credentials for applications, as opposed to end-users. Service accounts are owned by projects, and you can create many service accounts for a project. For more information, see Service accounts.

About roles

When an identity calls an API, Google Cloud requires that the identity has the appropriate permissions. You can grant permissions by granting roles to a service account. For more information, see the Identity and Access Management documentation.

For the purpose of trying the Natural Language API, you can use the Project > Owner role in steps below, which grants the service account full permission to resources in your project. If your service account does not require full permissions, you can specify a more restrictive role using the Google Cloud Console. For a list of roles and permissions, see IAM permissions reference. For information on managing permissions using IAM roles, see granting roles to service accounts.

About service account keys

Service accounts are associated with one or more public/private key pairs. When you create a new key pair, you download the private key. Your private key is used to generate credentials when calling the API. You are responsible for security of the private key and other management operations, such as key rotation.

Create a service account and download the private key file

Set up authentication:
  1. In the Cloud Console, go to the Create service account key page.

    Go to the Create Service Account Key page
  2. From the Service account list, select New service account.
  3. In the Service account name field, enter a name.
  4. From the Role list, select Project > Owner.

  5. Click Create. A JSON file that contains your key downloads to your computer.

Use the service account key file in your environment

Provide authentication credentials to your application code by setting the environment variable GOOGLE_APPLICATION_CREDENTIALS. Replace [PATH] with the file path of the JSON file that contains your service account key. This variable only applies to your current shell session, so if you open a new session, set the variable again.

Linux or macOS


For example:

export GOOGLE_APPLICATION_CREDENTIALS="/home/user/Downloads/my-key.json"


With PowerShell:


For example:


With command prompt:


Install and initialize the Cloud SDK

If you plan to use the Natural Language API, you need to install and initialize the Cloud SDK. Cloud SDK is a set of tools that you can use to manage resources and applications hosted on Google Cloud. This includes the gcloud command line tool. The following link provides instructions:

Install and initialize the Cloud SDK.

Test the SDK and authentication

If you have set up authentication in previous steps, you can use the gcloud tool to test your authentication environment. Execute the following command and verify that no error occurs and that credentials are returned:

gcloud auth application-default print-access-token

That command is used by all Natural Language command line REST samples to authenticate API calls.

Install the Natural Language API client library

You have three options for calling the Natural Language API:

The client libraries are available for several popular languages. For information on installing the client libraries, see Cloud Natural Language Client Libraries.