API Client Design Across Languages - Part 2 - Making Requests

This page summarizes the projects mentioned and recommended in the original post on dev.to

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern API for authentication & user identity.
  • Onboard AI - ChatGPT with full context of any GitHub repo.
  • freshbooks-python-sdk

    FreshBooks API wrapper

    In python we're using the requests library for simplicity. Requests is widely used (see the Stripe and Auth0 SDKs) so it isn't too onerous of a requirement. In fact, FreshBooks' Python SDK is very light on dependencies in general.

  • got

    🌐 Human-friendly and powerful HTTP request library for Node.js

    Like Python, our Node.js SDK is using a well-known library axios. While it is not quite as ubiquitous as Python's requests, it is very commonly used. For instance, it is used by Auth0 (if you're looking for a different example, Shopify makes use of Got). You can find it configured here. The shared client code takes reqeust and response transform functions for each resource to convert the repsonses to objects.

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

  • http-message

    The purpose of this PSR is to provide a set of common interfaces for HTTP messages as described in RFC 7230 and RFC 7231

    Like Node.js, the PHP ecosystem has quite a number of good HTTP request libraries. Guzzle is perhaps one of the most well known, but there are many other popular libraries out there. Luckily, PHP also has some interface standards around HTTP clients and messages, particularly PSR-7, PSR-17, and PSR-18,

  • axios

    Promise based HTTP client for the browser and node.js

    Like Python, our Node.js SDK is using a well-known library axios. While it is not quite as ubiquitous as Python's requests, it is very commonly used. For instance, it is used by Auth0 (if you're looking for a different example, Shopify makes use of Got). You can find it configured here. The shared client code takes reqeust and response transform functions for each resource to convert the repsonses to objects.

  • Guzzle

    Guzzle, an extensible PHP HTTP client

    Like Node.js, the PHP ecosystem has quite a number of good HTTP request libraries. Guzzle is perhaps one of the most well known, but there are many other popular libraries out there. Luckily, PHP also has some interface standards around HTTP clients and messages, particularly PSR-7, PSR-17, and PSR-18,

  • Requests

    Requests for PHP is a humble HTTP request library. It simplifies how you interact with other sites and takes away all your worries. (by rmccue)

    Like Node.js, the PHP ecosystem has quite a number of good HTTP request libraries. Guzzle is perhaps one of the most well known, but there are many other popular libraries out there. Luckily, PHP also has some interface standards around HTTP clients and messages, particularly PSR-7, PSR-17, and PSR-18,

  • HTTPlug

    HTTPlug, the HTTP client abstraction for PHP

    Like Node.js, the PHP ecosystem has quite a number of good HTTP request libraries. Guzzle is perhaps one of the most well known, but there are many other popular libraries out there. Luckily, PHP also has some interface standards around HTTP clients and messages, particularly PSR-7, PSR-17, and PSR-18,

  • WorkOS

    The modern API for authentication & user identity. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

  • HTTPFul

    A Chainable, REST Friendly, PHP HTTP Client. A sane alternative to cURL.

    Like Node.js, the PHP ecosystem has quite a number of good HTTP request libraries. Guzzle is perhaps one of the most well known, but there are many other popular libraries out there. Luckily, PHP also has some interface standards around HTTP clients and messages, particularly PSR-7, PSR-17, and PSR-18,

  • freshbooks-php-sdk

    FreshBooks API wrapper

    In our README we provide an example for those who have no particular preference:

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts