Skip to content

googleapis/google-cloud-node

Google Cloud Node.js Client Libraries

Node.js idiomatic client libraries for Google Cloud Platform services.

Libraries are available on GitHub and npm for developing Node.js applications that interact with individual Google Cloud services:

Repo Release Level Version
Access Approval Stable npm
Access Context Manager Stable npm
AI Platform Notebooks Stable npm
API Gateway Stable npm
Apigee Connect API Stable npm
App Engine Admin API Stable npm
Artifact Registry Stable npm
Asset Inventory Stable npm
Assured Workloads for Government Stable npm
AutoML Stable npm
Backup for GKE API Stable npm
BigQuery Migration API Stable npm
Bigtable Stable npm
Billing Stable npm
Billing Budgets Stable npm
Binary Authorization Stable npm
Build Stable npm
Certificate Authority Service Stable npm
Certificate Manager Stable npm
Channel API Stable npm
Composer Stable npm
Contact Center AI Insights API Stable npm
Data Catalog Stable npm
Data Fusion Stable npm
Data Loss Prevention Stable npm
Database Migration Service Stable npm
Dataplex Stable npm
Dataproc Stable npm
Dataproc Metastore Stable npm
Datastore Stable npm
Datastore Session Stable npm
Datastream Stable npm
Deploy Stable npm
Dialogflow API Stable npm
Dialogflow CX API Stable npm
DNS Stable npm
Document AI Stable npm
Document AI Warehouse Stable npm
Domains Stable npm
Error Reporting Stable npm
Essential Contacts API Stable npm
Eventarc Stable npm
Eventarc Publishing API Stable npm
Filestore Stable npm
Firestore Stable npm
Firestore Session Stable npm
Functions Stable npm
GKE Hub Stable npm
Google BigQuery Stable npm
Google BigQuery Connection Stable npm
Google BigQuery Data Transfer Service Stable npm
Google BigQuery Reservation Stable npm
Google BigQuery Storage Stable npm
Google Compute Engine Stable npm
Google Container Analysis Stable npm
Grafeas Stable npm
IAM Policy Troubleshooter API Stable npm
IAM Service Account Credentials API Stable npm
Identity and Access Management Stable npm
Identity-Aware Proxy Stable npm
IDS Stable npm
Internet of Things (IoT) Core Stable npm
Key Management Service Stable npm
Kubernetes Engine Cluster Manager API Stable npm
Live Stream API Stable npm
Logging Stable npm
Logging for Bunyan Stable npm
Logging for Winston Stable npm
Managed Service for Microsoft Active Directory Stable npm
Media Translation Stable npm
Memorystore for Memcached Stable npm
Migrate for Compute Engine Stable npm
Monitoring Dashboards Stable npm
Natural Language Stable npm
Network Connectivity Center Stable npm
Network Management API Stable npm
Optimization AI Stable npm
Organization Policy Stable npm
OS Config API Stable npm
OS Login Stable npm
Profiler Stable npm
Pub/Sub Stable npm
reCAPTCHA Enterprise Stable npm
Recommender Stable npm
Redis Stable npm
Resource Manager API Stable npm
Resource Settings API Stable npm
Retail API Stable npm
Run Stable npm
Scheduler Stable npm
Secret Manager Stable npm
Security Command Center Stable npm
Service Control API Stable npm
Service Directory Stable npm
Service Management API Stable npm
Service Usage Stable npm
Shell Stable npm
Spanner Stable npm
Speech Stable npm
Stackdriver Monitoring Stable npm
Storage Stable npm
Storage Transfer Service Stable npm
Talent Solution Stable npm
Tasks Stable npm
Text-to-Speech Stable npm
TPU Stable npm
Transcoder API Stable npm
Translation Stable npm
Vertex AI Stable npm
Video Intelligence Stable npm
Video Stitcher API Stable npm
Virtual Private Cloud Stable npm
Vision API Stable npm
VMware Engine API Stable npm
Web Risk API Stable npm
Web Security Scanner Stable npm
Workflow Executions Stable npm
Preview npm
Advisory Notifications API Preview npm
AlloyDB API Preview npm
Analytics Hub API Preview npm
Anthos Multi-Cloud API Preview npm
API Keys API Preview npm
Apigee Registry API Preview npm
App Hub API Preview npm
Area120 Tables API Preview npm
Bare Metal Solution API Preview npm
Batch Preview npm
BeyondCorp API Preview npm
BeyondCorp API Preview npm
BeyondCorp API Preview npm
BeyondCorp API Preview npm
BeyondCorp API Preview npm
Commerce Consumer Procurement API Preview npm
Confidential Computing API Preview npm
Connectors API Preview npm
Controls Partner API Preview npm
Data Labeling Preview npm
Data Lineage API Preview npm
Data QnA Preview npm
Dataflow Preview npm
Dataform API Preview npm
Discovery Engine API Preview npm
Distributed Cloud Edge Container API Preview npm
Distributed Cloud Edge Network API Preview npm
Generative Language API Preview npm
GKE Connect Gateway Preview npm
Google Analytics Admin Preview npm
Google Analytics Data Preview npm
Google Chat API Preview npm
Google Maps Routing Preview npm
Google Meet API Preview npm
Google Workspace Add-ons API Preview npm
Infrastructure Manager API Preview npm
Life Sciences Preview npm
Memorystore for Redis API Preview npm
Migration Center API Preview npm
NetApp API Preview npm
Network Security API Preview npm
Network Services API Preview npm
Parallelstore API Preview npm
Phishing Protection Preview npm
Places API (New) Preview npm
Policy Simulator API Preview npm
Policy Troubleshooter API Preview npm
Private Catalog Preview npm
Profiler API Preview npm
Public Certificate Authority Preview npm
Quotas API Preview npm
Rapid Migration Assessment API Preview npm
Service Health API Preview npm
SQL Admin API Preview npm
Storage Insights API Preview npm
Support API Preview npm
Telco Automation API Preview npm
Trace Preview npm
Vertex AI Preview npm
Workstations API Preview npm

