awesome-repositories.com
Blog
MCP
awesome-repositories.com

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

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
bitinn avatar

bitinn/node-fetch

0
View on GitHub↗
8,861 stars·1,054 forks·JavaScript·MIT·21 views

Node Fetch

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 configuration, request cancellation via abort signals, and the handling of various content encodings and form data submissions.

Features

  • HTTP Request Clients - Implements a browser-compatible fetch standard for executing HTTP requests to retrieve or send data in Node.js.
  • API Data Consumption - Connects Node.js backends to external web services to fetch and process remote data.
  • HTTP Payload Streaming - Handles massive network responses using readable and writable streams to process data incrementally.
  • HTTP Client Libraries - A lightweight HTTP client library for sending requests and handling responses with streaming support.
  • Node.js HTTP Clients - Enables making network requests in Node.js using a browser-compatible fetch API.
  • Promise-Based HTTP Clients - Provides an asynchronous interface for retrieving data from servers using the JavaScript Promise API.
  • Response Streaming - Implements incremental delivery of large HTTP response bodies to optimize memory usage via native streams.
  • Body Streaming - Processes request and response payloads as streams to handle large data without memory exhaustion.
  • Fetch API Implementations - Provides a lightweight implementation of the browser-standard Fetch API for Node.js runtimes.
  • Binary-to-Stream Conversions - Converts raw binary data from the network layer into standard Node.js streams for asynchronous processing.
  • Network Agent Configuration - Manages DNS lookups and SSL certificates by configuring custom HTTP agents for network requests.
  • Request Cancellations - Provides mechanisms to terminate active network requests using abort signals to reclaim system resources.
  • Node.js HTTP Agents - Uses Node.js HTTP agents to manage connection pooling and low-level socket configurations.
  • Request Abort Signals - Ties request lifecycles to abort signals to terminate pending network operations and free resources.
  • Deflate Stream Decompression - Intercepts raw response streams to decompress gzip, deflate, and brotli data before returning the payload.
  • Form Data Submission - Supports sending request payloads using encoded forms and multipart data for text and file uploads.
  • HTTP Clients - Window fetch API implementation for Node.js.

Star history

Star history chart for bitinn/node-fetchStar history chart for bitinn/node-fetch

AI search

Explore more awesome repositories

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

Start searching with AI

Open-source alternatives to Node Fetch

Similar open-source projects, ranked by how many features they share with Node Fetch.
  • 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
  • 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
See all 30 alternatives to Node Fetch→

Frequently asked questions

What does bitinn/node-fetch do?

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.

What are the main features of bitinn/node-fetch?

The main features of bitinn/node-fetch are: HTTP Request Clients, API Data Consumption, HTTP Payload Streaming, HTTP Client Libraries, Node.js HTTP Clients, Promise-Based HTTP Clients, Response Streaming, Body Streaming.

What are some open-source alternatives to bitinn/node-fetch?

Open-source alternatives to bitinn/node-fetch include: node-fetch/node-fetch — node-fetch is a promise-based HTTP client library that provides a lightweight implementation of the Fetch API for the… koush/ion — Ion is an asynchronous HTTP client library for Android that handles network requests, JSON parsing, image loading, and… sindresorhus/got — Got is a promise-based HTTP request library for Node.js that supports HTTP/2 and streaming. It provides a system for… github/fetch — This project is a JavaScript fetch polyfill and HTTP client library. It implements the Fetch API in environments that… mzabriskie/axios — Axios is a promise-based HTTP client used to make asynchronous network requests in both browser and Node.js… axios/axios — Axios is an isomorphic, promise-based HTTP client designed for making asynchronous network requests across different…