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

Kotlin HTTP Client Libraries

Ranking updated Jul 13, 2026

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.

Kotlin HTTP Client Libraries

Find the best repos with AI.We'll search the best matching repositories with AI.
  • square/okhttpsquare avatar

    square/okhttp

    46,971View on GitHub↗

    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.

    KotlinAsynchronous Network ClientsConnection PoolingHTTP Request Interceptors
    View on GitHub↗46,971
  • square/retrofitsquare avatar

    square/retrofit

    43,895View on GitHub↗

    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.

    HTMLData SerializationSerialization Converters
    View on GitHub↗43,895
  • kittinunf/fuelkittinunf avatar

    kittinunf/fuel

    4,652View on GitHub↗

    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.

    KotlinHTTP Client LibrariesHTTP Request ExecutionAndroid HTTP Networking Libraries
    View on GitHub↗4,652
  • openfeign/feignOpenFeign avatar

    OpenFeign/feign

    9,784View on GitHub↗

    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.

    JavaHTTP Request InterceptorsRequest Interceptors
    View on GitHub↗9,784
  • aallam/openai-kotlinaallam avatar

    aallam/openai-kotlin

    1,836View on GitHub↗

    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.

    KotlinAsynchronous Network ClientsMultiplatform Libraries
    View on GitHub↗1,836
  • kotlin/kotlinx-ioKotlin avatar

    Kotlin/kotlinx-io

    1,539View on GitHub↗

    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.

    KotlinMultiplatform Libraries
    View on GitHub↗1,539
  • unjs/ofetchunjs avatar

    unjs/ofetch

    5,316View on GitHub↗

    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.

    TypeScriptHTTP Request InterceptorsAutomatic Body Deserializers
    View on GitHub↗5,316
  • hyperium/hyperhyperium avatar

    hyperium/hyper

    15,945View on GitHub↗

    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.

    RustAsynchronous Network ClientsConnection Pooling
    View on GitHub↗15,945
  • curl/curlcurl avatar

    curl/curl

    42,214View on GitHub↗

    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.

    CAsynchronous Network ClientsConnection Pooling Mechanisms
    View on GitHub↗42,214
  • apollographql/apollo-kotlinapollographql avatar

    apollographql/apollo-kotlin

    3,955View on GitHub↗

    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.

    KotlinMultiplatform Libraries
    View on GitHub↗3,955
  • grpc/grpcgrpc avatar

    grpc/grpc

    44,891View on GitHub↗

    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.

    C++Request Interceptors
    View on GitHub↗44,891
  • rest-assured/rest-assuredrest-assured avatar

    rest-assured/rest-assured

    7,127View on GitHub↗

    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.

    JavaAutomatic Body Deserializers
    View on GitHub↗7,127
Compare the top 10 at a glance
RepositoryStarsLanguageLicenseLast push
square/okhttp47KKotlinApache-2.0Jun 16, 2026
square/retrofit43.9KHTMLApache-2.0Jun 12, 2026
kittinunf/fuel4.7KKotlinMITJun 22, 2026
openfeign/feign9.8KJavaApache-2.0Jun 23, 2026
aallam/openai-kotlin1.8KKotlinMITFeb 7, 2026
kotlin/kotlinx-io1.5KKotlinApache-2.0Jun 15, 2026
unjs/ofetch5.3KTypeScriptMITJun 21, 2026
hyperium/hyper15.9KRustmitFeb 17, 2026
curl/curl42.2KCNOASSERTIONJun 23, 2026
apollographql/apollo-kotlin4KKotlinMITJun 23, 2026

Related searches

  • a java library for making http requests
  • a lightweight HTTP client for TypeScript
  • a web framework for building APIs in Kotlin
  • an http client library for Dart
  • an http client library for Rust
  • an http client library for Flutter
  • an HTTP client library for Go
  • a C# library for making HTTP requests