finds.dev← search

// the find

googleapis/google-api-nodejs-client

★ 12,211 · TypeScript · Apache-2.0 · updated Jul 2026

Google's officially supported Node.js client library for accessing Google APIs. Support for authorization and authentication with OAuth 2.0, API Keys and JWT (Service Tokens) is included.

The official Google-maintained Node.js client for all Google APIs — Drive, Gmail, Calendar, Sheets, and hundreds more — with built-in OAuth2, API key, JWT, and Application Default Credentials support. It's the right choice if you need to talk to a Google API from Node and don't want to hand-roll auth. For GCP-specific APIs (BigQuery, Cloud Storage, Pub/Sub), the dedicated `@google-cloud/*` packages are better.

Auto-generated from Google's Discovery API, so every supported API has typed request/response shapes without manual maintenance. The auth layer handles token refresh automatically and fires a `tokens` event so you can persist updated credentials without polling. HTTP/2 support with session reuse is a real win for batch workloads. The submodule pattern (`@googleapis/docs` instead of the full `googleapis` bundle) meaningfully cuts cold-start time for serverless functions.

The repo is explicitly in maintenance mode — Google is pushing all new work to `@google-cloud/*` packages, so if you build on this you're eventually migrating anyway. The generated TypeScript types are wide and often permissive (many `any` escapes in complex request bodies), so you don't get the safety the types imply. The `discovery/` directory with hundreds of JSON files is committed directly into the repo, making git history and diffs noisy and the npm package heavier than necessary. Error messages from API failures pass through gaxios mostly raw, so debugging a 403 on a Drive call requires knowing Google's error schema separately.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →