30 open-source projects similar to requests/requests, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Requests alternative.
urllib3 is a Python HTTP client library used to send network requests and receive responses. It provides core components for managing HTTP connection pools, routing traffic through proxies, validating TLS certificates, and executing automatic request retries. The library focuses on network reliability and efficiency by maintaining a system that reuses established connections to multiple hosts to reduce latency. It ensures secure communication through client-side certificate verification and handles transient network errors using policy-based retry logic. The project covers broad networking c
C++ is a high-level HTTP client library and wrapper for libcurl. It provides a C++ interface for making network requests, managing network sessions, and implementing data transfers. The library distinguishes itself by offering an asynchronous HTTP client capable of executing non-blocking requests via callback interfaces. It also functions as a multipart form uploader for transmitting files and structured data, as well as an SSE stream handler for processing real-time server-sent events over persistent connections. Its broader capabilities cover secure web communication through SSL encryption
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
Guzzle is a PHP HTTP client used for sending synchronous and asynchronous requests to web services. It serves as a concurrent HTTP request manager, an HTTP stream handler, and a middleware-based HTTP pipeline. The project is a PSR-7 compliant client, utilizing standardized PHP interfaces for requests, responses, and streams. The library differentiates itself through a customizable functional handler stack that allows for the interception and modification of the request and response lifecycle. It features an adapter-based transport system that enables swapping between network implementations,
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
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
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
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
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
This project is a distributed scraping engine designed to extract business details, customer reviews, and lead information from Google Maps. It functions as a business scraper and data extractor that can be deployed as a permanent system or as on-demand serverless functions. The system utilizes a proxy-routed web crawler to manage request origins via SOCKS5, HTTP, and HTTPS proxies. To locate contact information, it includes an email extraction tool that recursively crawls business websites linked within map listings. The software supports coordinate-based radius searches for efficient data
This library is a high-level networking tool for the Rust programming language, designed to execute HTTP requests and interact with remote services and REST APIs. It provides both asynchronous and blocking interfaces, allowing developers to send data using formats such as JSON or multipart forms while maintaining type-safe communication with external web services. The library distinguishes itself through a comprehensive architecture that manages network sessions and data flow. It utilizes connection pooling to maintain persistent sockets, which reduces latency during consecutive requests to t
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
This is a Backend-as-a-Service SDK for React Native, providing a library to integrate mobile applications with backend services. It serves as a client for managing user authentication, cloud databases, and remote file storage within a mobile environment. The SDK enables mobile developers to implement secure login flows using OAuth, email, and phone verification. It includes a database client for performing CRUD operations on structured data and a storage client for uploading and retrieving binary assets from remote cloud buckets. Additionally, it features a WebSocket-based interface to receiv
Baileys is a TypeScript API client library used to interact with the WhatsApp Web API via WebSockets without requiring a browser. It functions as a real-time communication tool that handles bidirectional data exchange and event-based socket connections. The project includes a dedicated toolkit for managing WhatsApp Business profiles and product catalogs, alongside a session manager that authenticates accounts using QR codes or pairing codes and persists session state to disk. Its capabilities cover a wide range of messaging functions, including multi-type message transmission, chat history s
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
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
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
This project is a Go-based HTTP proxy server designed as a censorship circumvention tool. It functions as an upstream proxy manager and SOCKS5 tunneling gateway that routes network traffic between clients and destination servers to bypass network restrictions. The system differentiates itself through automated proxy routing, which detects unreachable websites and automatically switches traffic between direct access and a pool of parent proxies. It includes a PAC file generator to produce proxy auto-config files for browsers and integrates SSH tunneling to establish secure remote sockets. Bro
requests-html is a Python HTML parsing library and web scraping framework. It functions as an asynchronous HTTP client and a JavaScript rendering engine designed to fetch and parse web pages for structured data extraction. The project integrates a headless browser to execute JavaScript, allowing it to retrieve dynamically generated content that standard HTML parsers cannot see. It provides tools for automated data extraction using CSS selectors and XPath expressions to isolate specific text or attributes from HTML structures. The framework covers network operations including asynchronous pag
so-novel is a web novel downloader and scraping engine designed to extract structured text from websites and convert it into electronic book formats. It functions as a multi-interface content extractor, providing a shared backend accessible via a web-based management dashboard, a terminal user interface, and a command line interface. The system utilizes a rule-driven approach for data extraction, using CSS selectors and XPath rules defined in external configuration files to map web elements to specific data fields. To maintain access to content, it includes a proxy-routed request pipeline to
TelegramGroup is a comprehensive automation framework designed for managing multiple messaging accounts and orchestrating complex administrative workflows. It functions by emulating client-side sessions to interact with platform APIs, enabling centralized control over user profiles, persistent session data, and distributed network routing through proxy infrastructure. The platform distinguishes itself through its modular architecture, which supports independent plugins for tasks such as artificial intelligence integration, content mirroring, and automated community moderation. It provides a s
Feign is a declarative Java HTTP client that automates the generation of web service clients. It allows developers to define REST API endpoints using interfaces and annotations, removing the need to write manual request and response boilerplate code. The project uses dynamic proxies to map method calls to HTTP request templates. It features a pluggable pipeline of encoders and decoders to transform Java objects into request bodies and convert response bodies back into type-safe objects. The library covers a broad range of integration capabilities, including request interception for header ma
node-apn is a Node.js library and push notification driver used to send remote notifications to Apple devices via the Apple Push Notification service. It functions as an HTTP/2 client that manages the construction and transmission of JSON payloads to the Apple notification gateway. The library supports multiple identity verification methods, including certificate-based authentication using PEM or PFX files and token-based authentication with automatically renewing tokens. It includes capabilities for routing traffic through intermediary proxy servers and secure HTTP tunnels to bypass restrict
This project is a V2Ray configuration repository that provides a collection of pre-configured server settings and connection strings. It serves as a curated set of remote proxy addresses and security metadata used to establish encrypted network tunnels for routing internet traffic. The project focuses on the distribution of Base64-encoded configuration strings, which allow for the retrieval and deployment of server settings to establish secure connections. It includes tools for latency benchmarking, measuring response times and pinging configuration links to filter and rank the most performan
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
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
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
Fancyss is a network utility designed to function as a Shadowsocks proxy gateway. It operates as a transparent proxy manager that intercepts and routes network traffic at the gateway level, allowing for centralized management of internet access across all connected devices without requiring individual client-side configurations. The system employs policy-based routing and rule-based traffic filtering to direct data through specific network paths. It maintains multiple server connections simultaneously, utilizing failover-aware connection pooling to automatically switch traffic to healthy node
brpc is a high-performance C++ RPC framework and network programming library designed for building distributed systems. It functions as a multi-protocol RPC server capable of hosting and detecting multiple communication protocols, including gRPC, Thrift, HTTP, Redis, and Memcached, on a single TCP port. The project distinguishes itself through high-throughput data transport and memory efficiency, utilizing RDMA-based transport to bypass the kernel TCP stack and zero-copy memory management to eliminate data duplication. It also implements the Raft algorithm for consensus-based state replicatio
Ripme is a batch media downloader and web media scraper designed for extracting images and videos from image-hosting platforms and social media sites. It functions as an image gallery downloader and a network client capable of retrieving full albums and paginated content. The project includes a custom media ripper framework that allows for the definition of new extraction rules to support websites lacking native support. It features a proxy-enabled network layer for routing requests through HTTP or SOCKS servers and supports session-based content retrieval using authentication cookies and cus