Top Flutter HTTP Client and Utilities packages A HTTP client in Dart is used for making HTTP requests. Your device (client) running the Flutter app makes a request to a server, and the server responds. The client then interprets the response and takes action accordingly. The complete list of Dart and Flutter packages that can help you create HTTP client, make HTTP API requests, cache server response and provide various other HTTP utilities in your Flutter app is provided below.
mime
578
Utilities for handling media (MIME) types, including determining a type from a file extension and file contents.
dio_cache_interceptor
398
Dio HTTP cache interceptor with multiple stores respecting HTTP directives (or not).
web_scraper
294
A simple web scraper to scrape HTML tags and their attributes to cast them into Lists and Maps for dart and flutter.
vexana
292
Manage your network layer with dio. You will be able to use it very easily network operations.
dio_smart_retry
282
Retry library for Dio package. By default, the request will be retried only for appropriate retryable http statuses.
universal_io
252
Cross-platform 'dart:io' that adds browser support for HttpClient and some other "dart:io" APIs.
http_interceptor
204
A lightweight, simple plugin that allows you to intercept request and response objects and modify them if desired.
dart_ipify
173
This package uses the remote ipify web services in order to get your public IP address or geographical details from any given IP.
dio_cookie_manager
163
A cookie manager combines cookie_jar and dio, based on the interceptor algorithm.
chucker_flutter
161
Chucker Flutter helps you inspect the HTTP(S) requests/responses. It stores data locally and provides a UI for inspecting network calls and sharing their content.
fresh_dio
155
An http interceptor for token refresh. Fresh is built on top of package:dio and manages authentication tokens transparently.
requests_inspector
151
A Flutter package for logging REST-APIs and GraphQL requests and accessing it by Shaking your phone to get the RequestsInspector widget on your screen.
http_certificate_pinning
140
Https Certificate pinning for Flutter. Checks the equality between the known SHA-1 or SHA-256 fingerprint and the SHA-1 or SHA-256 of the target server.
uno
139
Uno is a multiplatform HTTP client, based on Axios and built following the Clean Dart approach by the Flutterando Community.
dartssh2
136
SSH and SFTP client written in pure Dart, aiming to be feature-rich as well as easy to use.
metadata_fetch
104
A dart library for extracting metadata on web pages such as OpenGraph, Meta, Twitter Cards, and Structured Data (Json-LD)
al_downloader
104
A URL-based flutter downloader that supports to download any type of file and automatically manages a lot of things.
flutter_client_sse
102
Dart package to help consume SSE API. It consumes server sent events by returning parsed model of the event, id, and the data
cookie_jar
95
A cookie manager for http requests in Dart, help you to deal with the cookie policies and persistence.
eventflux
87
Efficient handling of server-sent event streams with easy connectivity and data management.
sse
87
Provides client and server functionality for setting up bi-directional communication through Server Sent Events (SSE) and corresponding POST requests.
rhttp
85
Make HTTP requests using Rust for Flutter developers. It uses FFI to call Rust functions from Dart. On the Rust side, it uses reqwest to make HTTP requests.
webview_cookie_manager
84
Have you been turned into a cookie management problem? This package can help. It has all of the cookie management functionality you have been looking for.
chuck_interceptor
71
Chuck is an HTTP Inspector tool which helps debugging http requests. It catches and stores http requests and responses, which can be viewed via simple UI.
cupertino_http
70
A macOS/iOS Flutter plugin that provides access to the Foundation URL Loading System.
get_ip_address
56
A package to get the ip address of the current device. Uses https://api64.ipify.org to get the system IP.
network_tools
51
Networking Tools library which can help you discover open ports, devices on subnet and many other things.
dio_http2_adapter
51
An adapter that combines HTTP/2 and dio. Supports reusing connections, header compression, etc.
dio_http_formatter
50
A Dio interceptor for pretty printing the HTTP request/response to be printed in the console for easier debugging
native_dio_adapter
50
A client for dio which makes use of cupertino_http and cronet_http to delegate HTTP requests to the native platform.
network_logger
44
Network logger with well designed user interface to inspect network traffic logs. Included with Dio interceptor.
fetch_client
42
Client for http package based on Fetch API, enables streamed and cancelable requests on web and more.
flutter_alice
38
Alice is an HTTP Inspector tool which helps debugging http requests. It catches and stores http requests and responses, which can be viewed via simple UI.
json_api
36
A framework-agnostic implementations of JSON:API Client and Server. Supports JSON:API v1.0 (jsonapi.org)
chunked_uploader
35
An easy-to-use package to upload files in chunks using Dio for mobile, desktop and web.
http_proxy
35
http proxy plugin,get and set http proxy automatically.This package help you to use proxy tools.
curl_logger_dio_interceptor
35
Get your http requests printed as curl command in your terminal. Share them easily with your colleagues and import them in Postman!
gql_dio_link
34
Similar to gql_http_link, gql_dio_link is a GQL Terminating Link to execute requests via Dio using JSON
rest_api_client
33
Abstraction for communicating with REST API in flutter projects. Incorporates exception handling and jwt with refresh token authorization.
dio_http_cache_lts
31
It's just a maintainance version of the dio_http_cache package to be compatible with the latest dio package
network_inspector
31
Http inspector / logger for Dio and Http package. This package would allow you to log every Http request, response, and error from Dio & Http.
flutter_query
27
Widgets that help state management of asynchronous operations such as sending HTTP requests, getting the response, and caching the result.
lehttp_overrides
26
A Flutter package to resolve Let's Encrypt SSL certificate problems with Android 7.1.1 and below
cote_network_logger
25
Beautiful Flutter developer tool for real-time HTTP network monitoring with web dashboard
uri
23
Utilities for building and parsing URIs, including support for parsing URI templates as defined in RFC 6570.
flutter_user_agentx
23
Retrieve device and webview user agent strings for Android and iOS devices. It also provides you with simple building blocks for generating your own user agent string.
system_proxy
22
A Flutter Plugin to get system plugin. Use to set dart HttpClient proxy for grabing requests.
dart_web_scraper
19
Config-based, reusable web scraper for web and API scraping. Scrape, parse web pages or APIs without writing parsers or scraping logic, using simple key/value based configs.
pretty_http_logger
19
Pretty Http Logger is a middleware logger library for Dart HTTP library that logs network calls in a pretty, easy-to-read format and supports intercepting network calls.
http_client
16
A platform-independent HTTP client API supporting browser, console, and curl (for SOCKS proxy).
flutter_api_helper
16
A powerful, easy-to-use API helper for Flutter that handles everything from simple GET requests to complex error handling, caching, and token management.
flutter_smartdio
15
A transport-agnostic HTTP wrapper that enhances ANY HTTP client with offline caching, request queuing, retry mechanisms, and comprehensive logging.
http_services
12
A Dart package based on Dio that provides base models to handle HTTP services requests.
http_methods
11
List of all HTTP methods registered with IANA as list of strings, and metadata such as whether a method idempotent.
fetch_api
11
JavaScript bindings for Fetch API, flexible HTTP requests, redirects, streaming and more.
cooky
10
An HTTP Cookies implementation for the client to get, set and remove cookies. It is very simple and well tested.
http_file_uploader
8
A en_file_uploader plugin to handle the file upload using http package. Provides the capability to upload a file in chunks with built-in retry handling.
flutter_chunked_upload
8
A Flutter package for chunked file uploads with resume, progress tracking, and queue management. Supports pause, resume, cancel, and persistent storage for large files.
brick_offline_first_with_rest
8
A Brick domain that routes data fetching through local providers before a REST providers.
fetchx
6
Fetchx is a simple, fast, and secure HTTP client for Dart. It leverages extensions to allow using url-like strings to make http requests.
dio_file_uploader
5
A en_file_uploader plugin to handle the file upload using dio package. Provides the capability to upload a file in chunks with built-in retry handling.
apinion
5
Simplify API calls in Dart & Flutter with Apinion — clean syntax, built-in logging, and easy setup.
certificate_transparency_plugin
5
A plugin to check Certificate Transparency using OkHttp and CTLogger.
webdev_proxy
5
A simple HTTP proxy for webdev's serve command. Supports apps that use HTML5 routing by rewriting 404s to the root index.
dio_speed_tracker
4
A lightweight and extensible Dio interceptor for monitoring real-world network speed in Mbps, based on actual HTTP download performance
faye_dart
3
Faye is a publish/subscribe messaging protocol that is built on the Bayeux protocol, a messaging system utilized for transporting asynchronous messages over HTTP.
shelf_session
2
The shelf_session is the implementation of cookiesMiddleware and sessionMiddleware for shelf.
jh_services
2
A lightweight service package for Flutter to handle network requests, local storage, and connectivity seamlessly with best practices.
http_api_handler
2
A Flutter package for handling HTTP API requests with ease, including file uploads and downloads.
instabug_http_client
1
This package is an add on to instabug_flutter. It intercepts any requests performed with http Package and sends them to the report that will be sent to the dashboard.
dio
0
A powerful HTTP package for Dart/Flutter, which supports Global settings, Interceptors, FormData, Aborting and canceling a request, Files uploading and downloading, Requests timeout, Custom adapters, etc.
retry
0
Utility for wrapping an asynchronous function in automatic retry logic with exponential back-off, useful when making requests over network.