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
·
Back to bitinn/node-fetch

Open-source alternatives to Node Fetch

30 open-source projects similar to bitinn/node-fetch, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Node Fetch alternative.

  • 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

    JavaScriptfetchfetch-apihacktoberfest
    View on GitHub↗8,857
  • koush/ionkoush avatar

    koush/ion

    6,269View on GitHub↗

    Ion is an asynchronous HTTP client library for Android that handles network requests, JSON parsing, image loading, and file downloads. It provides a fluent builder pattern for constructing requests and supports automatic JSON deserialization into Java objects using Gson, along with in-memory image caching and multipart form-data encoding. The library distinguishes itself through its support for request cancellation via Future objects, allowing individual or bulk cancellation of in-flight requests to avoid wasted bandwidth and stale callbacks. It also includes proxy-aware request routing for d

    Java
    View on GitHub↗6,269
  • 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

    TypeScripthttphttp-clienthttp-request
    View on GitHub↗14,915

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Find more with AI search
  • 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

    JavaScript
    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

    JavaScript
    View on GitHub↗109,096
  • 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

    JavaScripthacktoberfesthttp-clientjavascript
    View on GitHub↗109,077
  • request/request-promiserequest avatar

    request/request-promise

    4,722View on GitHub↗

    This project is a promise-based HTTP client for Node.js that wraps callback-style network requests into promise objects. It serves as a library for sending JSON, form data, and multipart requests to web servers while managing asynchronous flow control. The library utilizes a specialized Bluebird promise implementation to handle request and response lifecycles. It includes a session manager that uses a cookie jar to maintain and transmit state across multiple network calls. The tool covers a broad range of network capabilities, including REST API integration, response data transformation, and

    JavaScript
    View on GitHub↗4,722
  • rest-client/rest-clientrest-client avatar

    rest-client/rest-client

    5,215View on GitHub↗

    This is a Ruby HTTP client designed for REST API integration, resource modeling, and automated network communication. It provides a set of tools for managing headers, cookies, and SSL configurations, along with a dedicated command-line interface for executing one-off HTTP commands and managing interactive API testing sessions. The project differentiates itself through its resource modeling capabilities, which allow for the definition of persistent base URLs and credentials to construct nested subresource endpoints. It also features a multipart request handler that detects MIME types to upload

    Ruby
    View on GitHub↗5,215
  • lostisland/faradaylostisland avatar

    lostisland/faraday

    5,946View on GitHub↗

    Faraday is an HTTP client library for Ruby that sends requests and processes responses through a middleware pipeline with pluggable adapters. Its core identity is built around a middleware-pipeline architecture where HTTP requests and responses flow through a chain of components that can modify, log, or transform data before reaching the backend, combined with an adapter-based backend abstraction that delegates HTTP execution to interchangeable backends like Net::HTTP or Typhoeus. The library distinguishes itself through a parallel-execution engine that dispatches multiple HTTP requests concu

    Ruby
    View on GitHub↗5,946
  • sindresorhus/kysindresorhus avatar

    sindresorhus/ky

    16,943View on GitHub↗

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

    TypeScriptfetchhttp-clienthttp-request
    View on GitHub↗16,943
  • forwardemail/superagentforwardemail avatar

    forwardemail/superagent

    16,649View on GitHub↗

    Superagent is an isomorphic JavaScript HTTP client for sending network requests and processing responses across both Node.js and web browser environments. It provides a fluent request builder that uses a chainable interface to construct complex network requests with custom headers, query strings, and bodies. The library functions as a runtime-agnostic request adapter, allowing a single codebase to work consistently across different environments. It includes specialized capabilities such as an HTTP/2 client for forcing the HTTP/2 protocol and a Node.js agent for managing Unix socket connection

    JavaScript
    View on GitHub↗16,649
  • dart-lang/httpdart-lang avatar

    dart-lang/http

    1,098View on GitHub↗

    This library provides a unified, cross-platform interface for executing HTTP requests and managing network communication in Dart applications. It functions as a composable client library that automatically resolves platform-specific network implementations, ensuring consistent behavior across mobile, desktop, and web environments. The library distinguishes itself through a modular architecture that supports swappable transport layers and middleware, allowing developers to inject custom logic for logging, caching, or retries. It includes built-in support for resilient communication, such as co

    Dartdartflutterhttp
    View on GitHub↗1,098
  • whoshuu/cprwhoshuu avatar

    whoshuu/cpr

    7,362View on GitHub↗

    cpr is a C++ networking library that provides a high-level HTTP request client. It functions as a wrapper around libcurl to simplify the process of sending and receiving data from web servers, specifically managing GET and POST calls and multipart form uploads. The library provides both synchronous and asynchronous execution models, allowing network requests to run on background threads to prevent application freezing. It integrates with the C++ Standard Library to map low-level pointers to standard strings and containers, utilizing RAII for automatic resource management. The project covers

    C++
    View on GitHub↗7,362
  • 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

    JavaScript
    View on GitHub↗25,542
  • yhirose/cpp-httplibyhirose avatar

    yhirose/cpp-httplib

    16,597View on GitHub↗

    This is a header-only C++ library that provides implementations for HTTP clients, HTTP servers, and a WebSocket framework. It allows for the creation of network services and the consumption of remote APIs without requiring a separate compilation step or external binary linking. The project features backend-agnostic TLS integration for secure HTTPS and WSS communication and employs a thread-pool model to process concurrent requests. It distinguishes itself with a full-duplex WebSocket state-machine and a middleware-based request pipeline that supports regular-expression path routing. The libr

    C++
    View on GitHub↗16,597
  • lhorie/mithril.jslhorie avatar

    lhorie/mithril.js

    14,490View on GitHub↗

    Mithril.js is a JavaScript framework for building single page applications. It functions as a virtual DOM library and reactive UI framework, providing a system to synchronize application state with visual elements to ensure interfaces update instantly. The toolkit includes a built-in client side router that maps browser URL paths to specific components without reloading the page. It also features an integrated HTTP request client for performing asynchronous network calls to remote APIs for data retrieval and transmission. The framework covers broad capabilities for frontend development, incl

    JavaScript
    View on GitHub↗14,490
  • 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

    JavaScriptclienthttpnodejs
    View on GitHub↗7,437
  • typhoeus/typhoeustyphoeus avatar

    typhoeus/typhoeus

    4,130View on GitHub↗

    Typhoeus is a Ruby wrapper for libcurl that functions as a session-based HTTP client. It provides an interface for making both synchronous and asynchronous network requests. The project acts as a parallel request manager, using a managed queue to execute multiple network requests concurrently. It further distinguishes itself as a mocking tool for stubbing requests with predefined responses and as a caching layer that stores responses to avoid redundant network calls. The library covers a broad range of capabilities including session cookie management, response body streaming for large files,

    Ruby
    View on GitHub↗4,130
  • requests/requestsrequests avatar

    requests/requests

    54,070View on GitHub↗

    Requests is a Python HTTP client library used for sending HTTP requests and handling responses. It serves as a network client providing fundamental components for session management, proxy routing, multi-part uploading, and SSL/TLS certificate verification. The project distinguishes itself through a session manager that maintains cookies and reuses TCP connections to improve network performance. It also includes a dedicated multi-part form uploader for transmitting binary data and an integrated SSL/TLS certificate verifier to ensure encrypted and trusted communication. The library covers a b

    Python
    View on GitHub↗54,070
  • google/google-api-javascript-clientgoogle avatar

    google/google-api-javascript-client

    3,473View on GitHub↗

    The Google API JavaScript Client Library is an official client for calling Google APIs directly from browser applications. It provides a programmatic interface to exchange data and execute service requests while managing request construction and response parsing. The library features dynamic client discovery, which loads machine-readable metadata at runtime to automatically generate request methods and parameter validation for various endpoints. It also includes an authentication client that handles OAuth 2.0 authorization flows to securely manage user identity and access tokens in the browse

    CSS
    View on GitHub↗3,473
  • hey-api/openapi-tshey-api avatar

    hey-api/openapi-ts

    4,128View on GitHub↗

    openapi-ts is a tool and orchestrator used to convert OpenAPI specifications into type-safe TypeScript SDKs and HTTP client implementations. It automatically generates typed interfaces and request functions from API definitions to ensure consistency between the server and the client. The project employs a transport-agnostic client interface, decoupling high-level API calls from the underlying network library. It uses a plugin-based generation pipeline and a custom plugin architecture to allow for the customization of output types and validation schemas. The system provides capabilities for n

    TypeScriptangularaxioscodegen
    View on GitHub↗4,128
  • encode/httpxencode avatar

    encode/httpx

    15,090View on GitHub↗

    This project is a comprehensive Python network request framework designed for both synchronous and asynchronous HTTP communication. It provides a high-performance client capable of executing non-blocking requests within event-driven applications, while also supporting standard blocking calls for simpler scripts. The library is built to operate natively across diverse asynchronous runtimes, automatically detecting and utilizing the underlying event loop for concurrency. What distinguishes this library is its modular architecture, which decouples request construction from network execution thro

    Pythonasynciohttppython
    View on GitHub↗15,090
  • jnunemaker/httpartyjnunemaker avatar

    jnunemaker/httparty

    5,894View on GitHub↗

    HTTParty is a Ruby HTTP client library designed for building standardized API clients. It abstracts low-level network primitives into a high-level interface, allowing developers to encapsulate base URIs and request configurations within classes to maintain consistent interactions with remote web services. The library automates the transformation of raw network response data into native Ruby structures by using a registry-based system that parses content based on response headers. It also provides specialized mechanisms for sending multipart form data and streaming large payloads to maintain m

    Ruby
    View on GitHub↗5,894
  • httpie/httpiehttpie avatar

    httpie/httpie

    38,212View on GitHub↗

    HTTPie is a command-line HTTP client designed for sending requests to web services and APIs. It functions as a terminal-based web client and JSON API interface, allowing users to interact with RESTful services and download remote files directly from the console. The tool simplifies the interaction with APIs through a custom syntax for argument parsing and automatic JSON payload serialization. It includes a request debugger to verify the structure of a request before transmission and uses ANSI-based formatting to display server responses with color and indentation for improved readability. Th

    Python
    View on GitHub↗38,212
  • go-resty/restygo-resty avatar

    go-resty/resty

    11,704View on GitHub↗

    Resty is a high-level HTTP client library for Go designed for consuming REST services. It provides a streamlined interface for executing network requests, managing server-sent event streams, and automatically mapping JSON and XML responses into data structures. The library includes built-in mechanisms for service resilience and traffic management, such as circuit breakers to prevent cascading failures, token-bucket rate limiting, and automated request retries with exponential backoff. It also features client-side load balancing to distribute outgoing traffic across multiple base URLs and requ

    Gobackoffcircuit-breakercurl-command
    View on GitHub↗11,704
  • 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.

    JavaScript
    View on GitHub↗16,650
  • 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.

    JavaScript
    View on GitHub↗6,913
  • urllib3/urllib3urllib3 avatar

    urllib3/urllib3

    4,026View on GitHub↗

    urllib3 is a Python HTTP client library used for sending network requests and receiving responses. It functions as an HTTP connection pool manager and a TLS certificate validator to ensure secure communication between endpoints. The library provides a system for maintaining reusable network connections to reduce the overhead of repeated handshakes. It also serves as an HTTP proxy client capable of routing requests through proxy servers to manage origin identity or bypass firewalls. The tool covers programmatic file uploads via multipart encoding and automated network resilience through the u

    Pythonhttphttp-clientpython
    View on GitHub↗4,026
  • imroc/reqimroc avatar

    imroc/req

    4,807View on GitHub↗

    req is a chainable HTTP client library for Go designed to simplify request configuration and automatic response decoding into structures. It provides a fluent-interface request builder that allows developers to incrementally define request properties and encapsulate HTTP logic into reusable API SDKs. The project distinguishes itself with a TLS fingerprint emulator that mimics browser network signatures to bypass bot detection and crawler filters. It also includes a concurrent file downloader that increases transfer speeds by fetching large remote files in parallel segments. The library cover

    Gogogolanghttp
    View on GitHub↗4,807
  • kittinunf/fuelkittinunf avatar

    kittinunf/fuel

    4,652View on GitHub↗

    Fuel is a Kotlin HTTP client library for Android and Kotlin applications that handles both synchronous and asynchronous web requests. It functions as a network wrapper that supports executing calls via suspending functions in coroutines, reactive streams, and traditional callbacks. The library features built-in integration for Android LiveData to bind network responses directly to observable state holders for user interface updates. It also includes a JSON serialization client that utilizes customizable mappers to convert raw HTTP response bodies into structured data objects. Capability area

    Kotlinandroidhttp-clientkotlin
    View on GitHub↗4,652