If the service is not listed above, google-api-nodejs-client interfaces with additional Google Cloud APIs using a legacy REST interface.

When building Node.js applications, preference should be given to the libraries listed in the table.

Enabling APIs

Before you can interact with a given Google Cloud Service, you must enable its API.

Links are available for enabling APIs in the table at the beginning of this document, and in each libraries README.md.

Authentication

Download your Service Account Credentials JSON file

To use Application Default Credentials, You first need to download a set of JSON credentials for your project. Go to APIs & Auth > Credentials in the Google Developers Console and select Service account from the Add credentials dropdown.

This file is your only copy of these credentials. It should never be committed with your source code, and should be stored securely.

Once downloaded, store the path to this file in the GOOGLE_APPLICATION_CREDENTIALS environment variable.

Other Authentication Methods

Other authentication methods are outlined in the README for google-auth-library-nodejs, which is the authentication library used by all Google Cloud Node.js clients.

Example Applications

  • nodejs-getting-started - A sample and tutorial that demonstrates how to build a complete web application using Cloud Datastore, Cloud Storage, and Cloud Pub/Sub and deploy it to Google App Engine or Google Compute Engine.
  • gcloud-node-todos - A TodoMVC backend using google-cloud-node and Datastore.
  • gitnpm - Easily lookup an npm package's GitHub repo using google-cloud-node and Google App Engine.
  • gcloud-kvstore - Use Datastore as a simple key-value store.
  • hya-wave - Cloud-based web sample editor. Part of the hya-io family of products.
  • gstore-node - Google Datastore Entities Modeling library.
  • gstore-api - REST API builder for Google Datastore Entities.

Supported Node.js Versions

Our client libraries follow the Node.js release schedule. Libraries are compatible with all current active and maintenance versions of Node.js. If you are using an end-of-life version of Node.js, we recommend that you update as soon as possible to an actively supported LTS version.

Google's client libraries support legacy versions of Node.js runtimes on a best-efforts basis with the following warnings:

  • Legacy versions are not tested in continuous integration.
  • Some security patches and features cannot be backported.
  • Dependencies cannot be kept up-to-date.

Client libraries targeting some end-of-life versions of Node.js are available, and can be installed through npm dist-tags. The dist-tags follow the naming convention legacy-(version). For example, {{ metadata['lib_install_cmd'] }}@legacy-10 installs client libraries for versions compatible with Node.js 10.

Versioning

Our libraries follow Semantic Versioning.

Please note it is currently under active development. Any release versioned 0.x.y is subject to backwards-incompatible changes at any time.

Stable: Libraries defined at the Stable quality level are stable. The code surface will not change in backwards-incompatible ways unless absolutely necessary (e.g. because of critical security issues) or with an extensive deprecation period. Issues and requests against Stable libraries are addressed with the highest priority.

Preview: Libraries defined at the preview quality level are still a work-in-progress and are more likely to get backwards-incompatible updates.

Contributing

Contributions to this library are always welcome and highly encouraged.

See CONTRIBUTING for more information on how to get started.

License

Apache 2.0 - See LICENSE for more information.