Skip to content

Api-Wrappers/awesome-api-wrappers

Repository files navigation

Awesome API Wrappers Awesome

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.


Contents


Featured

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.

AI & Machine Learning

  • 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.

Communication & Messaging

  • 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.

Developer Platforms

  • 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.

Social Media

  • 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.

Payments & Finance

  • 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.

CPaaS & Notifications

  • 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.

Maps & Location

  • 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.

Media & Entertainment

  • tmdb-wrapper TypeScript – TypeScript wrapper for The Movie Database API with typed endpoint coverage.

Gaming

  • 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.

Anime & Manga

  • 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.

Inclusion Criteria

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)

Contributing

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

Contributors

Thanks to everyone who has helped grow this list.

Contributors