For an http client library for Dart, the strongest matches are dart-lang/http (This is the official, foundational HTTP client for Dart), netflix/pollyjs (This is a JavaScript-based testing and mocking utility for) and unjs/ofetch (This is a TypeScript-based HTTP client library designed for). square/okhttp and square/retrofit round out the shortlist. Each is ranked by relevance to your query, popularity and recent activity.
We curate open-source GitHub repositories matching “best dart http client libraries”. Results are ranked by relevance to your query — pick filters below to narrow, or refine with AI.
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
This is the official, foundational HTTP client for Dart that provides robust asynchronous request handling and cross-platform support, though it requires additional packages for features like automatic JSON serialization and advanced interceptors.
Pollyjs is an HTTP mocking and recording library designed to capture and replay network interactions to create deterministic tests. It functions as a request interceptor and stubbing framework that records real API responses into files, ensuring consistent test results across different environments without relying on live network servers. The tool utilizes pluggable network adapters to support various environments and employs a state-based mode switching system to toggle between recording, replaying, and stubbing behaviors. It uses pattern-based request matching and persistent interaction sto
This is a JavaScript-based testing and mocking utility for intercepting network requests, which does not function as a general-purpose HTTP client library for the Dart programming language.
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
This is a TypeScript-based HTTP client library designed for the JavaScript/Node.js ecosystem, making it incompatible with the Dart programming language requested.
OkHttp is an HTTP client for the JVM and Android that enables network communication via synchronous and asynchronous requests. It provides a core identity as a comprehensive networking toolkit featuring a WebSocket client for bidirectional data synchronization, a TLS security toolkit for encrypted communication, and a programmable HTTP mock server for simulating backend responses. The project distinguishes itself through a specialized security and performance architecture. It implements mutual TLS, certificate pinning, and DNS over HTTPS to secure data in transit, while utilizing connection p
This is a networking library for the JVM and Android ecosystem, not a Dart-native HTTP client, making it a building block for Java/Kotlin developers rather than a tool for Dart projects.
Retrofit is a type-safe HTTP client that simplifies network communication by allowing developers to define API endpoints as interface methods. By using annotation-driven request mapping, it automatically translates these interface definitions into structured HTTP requests, ensuring consistent data structures and reducing manual configuration when interacting with remote web services. The project distinguishes itself through a highly modular architecture that separates network transport from data handling. It utilizes dynamic proxy generation to process method calls at runtime and offers a plu
This is a Java-based type-safe HTTP client library for Android and JVM environments, not a native Dart library, and therefore does not support the Dart ecosystem or its specific asynchronous patterns.
Curl is a command-line tool and portable library for transferring data across a wide range of network protocols. It functions as a unified engine that abstracts diverse communication standards, allowing users and developers to move files and information between servers using a consistent interface. The project provides both a versatile command-line client for terminal-based automation and a stable programmatic interface for integrating complex network operations into applications. The system is distinguished by its protocol-agnostic core and its ability to manage both synchronous and asynchro
This is a C-based command-line tool and low-level library for network transfers, not a native Dart HTTP client library designed for the Dart ecosystem.
This project provides a comprehensive implementation of the WebSocket protocol, enabling persistent, bidirectional communication between clients and servers. It handles the low-level complexities of the protocol, including the initial HTTP upgrade handshake and the encapsulation of data into discrete binary frames. By managing these connections, it allows applications to exchange data instantly without the overhead associated with repeated standard request cycles. The library distinguishes itself through its focus on high-frequency message exchange and concurrent connection management. It uti
This is a WebSocket implementation for the Go language, which is a different protocol and programming language than the Dart HTTP client library you are looking for.