google-api-nodejs-client

Google's officially supported Node.js client library for calling hundreds of Google APIs with built-in OAuth 2.0, API key, and service-account auth.

SDK
npm
v188.0.0
12,273 stars
Apache License 2.0

Repository Health

Pre-computed score based on development activity, maintenance, community, maturity, and trend momentum. How we score it →
96 /100 Excellent
Development Activity 96
Maintenance 96
Community 92
Maturity 60
Momentum 40

Technical Analysis

AI-assessed by reading the actual repository — architecture, code quality, innovation, and documentation. How we score it →
88 /100 Excellent
Architecture 90
Code Quality 85
Innovation 90
Learning Curve 80

googleapis is the official, Google-maintained Node.js client for accessing the full catalog of Google’s REST APIs, from Drive, Calendar, Gmail, and Sheets to YouTube, Ad platforms, and Admin SDK. A single package exposes strongly-typed, auto-generated clients for hundreds of services, each versioned and mirrored directly from Google’s Discovery documents so the surface stays in lockstep with the live APIs.

Beyond the API bindings, the library bundles first-class authentication and authorization: OAuth 2.0 flows, API keys, JWTs, service-account credentials, and application default credentials are handled through the included google-auth-library, letting you authenticate once and reuse a client across every supported service.

What You Get

  • Auto-generated, strongly-typed clients for hundreds of Google APIs, each pinned to specific service versions
  • Built-in authentication for OAuth 2.0, API keys, JWTs, service accounts, and application default credentials
  • A consistent factory pattern (google.<api>({version, auth})) that works identically across every service
  • Support for media uploads/downloads, request options, proxies, and HTTP/2
  • The option to install per-API submodules (e.g. @googleapis/docs) to reduce startup time and bundle size

Common Use Cases

  • Backend services that read and write Google Workspace data such as Drive files, Calendar events, or Gmail messages
  • Server-to-server automation against Google APIs using service-account credentials
  • Building OAuth 2.0 sign-in and delegated access flows for end users
  • Integrating YouTube, Ads, Analytics, or Admin SDK data into applications and dashboards

Under The Hood

Architecture — The public entry point src/index.ts exports a singleton google (an instance of GoogleApis from src/googleapis.ts), which extends a GeneratedAPIs base assembled from src/apis. Each of the 327 service directories under src/apis is auto-generated from Google’s Discovery documents (stored in discovery/) by the code in src/generator, so the entire typed surface is machine-produced rather than hand-written. Calling google.drive({version, auth}) returns an APIEndpoint whose methods delegate HTTP execution and Discovery resolution to the shared googleapis-common runtime, while authentication is centralized in an AuthPlus instance backed by google-auth-library. This keeps the massive generated surface thin: the runtime lives in two dependencies and the repo is mostly generated bindings plus the generator that produces them.

Tech Stack — Written in TypeScript (99.7% of the codebase) targeting Node.js >=18, published as compiled JS with .d.ts types. Runtime dependencies are deliberately minimal — google-auth-library for credentials and googleapis-common for the request/Discovery machinery. Tooling includes tsc for compilation, gts (Google TypeScript Style) for lint/format, mocha with c8 for tests and coverage, and nock/sinon/proxyquire for HTTP mocking; docs are generated via jsdoc and the Microsoft API Extractor/Documenter pipeline.

Code Quality — The test/ directory holds roughly 20 focused suites (test.auth.ts, test.clients.ts, test.discover.ts, test.apikey.ts, test.download.ts, per-API tests, and more) that exercise auth, client construction, Discovery, and media handling using nock to stub HTTP. Style and formatting are enforced by gts, TypeScript strictness gives compile-time guarantees across the generated surface, and release automation runs through release-please with per-API changelogs. Because most API code is generated, correctness centers on the generator and the common runtime rather than per-service hand-maintenance.

API Design — The developer experience is intentionally uniform: every one of the hundreds of services is reached through the same google.<api>({version, auth}) factory, and resource methods mirror the REST hierarchy (e.g. blogger.blogs.get(params)) with both callback and async/await styles. Auth is configured once and shared globally or per service. Extensive README guidance, a full auto-generated API reference, and a large samples/ tree make onboarding straightforward, though the sheer breadth of services and the generated, sometimes verbose type names are the main friction points.

Used by 45 apps in this directory

TypeScript
65%
Other

NocoDB

Databases · Low Code Platforms · No Code Platforms

65,340

Turn any SQL database into a collaborative no-code spreadsheet with automatic REST APIs and real-time views.

View details
91
Repo Health
77
Technical
63
Dependency
Built with
TypeScript 65%
Vue 30%
Updated yesterday
TypeScript
98%
Other

Novu

Developer Tools

40,195

Open-source communication infrastructure that connects your products and AI agents to every channel your users live on — Inbox, Email, SMS, Push, Chat, and more.

View details
93
Repo Health
80
Technical
64
Dependency
Built with
TypeScript 98%
Updated yesterday
TypeScript
26%
AGPL 3.0

Omnivore

Bookmarks Archiving · Knowledge Management · Note Taking

16,356

Self-hosted read-it-later platform with highlights, newsletters, PDFs, and seamless Obsidian and Logseq integration.

View details
90
Repo Health
74
Technical
65
Dependency
Built with
TypeScript 26%
JavaScript 24%
HTML 20%
Updated 2 days ago
TypeScript
39%
AGPL 3.0

OpenObserve

Analytics · Devops · Monitoring

22,475

Open source observability platform for logs, metrics, traces, and real user monitoring — delivering 140x lower storage costs than Elasticsearch with a single binary you can run in under 2 minutes.

View details
90
Repo Health
9
Technical
68
Dependency
Built with
TypeScript 39%
Rust 30%
Vue 17%
Updated yesterday
JavaScript
90%
Other

OpenSign

Digital Signiture

7,163

Self-host a full-featured DocuSign alternative with unlimited e-signatures, multi-signer workflows, and cryptographic PDF signing.

View details
83
Repo Health
61
Technical
69
Dependency
Built with
JavaScript 90%
Updated 2 days ago
TypeScript
93%
MIT

paperclip

AI Agents · Automation

106,667

The open-source control plane that turns a pile of AI agents into an actual company — with org charts, budgets, heartbeats, and governance.

View details
86
Repo Health
78
Technical
68
Dependency
Built with
TypeScript 93%
Updated yesterday
TypeScript
96%
Apache 2.0

Pezzo

AI Development · Monitoring

3,278

Open-source LLMOps platform for prompt management, AI observability, intelligent caching, and real-time cost tracking across LLM providers.

View details
59
Repo Health
75
Technical
66
Dependency
Built with
TypeScript 96%
Updated 2 months ago
TypeScript
81%
AGPL 3.0

Postiz

Automation · Social Media

37,683

The agentic social media scheduler — AI-powered content creation, 33-platform posting, and team workflows, all self-hosted.

View details
92
Repo Health
70
Technical
63
Dependency
Built with
TypeScript 81%
JavaScript 11%
Updated 2 days ago
JavaScript
50%
AGPL 3.0

QRev

AI Agents · CRM

364

Open source AI-first sales platform that replaces Salesforce with autonomous agents handling prospecting, outreach, and lead management at scale.

View details
39
Repo Health
68
Technical
64
Dependency
Built with
JavaScript 50%
Python 28%
TypeScript 14%
Updated 8 months ago

Join founders buildingwith open source

Opinionated takes, migration guides, cost-saving tips, and insights from the open source ecosystem.

Subscribe on Substack
Join 750+ subscribers