For a lightweight http client for Kotlin, the strongest matches are square/okhttp (OkHttp is the industry-standard, robust HTTP client for the), square/retrofit (Retrofit is a type-safe, annotation-driven HTTP client that provides) and kittinunf/fuel (Fuel is a dedicated Kotlin HTTP client library that). openfeign/feign and aallam/openai-kotlin round out the shortlist. Each is ranked by relevance to your query, popularity and recent activity.
We curate open-source GitHub repositories matching “best kotlin http client libraries”. Results are ranked by relevance to your query — pick filters below to narrow, or refine with AI.
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
OkHttp is the industry-standard, robust HTTP client for the JVM and Android that provides comprehensive support for asynchronous requests, interceptors, connection pooling, and advanced security features.
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
Retrofit is a type-safe, annotation-driven HTTP client that provides robust support for asynchronous patterns and serialization, making it a standard choice for network communication in Kotlin and Android development.
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
Fuel is a dedicated Kotlin HTTP client library that provides asynchronous support, interceptors, and built-in serialization, making it a direct fit for your requirements.
Feign is a declarative Java HTTP client framework that maps method signatures to REST API requests. It functions as an HTTP interface mapper, allowing the creation of type-safe clients by defining service interfaces with annotations to eliminate manual request logic. The framework features a pluggable HTTP transport layer, which decouples request definition from execution by routing network traffic through interchangeable underlying HTTP engines. It provides a comprehensive request management pipeline including interceptors for modifying headers, policy-driven retry logic for failure recover
This is a Java-based declarative HTTP client framework that functions as an interface mapper rather than a native Kotlin library, though it can be used in Kotlin projects via its pluggable transport layer.
This project is a multiplatform software development kit designed to integrate large language models into Kotlin applications. It provides an asynchronous network client and a suite of orchestration tools that enable developers to connect applications to intelligence services, manage conversation threads, and handle structured data exchange. The library is built as a Kotlin Multiplatform package, allowing for consistent code sharing across Android, iOS, and desktop environments. It utilizes structured concurrency to manage non-blocking network requests and real-time streaming responses, ensur
This is a specialized SDK for interacting with OpenAI services rather than a general-purpose HTTP client library for making arbitrary network requests.
Kotlinx-io is a multiplatform library designed for input and output operations, providing a unified interface for streaming data, managing byte buffers, and interacting with local filesystems. It serves as a cross-platform abstraction layer that standardizes how applications handle data movement across different operating systems and hardware architectures. The library distinguishes itself by providing high-performance tools for both mutable and immutable byte sequences. It utilizes segmented memory pools and direct memory access to minimize allocation overhead and prevent unnecessary data co
This library provides low-level I/O and byte-streaming primitives, but it is a foundational building block for data handling rather than an HTTP client library capable of managing network requests or connection pooling.
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 Kotlin language requirements specified in your search.
Hyper is a low-level networking library designed for building high-performance HTTP clients and servers. It provides a foundational toolkit for creating network services that leverage asynchronous execution and memory-safe data handling, supporting both HTTP/1 and HTTP/2 protocols. The library distinguishes itself through a protocol-agnostic architecture that separates transport logic from HTTP semantics. It utilizes a service-trait abstraction to decouple network logic from the underlying transport, enabling developers to inject custom middleware for request interception and response transfo
This is a low-level networking library written in Rust, which does not meet the requirement for a Kotlin-based HTTP client library.
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 low-level C library for network data transfer, not an idiomatic Kotlin HTTP client library designed for the Kotlin ecosystem.
Apollo Kotlin is a strongly-typed GraphQL client and code generation library designed for Kotlin and JVM applications. It functions as a comprehensive development tool that transforms GraphQL schema definitions and query documents into type-safe models during the build process, ensuring that data access errors are identified at compile time rather than at runtime. The project distinguishes itself through its multiplatform runtime abstraction, which allows developers to share data fetching and caching logic across Android, iOS, and desktop environments. It provides a normalized local caching s
This is a specialized GraphQL client that generates type-safe models for specific queries, rather than a general-purpose HTTP client library for making arbitrary REST or network requests.
gRPC is a language-agnostic remote procedure call framework designed for high-performance communication between distributed services. It utilizes a structured interface definition language to generate consistent client stubs and server skeletons, enabling applications to invoke methods on remote servers as if they were local objects. By leveraging the HTTP/2 transport layer, the framework supports efficient binary serialization and multiplexed data exchange across diverse programming environments. The framework distinguishes itself through its support for flexible communication patterns, incl
This is a language-agnostic RPC framework for service-to-service communication rather than a general-purpose HTTP client library for Kotlin, making it a specialized tool for a different architectural pattern.
Rest-assured is a Java-based REST API testing framework and HTTP client library designed for automating web service tests. It provides a fluent domain-specific language and assertion library to send HTTP requests and validate response metadata, including status codes, headers, cookies, and bodies. The framework is distinguished by a method-chaining DSL that creates readable specifications for API interactions. It features a filter-based request interception pipeline, object-mapping serialization for converting Java objects to JSON or XML, and a path-based parsing system to isolate specific fi
This is a Java-based testing framework designed for validating API responses rather than a general-purpose, idiomatic Kotlin HTTP client library for production application development.
| Repository | Stars | Language | License | Last push |
|---|---|---|---|---|
| square/okhttp | 47K | Kotlin | Apache-2.0 | |
| square/retrofit | 43.9K | HTML | Apache-2.0 | |
| kittinunf/fuel | 4.7K | Kotlin | MIT | |
| openfeign/feign | 9.8K | Java | Apache-2.0 | |
| aallam/openai-kotlin | 1.8K | Kotlin | MIT | |
| kotlin/kotlinx-io | 1.5K | Kotlin | Apache-2.0 | |
| unjs/ofetch | 5.3K | TypeScript | MIT | |
| hyperium/hyper | 15.9K | Rust | mit | |
| curl/curl | 42.2K | C | NOASSERTION | |
| apollographql/apollo-kotlin | 4K | Kotlin | MIT |