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
·

TypeScript HTTP Client Libraries

Ranking updated Jul 13, 2026

For a lightweight HTTP client for TypeScript, the strongest matches are unjs/ofetch (ofetch is a robust, TypeScript-first HTTP client that natively), elbywan/wretch (Wretch is a robust, TypeScript-native HTTP client that provides) and sindresorhus/ky (Ky is a lightweight, type-safe HTTP client built on). bitinn/node-fetch and mzabriskie/axios round out the shortlist. Each is ranked by relevance to your query, popularity and recent activity.

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

TypeScript HTTP Client Libraries

Find the best repos with AI.We'll search the best matching repositories with AI.
  • 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, TypeScript-first HTTP client that natively supports all requested features, including interceptors, automatic JSON parsing, retry mechanisms, and cancellation via the fetch API.

    TypeScriptHTTP Request InterceptorsRequest Abort SignalsResponse Body Parsing
    View on GitHub↗5,316
  • 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, TypeScript-native HTTP client that provides a fluent API for request management, featuring built-in support for interceptors, automatic parsing, retries, and isomorphic execution via the Fetch API.

    TypeScriptRequest Abort SignalsRequest CancellationsResponse Body Parsing
    View on GitHub↗5,174
  • sindresorhus/kysindresorhus avatar

    sindresorhus/ky

    16,943View on GitHub↗

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

    Ky is a lightweight, type-safe HTTP client built on the Fetch API that provides first-class TypeScript support, automatic JSON parsing, interceptors, and built-in retry and cancellation mechanisms.

    TypeScriptAutomatic Retry ClientsRequest CancellationRequest Cancellations
    View on GitHub↗16,943
  • 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 standard-compliant Fetch implementation for Node.js that supports request cancellation and streaming, though it lacks built-in features like automatic JSON parsing or retry mechanisms found in more comprehensive clients.

    JavaScriptRequest Abort SignalsRequest Cancellations
    View on GitHub↗8,861
  • 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 widely-used, isomorphic HTTP client that provides robust support for interceptors, request cancellation, and automatic JSON parsing, though it is written in JavaScript rather than being a native TypeScript-first library.

    JavaScriptHTTP Request InterceptorsRequest Cancellations
    View on GitHub↗109,096
  • 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 is a lightweight, promise-based HTTP client that provides a standard Fetch API implementation for Node.js, offering essential features like request cancellation and stream handling, though it lacks built-in retry mechanisms and native TypeScript-first type safety compared to more modern alternatives.

    JavaScriptRequest CancellationsResponse Body Parsing
    View on GitHub↗8,857
  • 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 robust, type-safe HTTP client library that provides advanced features like interceptors, automatic retries, and streaming, though it is specifically designed for Node.js environments rather than being isomorphic.

    TypeScriptHTTP Request InterceptorsRequest Cancellations
    View on GitHub↗14,915
  • 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 widely-used, isomorphic HTTP client that provides robust support for interceptors, automatic JSON parsing, and request cancellation, though it lacks native TypeScript source code as it is written in JavaScript.

    JavaScriptHTTP Request InterceptorsInterceptor Middleware
    View on GitHub↗109,077
  • 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 is a promise-based HTTP client library that provides automatic JSON parsing and a runtime-agnostic architecture, making it a suitable tool for handling API requests in TypeScript environments despite lacking native type definitions.

    JavaScriptResponse Body Parsing
    View on GitHub↗4,404
  • 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, isomorphic HTTP client that supports request pipelines and cross-platform execution, though it lacks native TypeScript first-class support and requires external type definitions.

    JavaScriptCross-Platform HTTP ClientsAjax ClientsCross-Platform Execution
    View on GitHub↗16,650
  • nodejs/undicinodejs avatar

    nodejs/undici

    7,437View on GitHub↗

    Undici is a high-performance HTTP client for Node.js designed to execute network requests while minimizing resource overhead and latency. The project provides specialized capabilities for HTTP request pipelining to increase throughput and memory-based response caching to reduce redundant network calls. It also supports HTTP tunneling and proxying through the establishment of secure two-way communication channels via the connect method. Additionally, the client includes tools for web API polyfilling to provide standard browser network interfaces within Node.js environments. Its functional sur

    Undici is a high-performance HTTP client for Node.js that provides robust request handling and interceptor support, though it is primarily optimized for server-side environments rather than being a fully isomorphic library.

    JavaScriptHTTP Request ClientsHTTP PipeliningHTTP Pipelining
    View on GitHub↗7,437
  • hapijs/wreckH

    hapijs/wreck

    0View on GitHub↗

    wreck is part of the hapi ecosystem and was designed to work seamlessly with the hapi web framework and its other components (but works great on its own or with other frameworks). If you are using a different web framework and find this module useful, check out hapi – they work even better together.

    Wreck is a robust HTTP client library that provides essential features like automatic JSON parsing and request/response handling, though it lacks native TypeScript type-safety and built-in retry mechanisms compared to more modern alternatives.

    HTTP Clients
    View on GitHub↗0
Compare the top 10 at a glance
RepositoryStarsLanguageLicenseLast push
unjs/ofetch5.3KTypeScriptMITJun 21, 2026
elbywan/wretch5.2KTypeScriptMITJun 5, 2026
sindresorhus/ky16.9KTypeScriptMITJun 22, 2026
bitinn/node-fetch8.9KJavaScriptMITMay 12, 2026
mzabriskie/axios109.1KJavaScriptMITJun 25, 2026
node-fetch/node-fetch8.9KJavaScriptMITMay 12, 2026
sindresorhus/got14.9KTypeScriptMITMay 7, 2026
axios/axios109.1KJavaScriptMITJun 16, 2026
mikeal/r24.4KJavaScriptApache-2.0Sep 1, 2019
visionmedia/superagent16.7KJavaScriptMITJan 6, 2026

Related searches

  • a javascript library for making http requests
  • a lightweight http client for Kotlin
  • an http client library for Dart
  • a C# library for making HTTP requests
  • a java library for making http requests
  • an http client library for Flutter
  • an HTTP client library for Go
  • an http client library for Rust