Skip to content

Commit 72be589

Browse files
authored
Revise README for clarity and structure
Updated descriptions for clarity and consistency, added sections for Official SDKs and Community Wrappers, and improved formatting.
1 parent 01986e6 commit 72be589

File tree

1 file changed

+142
-103
lines changed

1 file changed

+142
-103
lines changed

README.md

Lines changed: 142 additions & 103 deletions
Original file line numberDiff line numberDiff line change
@@ -1,171 +1,210 @@
11
# Awesome API Wrappers [![Awesome](https://awesome.re/badge.svg)](https://awesome.re)
22

3-
> A curated list of high-quality API wrapper libraries across languages, ecosystems, and domains.
3+
> A curated list of high-quality, actively maintained API wrappers and SDKs across languages and domains.
44
5-
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.
5+
API wrappers transform raw HTTP APIs into idiomatic, language-native clients. They handle authentication, serialization, pagination, rate limits, and other integration details so developers can focus on building.
6+
7+
This list focuses on projects with strong documentation, clear maintenance, and a good developer experience.
68

79
---
810

911
## Contents
1012

11-
- [Featured](#featured)
12-
- [AI & Machine Learning](#ai--machine-learning)
13-
- [Communication & Messaging](#communication--messaging)
14-
- [Developer Platforms](#developer-platforms)
15-
- [Social Media](#social-media)
16-
- [Payments & Finance](#payments--finance)
17-
- [CPaaS & Notifications](#cpaas--notifications)
18-
- [Maps & Location](#maps--location)
19-
- [Media & Entertainment](#media--entertainment)
20-
- [Gaming](#gaming)
21-
- [Anime & Manga](#anime--manga)
22-
- [Inclusion Criteria](#inclusion-criteria)
23-
- [Contributing](#contributing)
13+
* [Featured](#featured)
14+
* [Official SDKs](#official-sdks)
15+
* [Community Wrappers](#community-wrappers)
16+
* [By Category](#by-category)
17+
* [By Language](#by-language)
18+
* [Inclusion Criteria](#inclusion-criteria)
19+
* [Contributing](#contributing)
20+
* [Related Lists](#related-lists)
2421

2522
---
2623

2724
## Featured
2825

29-
Standout wrappers recognized for quality, documentation, and community adoption.
26+
Standout projects known for excellent documentation, active maintenance, and strong developer experience.
3027

31-
- [discord.js](https://github.com/discordjs/discord.js) `TypeScript`The most widely used Discord API library for Node.js, with full API coverage and a large ecosystem.
32-
- [discord.py](https://github.com/Rapptz/discord.py) `Python` – Mature, async-first Python library for the Discord API with an extensive command framework.
33-
- [octokit.js](https://github.com/octokit/octokit.js) `TypeScript` – Official GitHub SDK for JavaScript and TypeScript with full REST and GraphQL support.
34-
- [stripe-node](https://github.com/stripe/stripe-node) `TypeScript` – Official Stripe Node.js SDK with first-class TypeScript types and full API coverage.
35-
- [tweepy](https://github.com/tweepy/tweepy) `Python`The go-to Python wrapper for the Twitter/X API, supporting OAuth 1.0a, OAuth 2.0, and streaming.
28+
* [discord.js](https://github.com/discordjs/discord.js) `TypeScript`Widely used Discord API library for Node.js with a large ecosystem and full feature support.
29+
* [discord.py](https://github.com/Rapptz/discord.py) `Python` – Mature async-first Discord API wrapper with extensive bot tooling.
30+
* [octokit.js](https://github.com/octokit/octokit.js) `TypeScript` – Official GitHub SDK with REST and GraphQL support.
31+
* [stripe-node](https://github.com/stripe/stripe-node) `TypeScript` – Official Stripe SDK with strong typing and broad API coverage.
32+
* [tweepy](https://github.com/tweepy/tweepy) `Python`Established Python wrapper for the Twitter/X API with streaming and OAuth support.
3633

3734
---
3835

39-
## AI & Machine Learning
36+
## Official SDKs
37+
38+
Libraries maintained by API providers.
4039

41-
- [anthropic-sdk-typescript](https://github.com/anthropics/anthropic-sdk-typescript) `TypeScript` – Official Anthropic TypeScript SDK for the Claude API with full type coverage.
42-
- [anthropic-sdk-python](https://github.com/anthropics/anthropic-sdk-python) `Python` – Official Anthropic Python SDK for the Claude API with async and streaming support.
43-
- [client-python](https://github.com/mistralai/client-python) `Python` – Official Mistral AI Python client for chat completions, embeddings, and fine-tuning.
44-
- [cohere-python](https://github.com/cohere-ai/cohere-python) `Python` – Official Cohere Python SDK for text generation, embedding, and classification APIs.
45-
- [groq-python](https://github.com/groq/groq-python) `Python` – Official Groq Python SDK for fast LLM inference with an OpenAI-compatible interface.
46-
- [huggingface.js](https://github.com/huggingface/huggingface.js) `TypeScript` – Official Hugging Face JavaScript/TypeScript SDK for inference, Hub operations, and agents.
47-
- [huggingface_hub](https://github.com/huggingface/huggingface_hub) `Python` – Official Python client for the Hugging Face Hub — model downloads, inference, and dataset APIs.
48-
- [openai-node](https://github.com/openai/openai-node) `TypeScript` – Official OpenAI Node.js and TypeScript SDK with streaming, function calling, and full API support.
49-
- [openai-python](https://github.com/openai/openai-python) `Python` – Official OpenAI Python SDK with async support, streaming, and typed responses.
40+
* [go-github](https://github.com/google/go-github) `Go` – GitHub REST API client maintained by Google.
41+
* [huggingface.js](https://github.com/huggingface/huggingface.js) `TypeScript` – Official Hugging Face SDK for JavaScript and TypeScript.
42+
* [huggingface_hub](https://github.com/huggingface/huggingface_hub) `Python` – Official Hugging Face Python client for Hub access, inference, and downloads.
43+
* [node-slack-sdk](https://github.com/slackapi/node-slack-sdk) `TypeScript` – Official Slack SDK for Node.js.
44+
* [octokit.js](https://github.com/octokit/octokit.js) `TypeScript` – Official GitHub SDK for JavaScript and TypeScript.
45+
* [openai-node](https://github.com/openai/openai-node) `TypeScript` – Official OpenAI SDK for Node.js.
46+
* [openai-python](https://github.com/openai/openai-python) `Python` – Official OpenAI SDK for Python.
47+
* [plaid-node](https://github.com/plaid/plaid-node) `TypeScript` – Official Plaid Node.js client library.
48+
* [plaid-python](https://github.com/plaid/plaid-python) `Python` – Official Plaid Python client library.
49+
* [python-slack-sdk](https://github.com/slackapi/python-slack-sdk) `Python` – Official Slack SDK for Python.
50+
* [stripe-python](https://github.com/stripe/stripe-python) `Python` – Official Stripe SDK for Python.
51+
* [twilio-node](https://github.com/twilio/twilio-node) `TypeScript` – Official Twilio Node.js helper library.
52+
* [twilio-python](https://github.com/twilio/twilio-python) `Python` – Official Twilio Python helper library.
5053

5154
---
5255

53-
## Communication & Messaging
56+
## Community Wrappers
5457

55-
- [discordgo](https://github.com/bwmarrin/discordgo) `Go` – Go bindings for the Discord API covering WebSocket and REST.
56-
- [discord.js](https://github.com/discordjs/discord.js) `TypeScript` – Feature-rich Discord API library for Node.js covering gateway events, REST, and voice.
57-
- [discord.py](https://github.com/Rapptz/discord.py) `Python` – Async Python library for the Discord API with slash commands and comprehensive bot support.
58-
- [node-slack-sdk](https://github.com/slackapi/node-slack-sdk) `TypeScript` – Official Slack Node.js SDK with Web API, Events API, and Socket Mode clients.
59-
- [python-slack-sdk](https://github.com/slackapi/python-slack-sdk) `Python` – Official Slack Python SDK with async support, Bolt framework integration, and full API coverage.
60-
- [python-telegram-bot](https://github.com/python-telegram-bot/python-telegram-bot) `Python` – Pure Python, async-first Telegram Bot API wrapper with a high-level bot framework.
61-
- [serenity](https://github.com/serenity-rs/serenity) `Rust` – Ergonomic Rust library for the Discord API with async support via Tokio.
62-
- [telegraf](https://github.com/telegraf/telegraf) `TypeScript` – Modern Telegram Bot framework for Node.js with middleware, session management, and TypeScript support.
58+
High-quality libraries maintained by independent developers or community teams.
59+
60+
* [discordgo](https://github.com/bwmarrin/discordgo) `Go` – Go bindings for the Discord API.
61+
* [node-twitter-api-v2](https://github.com/PLhery/node-twitter-api-v2) `TypeScript` – Full-featured Twitter/X API v2 client for Node.js.
62+
* [octocrab](https://github.com/XAMPPRocky/octocrab) `Rust` – Extensible Rust GitHub API client with async support.
63+
* [praw](https://github.com/praw-dev/praw) `Python` – Python Reddit API Wrapper with idiomatic access to Reddit.
64+
* [serenity](https://github.com/serenity-rs/serenity) `Rust` – Ergonomic Rust library for the Discord API.
65+
* [snoowrap](https://github.com/not-an-aardvark/snoowrap) `JavaScript` – Promise-based Reddit API wrapper.
66+
* [steam](https://github.com/ValvePython/steam) `Python` – Python client for the Steam Web API and related services.
67+
* [telegraf](https://github.com/telegraf/telegraf) `TypeScript` – Modern Telegram bot framework for Node.js.
68+
* [twurple](https://github.com/twurple/twurple) `TypeScript` – Comprehensive Twitch API library.
69+
* [python-telegram-bot](https://github.com/python-telegram-bot/python-telegram-bot) `Python` – Telegram Bot API wrapper with a full framework.
6370

6471
---
6572

66-
## Developer Platforms
73+
## By Category
6774

68-
- [go-github](https://github.com/google/go-github) `Go` – Google's Go client library for the GitHub REST API with full type definitions.
69-
- [octocrab](https://github.com/XAMPPRocky/octocrab) `Rust` – Extensible Rust GitHub API client with async support and a typed model layer.
70-
- [octokit.js](https://github.com/octokit/octokit.js) `TypeScript` – Official GitHub SDK for JavaScript/TypeScript with REST, GraphQL, webhooks, and OAuth support.
71-
- [PyGithub](https://github.com/PyGithub/PyGithub) `Python` – Comprehensive Python library for the GitHub REST API with broad endpoint coverage.
75+
### 🤖 AI & Machine Learning
7276

73-
---
77+
* [anthropic-sdk-python](https://github.com/anthropics/anthropic-sdk-python) `Python` – Official Anthropic Python SDK for the Claude API.
78+
* [anthropic-sdk-typescript](https://github.com/anthropics/anthropic-sdk-typescript) `TypeScript` – Official Anthropic TypeScript SDK for the Claude API.
79+
* [cohere-python](https://github.com/cohere-ai/cohere-python) `Python` – Official Cohere Python SDK for generation, embeddings, and classification.
80+
* [groq-python](https://github.com/groq/groq-python) `Python` – Official Groq Python SDK for fast LLM inference.
7481

75-
## Social Media
82+
### 💬 Communication & Messaging
7683

77-
- [node-twitter-api-v2](https://github.com/PLhery/node-twitter-api-v2) `TypeScript` – Full-featured Twitter/X API v2 client for Node.js with OAuth 1.0a, OAuth 2.0, and streaming.
78-
- [praw](https://github.com/praw-dev/praw) `Python` – Python Reddit API Wrapper — intuitive, idiomatic access to the Reddit API with async support.
79-
- [snoowrap](https://github.com/not-an-aardvark/snoowrap) `JavaScript` – A fully-featured JavaScript wrapper for the Reddit API with promise-based chaining.
80-
- [tweepy](https://github.com/tweepy/tweepy) `Python` – Battle-tested Python library for Twitter/X API with support for v1.1, v2, and streaming.
84+
* [discord.js](https://github.com/discordjs/discord.js) `TypeScript` – Discord API library for Node.js.
85+
* [discord.py](https://github.com/Rapptz/discord.py) `Python` – Async Discord API wrapper for Python.
86+
* [discordgo](https://github.com/bwmarrin/discordgo) `Go` – Go bindings for the Discord API.
87+
* [node-slack-sdk](https://github.com/slackapi/node-slack-sdk) `TypeScript` – Official Slack SDK for Node.js.
88+
* [python-slack-sdk](https://github.com/slackapi/python-slack-sdk) `Python` – Official Slack SDK for Python.
89+
* [python-telegram-bot](https://github.com/python-telegram-bot/python-telegram-bot) `Python` – Telegram bot API wrapper and framework.
90+
* [serenity](https://github.com/serenity-rs/serenity) `Rust` – Async Discord API library for Rust.
91+
* [telegraf](https://github.com/telegraf/telegraf) `TypeScript` – Telegram bot framework for Node.js.
8192

82-
---
93+
### 🛠 Developer Platforms
8394

84-
## Payments & Finance
95+
* [go-github](https://github.com/google/go-github) `Go` – Go client library for the GitHub REST API.
96+
* [octokit.js](https://github.com/octokit/octokit.js) `TypeScript` – Official GitHub SDK for JavaScript and TypeScript.
97+
* [octocrab](https://github.com/XAMPPRocky/octocrab) `Rust` – Rust GitHub API client with a typed model layer.
98+
* [PyGithub](https://github.com/PyGithub/PyGithub) `Python` – Python library for the GitHub REST API.
8599

86-
- [plaid-node](https://github.com/plaid/plaid-node) `TypeScript` – Official Plaid Node.js client library for banking data, transactions, and identity APIs.
87-
- [plaid-python](https://github.com/plaid/plaid-python) `Python` – Official Plaid Python client library with full endpoint coverage and typed models.
88-
- [stripe-node](https://github.com/stripe/stripe-node) `TypeScript` – Official Stripe Node.js SDK with typed request/response objects, idempotency, and webhook verification.
89-
- [stripe-python](https://github.com/stripe/stripe-python) `Python` – Official Stripe Python SDK with sync and async support and full API coverage.
100+
### 🌐 Social Media
90101

91-
---
102+
* [node-twitter-api-v2](https://github.com/PLhery/node-twitter-api-v2) `TypeScript` – Full-featured Twitter/X API v2 client.
103+
* [praw](https://github.com/praw-dev/praw) `Python` – Python Reddit API Wrapper.
104+
* [snoowrap](https://github.com/not-an-aardvark/snoowrap) `JavaScript` – JavaScript wrapper for the Reddit API.
105+
* [tweepy](https://github.com/tweepy/tweepy) `Python` – Twitter/X API wrapper with streaming and OAuth support.
92106

93-
## CPaaS & Notifications
107+
### 💳 Payments & Finance
94108

95-
- [sendgrid-nodejs](https://github.com/sendgrid/sendgrid-nodejs) `TypeScript` – Official SendGrid Node.js SDK for transactional email delivery with template support.
96-
- [twilio-node](https://github.com/twilio/twilio-node) `TypeScript` – Official Twilio Node.js helper library for SMS, voice, video, and messaging APIs.
97-
- [twilio-python](https://github.com/twilio/twilio-python) `Python` – Official Twilio Python helper library with sync and async HTTP support.
109+
* [plaid-node](https://github.com/plaid/plaid-node) `TypeScript` – Official Plaid Node.js client library.
110+
* [plaid-python](https://github.com/plaid/plaid-python) `Python` – Official Plaid Python client library.
111+
* [stripe-node](https://github.com/stripe/stripe-node) `TypeScript` – Official Stripe Node.js SDK.
112+
* [stripe-python](https://github.com/stripe/stripe-python) `Python` – Official Stripe Python SDK.
98113

99-
---
114+
### 🗺 Maps & Location
100115

101-
## Maps & Location
116+
* [google-maps-services-python](https://github.com/googlemaps/google-maps-services-python) `Python` – Google Maps client for geocoding, directions, and Places APIs.
117+
* [mapbox-sdk-js](https://github.com/mapbox/mapbox-sdk-js) `TypeScript` – Official Mapbox JavaScript SDK.
102118

103-
- [google-maps-services-python](https://github.com/googlemaps/google-maps-services-python) `Python` – Official Google Maps Python client for geocoding, directions, distance matrix, and Places APIs.
104-
- [mapbox-sdk-js](https://github.com/mapbox/mapbox-sdk-js) `TypeScript` – Official Mapbox JavaScript SDK for geocoding, directions, map matching, and more.
119+
### 🎬 Media & Entertainment
105120

106-
---
121+
* [tmdb-wrapper](https://github.com/Api-Wrappers/tmdb-wrapper) `TypeScript` – Typed TMDB API wrapper.
122+
123+
### 🎮 Gaming
107124

108-
## Media & Entertainment
125+
* [helix](https://github.com/nicklaw5/helix) `Go` – Go client library for the Twitch Helix API.
126+
* [igdb-wrapper](https://github.com/Api-Wrappers/igdb-wrapper) `TypeScript` – Type-safe TypeScript client for the IGDB API with a fluent query builder.
127+
* [steam](https://github.com/ValvePython/steam) `Python` – Python client for the Steam Web API and related services.
128+
* [twurple](https://github.com/twurple/twurple) `TypeScript` – Twitch API library covering Helix, PubSub, EventSub, and Chat.
109129

110-
- [tmdb-wrapper](https://github.com/Api-Wrappers/tmdb-wrapper) `TypeScript` – TypeScript wrapper for The Movie Database API with typed endpoint coverage.
130+
### 📺 Anime & Manga
111131

132+
* [anilist-wrapper](https://github.com/Api-Wrappers/anilist-wrapper) `TypeScript` – AniList GraphQL API wrapper for Node.js.
133+
* [AnilistPython](https://github.com/ReZeroE/AnilistPython) `Python` – Python library for the AniList GraphQL API.
134+
*
112135
---
113136

114-
## Gaming
137+
## Inclusion Criteria
115138

116-
- [helix](https://github.com/nicklaw5/helix) `Go` – Go client library for the Twitch Helix API with full endpoint coverage.
117-
- [igdb-wrapper](https://github.com/Api-Wrappers/igdb-wrapper) `TypeScript` – Type-safe TypeScript client for the IGDB API with a fluent query builder.
118-
- [steam](https://github.com/ValvePython/steam) `Python` – Pythonic Steam client library covering the Web API, CM protocol, and authenticator.
119-
- [twurple](https://github.com/twurple/twurple) `TypeScript` – Comprehensive TypeScript Twitch API library covering Helix, PubSub, EventSub, and Chat.
139+
Projects must:
120140

121-
---
141+
* Be actively maintained with recent commits or releases
142+
* Have clear documentation with usage examples
143+
* Provide real-world functionality rather than toy or experimental code
122144

123-
## Anime & Manga
145+
Preferred:
124146

125-
- [anilist-wrapper](https://github.com/Api-Wrappers/anilist-wrapper) `TypeScript` – AniList GraphQL API wrapper for Node.js covering anime, manga, users, and media lists.
126-
- [AnilistPython](https://github.com/ReZeroE/AnilistPython) `Python` – Python library for the AniList GraphQL API with anime and manga search utilities.
147+
* Published package on a registry such as npm, PyPI, crates.io, or pkg.go.dev
148+
* Type safety or type hints
149+
* Good test coverage
150+
* Stable release history
151+
* Active community or responsive issue handling
127152

128153
---
129154

130-
## Inclusion Criteria
155+
## Contributing
131156

132-
All entries must:
157+
Contributions are welcome.
133158

134-
- Be **actively maintained** (recent commits, responsive to issues)
135-
- Have **clear documentation** (README with usage examples at minimum)
136-
- Have **working examples** that demonstrate real usage
137-
- Not be abandoned, experimental, or a toy project
159+
Before submitting:
138160

139-
Nice to have:
161+
* Ensure the project meets the inclusion criteria
162+
* Place it in the correct category
163+
* Keep descriptions concise and factual
164+
* Avoid duplicates
165+
* Sort entries alphabetically within sections
166+
* Keep entries focused on wrappers and SDKs
140167

141-
- Published package (npm, PyPI, crates.io, pkg.go.dev, etc.)
142-
- Type safety (TypeScript types, Python type hints, etc.)
143-
- Good test coverage
144-
- Active community (issues, PRs, discussions)
168+
---
169+
170+
## Related Lists
171+
172+
* [Awesome APIs](https://github.com/lavie/Awesome-APIs)
173+
* [Awesome Node.js](https://github.com/sindresorhus/awesome-nodejs)
174+
* [Awesome TypeScript](https://github.com/dzharii/awesome-typescript)
175+
* [Awesome Python](https://github.com/vinta/awesome-python)
145176

146177
---
147178

148-
## Contributing
179+
## Contributors
149180

150-
Contributions are welcome. Please read [CONTRIBUTING.md](CONTRIBUTING.md) before submitting a pull request.
181+
Thanks to everyone who has contributed.
151182

152-
**Entry format:**
183+
[![Contributors](https://contrib.rocks/image?repo=Api-Wrappers/awesome-api-wrappers)](https://github.com/Api-Wrappers/awesome-api-wrappers/graphs/contributors)
184+
185+
---
153186

154-
```markdown
155-
- [repo-name](https://github.com/owner/repo) `Language` – Short description of what it wraps and what makes it useful.
156-
```
187+
## Quality Standards
157188

158-
Rules:
189+
To maintain a high signal-to-noise ratio, this list prioritizes quality over quantity.
159190

160-
- One sentence descriptions — no marketing language
161-
- No duplicate entries
162-
- Place entries in the correct category section, sorted alphabetically
163-
- Keep descriptions under 120 characters
191+
Projects may be removed if they:
192+
193+
* Become unmaintained
194+
* Have broken documentation or links
195+
* No longer function with current API versions
164196

165197
---
166198

167-
## Contributors
199+
## Maintenance
168200

169-
Thanks to everyone who has helped grow this list.
201+
This repository is actively maintained.
170202

171-
[![Contributors](https://contrib.rocks/image?repo=Api-Wrappers/awesome-api-wrappers)](https://github.com/Api-Wrappers/awesome-api-wrappers/graphs/contributors)
203+
Regular tasks include:
204+
205+
* Removing stale or abandoned projects
206+
* Verifying links and documentation
207+
* Updating descriptions for accuracy
208+
* Reviewing and merging high-quality contributions
209+
210+
---

0 commit comments

Comments
 (0)