awesome-repositories.com
Blog
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectAboutHow we rankPressMCP server
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·

JavaScript HTTP Client Libraries

Ranking updated Jul 13, 2026

For a javascript library for making http requests, the strongest matches are github/fetch (This library provides a standard, promise-based interface for HTTP), mzabriskie/axios (Axios is a comprehensive, industry-standard HTTP client that natively) and sindresorhus/ky (Ky is a modern, promise-based HTTP client that provides). sindresorhus/got and visionmedia/superagent round out the shortlist. Each is ranked by relevance to your query, popularity and recent activity.

We curate open-source GitHub repositories matching “best javascript http client libraries”. Results are ranked by relevance to your query — pick filters below to narrow, or refine with AI.

JavaScript HTTP Client Libraries

Find the best repos with AI.We'll search the best matching repositories with AI.
  • github/fetchgithub avatar

    github/fetch

    25,881View on GitHub↗

    This project is a JavaScript fetch polyfill and HTTP client library. It implements the Fetch API in environments that lack native browser support for web requests, providing a promise-based network wrapper for executing asynchronous HTTP calls and managing responses. The library ensures a consistent interface across different JavaScript runtimes by mapping raw network data into standardized request and response objects. It utilizes the XMLHttpRequest object to perform network operations in environments where a native fetch implementation is unavailable. The tool covers HTTP request managemen

    This library provides a standard, promise-based interface for HTTP requests that works across both browser and Node.js environments, though it lacks some of the advanced built-in features like automatic interceptors found in more comprehensive clients.

    JavaScriptAsynchronous Request ExecutionRequest CancellationsRequest Abort Signals
    View on GitHub↗25,881
  • mzabriskie/axiosmzabriskie avatar

    mzabriskie/axios

    109,096View on GitHub↗

    Axios is a promise-based HTTP client used to make asynchronous network requests in both browser and Node.js environments. It functions as a multi-environment network adapter that abstracts the transport layer to ensure consistent behavior across different runtimes. The project distinguishes itself through a request lifecycle management system that allows for the cancellation of active requests, the setting of timeouts, and the monitoring of upload and download transfer progress. It includes a mechanism for intercepting network traffic, enabling the transformation of outgoing requests and inco

    Axios is a comprehensive, industry-standard HTTP client that natively supports promise-based requests, interceptors, automatic JSON transformation, and cross-environment compatibility, making it a perfect fit for your requirements.

    JavaScriptHTTP Request InterceptorsRequest Cancellations
    View on GitHub↗109,096
  • sindresorhus/kysindresorhus avatar

    sindresorhus/ky

    16,943View on GitHub↗

    🌳 Tiny & elegant JavaScript HTTP client based on the Fetch API

    Ky is a modern, promise-based HTTP client that provides a clean wrapper around the Fetch API for both browser and Node.js environments, supporting features like request cancellation and automatic JSON parsing.

    TypeScriptRequest CancellationRequest CancellationsAbortController-Based Clients
    View on GitHub↗16,943
  • sindresorhus/gotsindresorhus avatar

    sindresorhus/got

    14,915View on GitHub↗

    Got is a promise-based HTTP request library for Node.js that supports HTTP/2 and streaming. It provides a system for making network requests with a focus on asynchronous control flow and type-safe API client development. The library is distinguished by its middleware-based request lifecycle, which uses interceptors and plugins to modify request options and response data. It includes a configurable automatic retry mechanism with backoff strategies, a built-in HTTP response cache, and a cookie-jar system for maintaining persistent sessions. Broad capabilities cover data handling through duplex

    Got is a powerful, promise-based HTTP client that provides robust features like interceptors, automatic JSON transformation, and progress tracking, though it is specifically designed for Node.js environments rather than being a universal browser-compatible library.

    TypeScriptHTTP Request InterceptorsJSON SerializationRequest Cancellations
    View on GitHub↗14,915
  • visionmedia/superagentvisionmedia avatar

    visionmedia/superagent

    16,650View on GitHub↗

    Superagent is a cross-platform JavaScript HTTP client and Ajax library used for exchanging data between clients and servers. It provides a consistent API for making network requests that works identically across both Node.js and web browser environments. The library features a request pipeline that allows for the addition of custom behaviors to outgoing network calls. This system supports the implementation of specialized functions such as request throttling, caching, and the automatic signing of outgoing data.

    Superagent is a mature, cross-platform HTTP client that provides a promise-based API, middleware-style interceptors, and automatic JSON handling, making it a comprehensive solution for both browser and Node.js environments.

    JavaScriptPromise-Based Chains
    View on GitHub↗16,650
  • unjs/ofetchunjs avatar

    unjs/ofetch

    5,316View on GitHub↗

    ofetch is an HTTP client built on the native fetch API that adds automatic JSON serialization, request/response interceptors, configurable retry, and timeout handling. It provides descriptive error objects for non-OK responses and automatically parses response bodies based on their content type. The client supports creating pre-configured instances with preset base URLs, headers, and default options, enabling consistent configuration across a project. It offers full TypeScript type inference for response data and request payloads, and allows extending request options with custom properties wh

    ofetch is a robust, fetch-based HTTP client that provides essential features like interceptors, automatic JSON parsing, and request cancellation, making it a strong choice for both browser and Node.js environments.

    TypeScriptHTTP Request InterceptorsRequest Abort SignalsJSON Request Serializers
    View on GitHub↗5,316
  • axios/axiosaxios avatar

    axios/axios

    109,077View on GitHub↗

    Axios is an isomorphic, promise-based HTTP client designed for making asynchronous network requests across different JavaScript execution environments, including the browser and Node.js. It functions as a JSON API client that serializes JavaScript objects into JSON and parses server responses into structured data. The project features a system for managing reusable client instances with shared configurations, such as base URLs and default settings. It includes a mechanism for intercepting outgoing requests and incoming responses globally, allowing data to be transformed before it reaches the

    Axios is a comprehensive, promise-based HTTP client that natively supports both browser and Node.js environments, offering built-in interceptors, automatic JSON transformation, and request cancellation as requested.

    JavaScriptHTTP Request Interceptors
    View on GitHub↗109,077
  • bitinn/node-fetchbitinn avatar

    bitinn/node-fetch

    8,861View on GitHub↗

    node-fetch is a lightweight HTTP client library that implements the browser-standard Fetch API for Node.js. It provides a promise-based interface for making asynchronous network requests to retrieve or send data from server-side environments. The project specializes in memory-efficient data handling by utilizing request and response streaming. This allows for the incremental processing of large network payloads through native system streams to prevent memory exhaustion. The library covers a broad range of networking capabilities, including the use of custom HTTP agents for DNS and SSL config

    This library provides a robust, promise-based implementation of the Fetch API for Node.js environments, supporting request cancellation and streaming, though it lacks built-in automatic JSON transformation and interceptors found in more comprehensive clients.

    JavaScriptRequest CancellationsRequest Abort Signals
    View on GitHub↗8,861
  • pagekit/vue-resourcepagekit avatar

    pagekit/vue-resource

    10,002View on GitHub↗

    vue-resource is a network library for making asynchronous HTTP requests and synchronizing remote server data with Vue.js application state. It functions as a REST API client for exchanging data between a web browser and a server using standard RESTful protocols. The library features a pipeline for modifying outgoing network requests and incoming responses to handle authentication and global error logging. It acts as an asynchronous data fetcher that retrieves remote resources and automatically updates the user interface when server responses arrive. The project provides an adapter-based tran

    This library provides a promise-based HTTP client with interceptor support and automatic JSON transformation, functioning as a dedicated tool for network requests in JavaScript environments.

    JavaScriptHTTP Request Interceptors
    View on GitHub↗10,002
  • elbywan/wretchelbywan avatar

    elbywan/wretch

    5,174View on GitHub↗

    Wretch is a chainable HTTP client library and Fetch API wrapper designed to simplify network request configuration, response parsing, and error handling. It functions as a network request manager and middleware framework for managing the end-to-end lifecycle of HTTP calls. The project is distinguished by a fluent interface for request configuration and a modular extension system. It utilizes a programmable response resolver to automate parsing and a plugin-based architecture to add new capabilities to request and response objects. The library covers a broad range of operational capabilities,

    Wretch is a robust, promise-based HTTP client library that provides a fluent API, interceptor support, and cross-environment compatibility, making it a strong choice for managing network requests in both browser and Node.js.

    TypeScriptRequest CancellationsRequest Abort Signals
    View on GitHub↗5,174
  • node-fetch/node-fetchnode-fetch avatar

    node-fetch/node-fetch

    8,857View on GitHub↗

    node-fetch is a promise-based HTTP client library that provides a lightweight implementation of the Fetch API for the Node.js runtime. It serves as a network interface for performing asynchronous HTTP requests, handling server communication, and managing headers. The library utilizes a promise-based request lifecycle to wrap network calls, ensuring asynchronous behavior. It incorporates stream-based handling for both requests and responses to process large payloads efficiently without overloading system memory. Its capabilities cover a broad range of network communication tasks, including th

    This library provides a promise-based implementation of the Fetch API for Node.js, serving as a standard-compliant HTTP client that supports request cancellation and streaming, though it lacks built-in automatic JSON transformation and interceptors found in more comprehensive alternatives.

    JavaScriptRequest Cancellations
    View on GitHub↗8,857
  • mikeal/r2mikeal avatar

    mikeal/r2

    4,404View on GitHub↗

    r2 is a JavaScript HTTP client library and asynchronous request library used for executing network calls. It provides a runtime-agnostic network layer that abstracts underlying HTTP implementations to ensure consistent behavior across different JavaScript execution environments. The library functions as a JSON API client, automatically parsing response bodies and formatting outgoing payloads. It utilizes a promise-based interface to manage the lifecycle of HTTP requests and responses. The project covers REST API integration and HTTP header management, allowing users to attach custom key-valu

    This library provides a promise-based, runtime-agnostic HTTP client that handles JSON transformation and request management, making it a direct fit for your requirements despite lacking explicit built-in interceptors or progress tracking.

    JavaScriptHTTP Client LibrariesPromise-Based HTTP ClientsAPI Clients
    View on GitHub↗4,404
  • request/requestrequest avatar

    request/request

    25,542View on GitHub↗

    This is an HTTP client library used for sending and receiving network requests. It functions as an HTTP traffic replicator, a multipart form uploader, and an OAuth request signer, while also serving as an HTTP client capable of routing traffic through Unix domain sockets for local inter-process communication. The project distinguishes itself with the ability to import and parse HTTP Archive JSON files to reproduce recorded network traffic. It also provides cryptographic OAuth signing to secure API access using hashing algorithms and supports routing requests through Unix domain sockets using

    This library is a long-standing, feature-rich HTTP client for Node.js that handles complex request configurations, though it lacks a native Promise-based API and modern interceptor support compared to newer alternatives.

    JavaScriptHTTP Client LibrariesHTTP Request DispatchersAPI Request Signing
    View on GitHub↗25,542
  • developit/redaxiosD

    developit/redaxios

    0View on GitHub↗

    Axios has a great API that developers love. Redaxios provides that API in 800 bytes, using native fetch().

    Redaxios provides a lightweight, promise-based HTTP client that mirrors the popular Axios API and supports both browser and Node.js environments, though it lacks built-in request cancellation and progress tracking features.

    API Layer
    View on GitHub↗0
  • matthew-andrews/isomorphic-fetchmatthew-andrews avatar

    matthew-andrews/isomorphic-fetch

    6,913View on GitHub↗

    isomorphic-fetch is a cross-runtime fetch API and isomorphic HTTP client that provides a standardized request interface across different JavaScript environments. It functions as a WHATWG fetch polyfill, ensuring that network request logic behaves identically in both web browsers and Node.js. The project enables universal JavaScript development by allowing a single codebase to perform HTTP requests without environment-specific code. It integrates the fetch interface into Node.js and supports application bundling for the browser.

    This library provides a standardized, cross-platform fetch interface for both Node.js and browser environments, though it lacks built-in features like interceptors or automatic request cancellation found in more comprehensive HTTP clients.

    JavaScriptFetch PolyfillsCross-Platform HTTP ClientsFetch API Implementations
    View on GitHub↗6,913
Compare the top 10 at a glance
RepositoryStarsLanguageLicenseLast push
github/fetch25.9KJavaScriptMITJul 15, 2024
mzabriskie/axios109.1KJavaScriptMITJun 25, 2026
sindresorhus/ky16.9KTypeScriptMITJun 22, 2026
sindresorhus/got14.9KTypeScriptMITMay 7, 2026
visionmedia/superagent16.7KJavaScriptMITJan 6, 2026
unjs/ofetch5.3KTypeScriptMITJun 21, 2026
axios/axios109.1KJavaScriptMITJun 16, 2026
bitinn/node-fetch8.9KJavaScriptMITMay 12, 2026
pagekit/vue-resource10KJavaScriptMITDec 8, 2022
elbywan/wretch5.2KTypeScriptMITJun 5, 2026

Related searches

  • a lightweight HTTP client for TypeScript
  • a java library for making http requests
  • a php library for making http requests
  • a C# library for making HTTP requests
  • an http client library for Dart
  • a python library for making http requests
  • an HTTP client library for Go
  • an http client library for Flutter