A curated list of high-quality API wrapper libraries across languages, ecosystems, and domains.
API wrappers abstract the raw HTTP layer of an API into idiomatic, language-native interfaces — handling auth, serialization, rate limits, and pagination so you don't have to. This list collects the best-maintained, best-documented wrappers available. Entries are tagged by language and organized by API category.
- Featured
- AI & Machine Learning
- Communication & Messaging
- Developer Platforms
- Social Media
- Payments & Finance
- CPaaS & Notifications
- Maps & Location
- Media & Entertainment
- Gaming
- Anime & Manga
- Inclusion Criteria
- Contributing
Standout wrappers recognized for quality, documentation, and community adoption.
- discord.js
TypeScript– The most widely used Discord API library for Node.js, with full API coverage and a large ecosystem. - discord.py
Python– Mature, async-first Python library for the Discord API with an extensive command framework. - octokit.js
TypeScript– Official GitHub SDK for JavaScript and TypeScript with full REST and GraphQL support. - stripe-node
TypeScript– Official Stripe Node.js SDK with first-class TypeScript types and full API coverage. - tweepy
Python– The go-to Python wrapper for the Twitter/X API, supporting OAuth 1.0a, OAuth 2.0, and streaming.
- anthropic-sdk-typescript
TypeScript– Official Anthropic TypeScript SDK for the Claude API with full type coverage. - anthropic-sdk-python
Python– Official Anthropic Python SDK for the Claude API with async and streaming support. - client-python
Python– Official Mistral AI Python client for chat completions, embeddings, and fine-tuning. - cohere-python
Python– Official Cohere Python SDK for text generation, embedding, and classification APIs. - groq-python
Python– Official Groq Python SDK for fast LLM inference with an OpenAI-compatible interface. - huggingface.js
TypeScript– Official Hugging Face JavaScript/TypeScript SDK for inference, Hub operations, and agents. - huggingface_hub
Python– Official Python client for the Hugging Face Hub — model downloads, inference, and dataset APIs. - openai-node
TypeScript– Official OpenAI Node.js and TypeScript SDK with streaming, function calling, and full API support. - openai-python
Python– Official OpenAI Python SDK with async support, streaming, and typed responses.
- discordgo
Go– Go bindings for the Discord API covering WebSocket and REST. - discord.js
TypeScript– Feature-rich Discord API library for Node.js covering gateway events, REST, and voice. - discord.py
Python– Async Python library for the Discord API with slash commands and comprehensive bot support. - node-slack-sdk
TypeScript– Official Slack Node.js SDK with Web API, Events API, and Socket Mode clients. - python-slack-sdk
Python– Official Slack Python SDK with async support, Bolt framework integration, and full API coverage. - python-telegram-bot
Python– Pure Python, async-first Telegram Bot API wrapper with a high-level bot framework. - serenity
Rust– Ergonomic Rust library for the Discord API with async support via Tokio. - telegraf
TypeScript– Modern Telegram Bot framework for Node.js with middleware, session management, and TypeScript support.
- go-github
Go– Google's Go client library for the GitHub REST API with full type definitions. - octocrab
Rust– Extensible Rust GitHub API client with async support and a typed model layer. - octokit.js
TypeScript– Official GitHub SDK for JavaScript/TypeScript with REST, GraphQL, webhooks, and OAuth support. - PyGithub
Python– Comprehensive Python library for the GitHub REST API with broad endpoint coverage.
- node-twitter-api-v2
TypeScript– Full-featured Twitter/X API v2 client for Node.js with OAuth 1.0a, OAuth 2.0, and streaming. - praw
Python– Python Reddit API Wrapper — intuitive, idiomatic access to the Reddit API with async support. - snoowrap
JavaScript– A fully-featured JavaScript wrapper for the Reddit API with promise-based chaining. - tweepy
Python– Battle-tested Python library for Twitter/X API with support for v1.1, v2, and streaming.
- plaid-node
TypeScript– Official Plaid Node.js client library for banking data, transactions, and identity APIs. - plaid-python
Python– Official Plaid Python client library with full endpoint coverage and typed models. - stripe-node
TypeScript– Official Stripe Node.js SDK with typed request/response objects, idempotency, and webhook verification. - stripe-python
Python– Official Stripe Python SDK with sync and async support and full API coverage.
- sendgrid-nodejs
TypeScript– Official SendGrid Node.js SDK for transactional email delivery with template support. - twilio-node
TypeScript– Official Twilio Node.js helper library for SMS, voice, video, and messaging APIs. - twilio-python
Python– Official Twilio Python helper library with sync and async HTTP support.
- google-maps-services-python
Python– Official Google Maps Python client for geocoding, directions, distance matrix, and Places APIs. - mapbox-sdk-js
TypeScript– Official Mapbox JavaScript SDK for geocoding, directions, map matching, and more.
- tmdb-wrapper
TypeScript– TypeScript wrapper for The Movie Database API with typed endpoint coverage.
- helix
Go– Go client library for the Twitch Helix API with full endpoint coverage. - igdb-wrapper
TypeScript– Type-safe TypeScript client for the IGDB API with a fluent query builder. - steam
Python– Pythonic Steam client library covering the Web API, CM protocol, and authenticator. - twurple
TypeScript– Comprehensive TypeScript Twitch API library covering Helix, PubSub, EventSub, and Chat.
- anilist-wrapper
TypeScript– AniList GraphQL API wrapper for Node.js covering anime, manga, users, and media lists. - AnilistPython
Python– Python library for the AniList GraphQL API with anime and manga search utilities.
All entries must:
- Be actively maintained (recent commits, responsive to issues)
- Have clear documentation (README with usage examples at minimum)
- Have working examples that demonstrate real usage
- Not be abandoned, experimental, or a toy project
Nice to have:
- Published package (npm, PyPI, crates.io, pkg.go.dev, etc.)
- Type safety (TypeScript types, Python type hints, etc.)
- Good test coverage
- Active community (issues, PRs, discussions)
Contributions are welcome. Please read CONTRIBUTING.md before submitting a pull request.
Entry format:
- [repo-name](https://github.com/owner/repo) `Language` – Short description of what it wraps and what makes it useful.Rules:
- One sentence descriptions — no marketing language
- No duplicate entries
- Place entries in the correct category section, sorted alphabetically
- Keep descriptions under 120 characters
Thanks to everyone who has helped grow this list.