Learn about some of the most popular external APIs available in Rust, including Rust wrappers for Spotify, GitHub, AWS, and more.

An external web API is an API that is designed to be accessed by a larger population in addition to web developers. We refer to external web APIs implemented in languages as wrappers because they strongly encapsulate the functions and interfaces provided by the native web API into an easy-to-use library. Libraries provide simple methods that interact with the whole service, eliminating the need to manually write the HTTP requests to the various endpoints.

API wrappers, both internal and external, have various characteristics that distinguish them from one another, making some more appropriate and useful for certain use cases than others. In this guide, we’ll evaluate, in no particular order, some of the most popular external APIs available in Rust, including:

  • Rust API wrappers for Spotify
    • aspotify
    • rspotify
  • Twitter libraries for Rust
    • egg-mode
  • Rust libraries for the Discord API
    • serenity
    • discord-rs
  • Rust crates for GitHub
    • hubcaps
    • octocrab
  • Rust Telegram bots
    • telegram-bot
    • teloxide
  • Rust crates for AWS
    • rusoto-core
  • Other Rust web APIs
    • urlshortener
    • wikipedia
    • pusher
    • slack-hook
    • rants

We’ll assess each of the above APIs according to the following criteria:

  1. Stability — Maintenance, update rate, developers response, license, amount of dependencies, releases, etc.
  2. Popularity — GitHub stars, crates.io statistics, forks, community, etc.
  3. Developer experience — Ease of use, documentation, issues, community, Rust code discipline, syntax, etc.

#rust #programming #developer #web-development #api

Rust External Web APIs: The Definitive Guide
2.25 GEEK