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 | API Docs | Install Command | Enable | Free Tier |
---|---|---|---|---|
Access Approval | π | npm i @google-cloud/access-approval |
enable | β |
AI Platform | π | npm i @google-cloud/aiplatform |
enable | β |
AI Platform Notebooks | π | npm i @google-cloud/notebooks |
enable | β |
API Gateway | π | npm i @google-cloud/api-gateway |
enable | β |
App Engine Admin API | π | npm i @google-cloud/appengine-admin |
enable | β |
Area120 Tables API | π | npm i @google/area120-tables |
enable | β |
Artifact Registry | π | npm i @google-cloud/artifact-registry |
enable | β |
Asset Inventory | π | npm i @google-cloud/asset |
enable | β |
Assured Workloads for Government | π | npm i @google-cloud/assured-workloads |
enable | β |
AutoML | π | npm i @google-cloud/automl |
enable | β |
Bigtable | π | npm i @google-cloud/bigtable |
enable | β |
Billing | π | npm i @google-cloud/billing |
enable | β |
Billing Budgets | π | npm i @google-cloud/billing-budgets |
enable | β |
Binary Authorization | π | npm i @google-cloud/binary-authorization |
enable | β |
Build | π | npm i @google-cloud/cloudbuild |
enable | β |
Certificate Authority Service | π | npm i @google-cloud/security-private-ca |
enable | β |
Channel API | π | npm i @google-cloud/channel |
enable | β |
Data Catalog | π | npm i @google-cloud/datacatalog |
enable | β |
Data Labeling | π | npm i @google-cloud/datalabeling |
enable | β |
Data Loss Prevention | π | npm i @google-cloud/dlp |
enable | β |
Data QnA | π | npm i @google-cloud/data-qna |
enable | β |
Dataproc | π | npm i @google-cloud/dataproc |
enable | β |
Dataproc Metastore | π | npm i @google-cloud/dataproc-metastore |
enable | β |
Datastore | π | npm i @google-cloud/datastore |
enable | β |
Datastore Session | π | npm i @google-cloud/connect-datastore |
enable | β |
Dialogflow API | π | npm i @google-cloud/dialogflow |
enable | β |
Dialogflow CX API | π | npm i @google-cloud/dialogflow-cx |
enable | β |
DNS | π | npm i @google-cloud/dns |
enable | β |
Document AI | π | npm i @google-cloud/documentai |
enable | β |
Domains | π | npm i @google-cloud/domains |
enable | β |
Error Reporting | π | npm i @google-cloud/error-reporting |
enable | β |
Firestore | π | npm i @google-cloud/firestore |
enable | β |
Firestore Session | π | npm i @google-cloud/connect-firestore |
enable | β |
Functions | π | npm i @google-cloud/functions |
enable | β |
Game Servers | π | npm i @google-cloud/game-servers |
enable | β |
GKE Hub | π | npm i @google-cloud/gke-hub |
enable | β |
Google Analytics Admin | π | npm i @google-analytics/admin |
enable | β |
Google Analytics Data | π | npm i @google-analytics/data |
enable | β |
Google BigQuery | π | npm i @google-cloud/bigquery |
enable | β |
Google BigQuery Connection | π | npm i @google-cloud/bigquery-connection |
enable | β |
Google BigQuery Data Transfer Service | π | npm i @google-cloud/bigquery-data-transfer |
enable | β |
Google BigQuery Reservation | π | npm i @google-cloud/bigquery-reservation |
enable | β |
Google BigQuery Storage | π | npm i @google-cloud/bigquery-storage |
enable | β |
Google Compute Engine | π | npm i @google-cloud/compute |
enable | β |
Google Container Analysis | π | npm i @google-cloud/containeranalysis |
enable | β |
Grafeas | π | npm i @google-cloud/grafeas |
enable | β |
IAM Policy Troubleshooter API | π | npm i @google-cloud/policy-troubleshooter |
enable | β |
IAM Service Account Credentials API | π | npm i @google-cloud/iam-credentials |
enable | β |
Internet of Things (IoT) Core | π | npm i @google-cloud/iot |
enable | β |
Key Management Service | π | npm i @google-cloud/kms |
enable | β |
Kubernetes Engine Cluster Manager API | π | npm i @google-cloud/container |
enable | β |
Logging | π | npm i @google-cloud/logging |
enable | β |
Logging for Bunyan | π | npm i @google-cloud/logging-bunyan |
enable | β |
Logging for Winston | π | npm i @google-cloud/logging-winston |
enable | β |
Managed Service for Microsoft Active Directory | π | npm i @google-cloud/managed-identities |
enable | β |
Media Translation | π | npm i @google-cloud/media-translation |
enable | β |
Memorystore for Memcached | π | npm i @google-cloud/memcache |
enable | β |
Monitoring Dashboards | π | npm i @google-cloud/monitoring-dashboards |
enable | β |
Natural Language | π | npm i @google-cloud/language |
enable | β |
Network Connectivity Center | π | npm i @google-cloud/network-connectivity |
enable | β |
Organization Policy | π | npm i @google-cloud/org-policy |
enable | β |
OS Config API | π | npm i @google-cloud/os-config |
enable | β |
OS Login | π | npm i @google-cloud/os-login |
enable | β |
Phishing Protection | π | npm i @google-cloud/phishing-protection |
enable | β |
Profiler | π | npm i @google-cloud/profiler |
enable | β |
Pub/Sub | π | npm i @google-cloud/pubsub |
enable | β |
reCAPTCHA Enterprise | π | npm i @google-cloud/recaptcha-enterprise |
enable | β |
Recommender | π | npm i @google-cloud/recommender |
enable | β |
Redis | π | npm i @google-cloud/redis |
enable | β |
Resource Manager API | π | npm i @google-cloud/resource |
enable | β |
Retail API | π | npm i @google-cloud/retail |
enable | β |
Runtime Config | π | npm i @google-cloud/rcloadenv |
enable | β |
Scheduler | π | npm i @google-cloud/scheduler |
enable | β |
Secret Manager | π | npm i @google-cloud/secret-manager |
enable | β |
Security Command Center | π | npm i @google-cloud/security-center |
enable | β |
Service Control API | π | npm i @google-cloud/service-control |
enable | β |
Service Directory | π | npm i @google-cloud/service-directory |
enable | β |
Service Management API | π | npm i @google-cloud/service-management |
enable | β |
Spanner | π | npm i @google-cloud/spanner |
enable | β |
Speech | π | npm i @google-cloud/speech |
enable | β |
Stackdriver Debugger | π | npm i @google-cloud/debug-agent |
enable | β |
Stackdriver Monitoring | π | npm i @google-cloud/monitoring |
enable | β |
Stackdriver Trace | π | npm i @google-cloud/trace-agent |
enable | β |
Storage | π | npm i @google-cloud/storage |
enable | β |
Talent Solution | π | npm i @google-cloud/talent |
enable | β |
Tasks | π | npm i @google-cloud/tasks |
enable | β |
Text-to-Speech | π | npm i @google-cloud/text-to-speech |
enable | β |
Transcoder API | π | npm i @google-cloud/video-transcoder |
enable | β |
Translation | π | npm i @google-cloud/translate |
enable | β |
Video Intelligence | π | npm i @google-cloud/video-intelligence |
enable | β |
Vision API | π | npm i @google-cloud/vision |
enable | β |
Web Risk API | π | npm i @google-cloud/web-risk |
enable | β |
Web Security Scanner | π | npm i @google-cloud/web-security-scanner |
enable | β |
Workflows | π | npm i @google-cloud/workflows |
enable | β |
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.
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.
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 are outlined in the README for google-auth-library-nodejs, which is the authentication library used by all Google Cloud Node.js clients.
- 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.
Our client libraries follow the Node.js release schedule. Libraries are compatible with all current active and maintenance versions of Node.js.
Client libraries targetting some end-of-life versions of Node.js are available, and
can be installed via npm dist-tags.
The dist-tags follow the naming convention legacy-(version)
.
Legacy Node.js versions are supported as a best effort:
- Legacy versions will not be tested in continuous integration.
- Some security patches may not be able to be backported.
- Dependencies will not be kept up-to-date, and features will not be backported.
legacy-8
: install client libraries from this dist-tag for versions compatible with Node.js 8.
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.
GA: Libraries defined at the GA (general availability) 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 GA libraries are addressed with the highest priority.
Please note that the auto-generated portions of the GA libraries (the ones in modules such as v1
or v2
) are considered to be of Beta quality, even if the libraries that wrap them are GA.
Beta: Libraries defined at the Beta quality level are expected to be mostly stable, while we work towards their release candidate. We will address issues and requests with a higher priority.
Alpha: Libraries defined at the Alpha quality level are still a work-in-progress and are more likely to get backwards-incompatible updates.
Contributions to this library are always welcome and highly encouraged.
See CONTRIBUTING for more information on how to get started.
Apache 2.0 - See LICENSE for more information.