# http4k/http4k

The Functional toolkit for Kotlin HTTP applications. http4k provides a simple and uniform way to serve, consume, and test HTTP services.

Repository: https://github.com/http4k/http4k
Canonical: https://ross.abutalabs.com/products/http4k
Homepage: https://http4k.org
Language: Kotlin
License: NOASSERTION
License Family: other
Topics: kotlin, http-client, typesafe, testability, tdd, http-server, http, http4k, immutability
Last push: 2026-08-24T09:58:03+00:00

## Health v2 (maintenance only)
Score: 95/100 (v2, computed 2026-09-03T02:39:23.370411+00:00)
- activity 99, release rhythm 86, longevity 100
- inputs: {"age_days": 3450, "days_push": 9, "days_rel": 14, "gap_med": 3.0, "n_releases_24m": 141}
- flags: no_license
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 2783, forks 281 (observed 2026-08-28T04:07:21.812557+00:00)

## What it is
http4k is a lightweight, functional HTTP toolkit for Kotlin where applications are just functions from Request to Response, with no annotations, reflection, or containers. It spans 200+ modules covering servers, clients, routing, testing, serverless, WebSockets, and integrations, all released under a single versioned BOM.

## Use cases
- build http apis in kotlin without a heavy framework
- test http endpoints in-memory without starting a server
- write a kotlin http server as a simple function
- swap server backends like undertow or jetty with one line
- deploy kotlin http apps to serverless platforms like aws lambda
- consume http services with a uniform kotlin client
- tdd-driven development of http services
- test ai/llm integrations offline with fakes

## When to choose
- you want a typesafe, testable, functional approach to HTTP in Kotlin
- you value minimal dependencies, immutability, and no reflection magic
- you need in-memory testing of HTTP apps in milliseconds
- you want one consistent model for serving and consuming HTTP

## When to avoid
- you prefer annotation-driven or DI-container frameworks like Spring
- your team is not comfortable with functional programming style
- you need a non-JVM platform, since http4k targets the JVM/Kotlin ecosystem

## Facets
- artifact type: framework
- maturity: stable
- function: web-framework, http-server, http-client, routing, middleware, testing, websocket, templating, api-framework
- domain: web-development, backend, apis, developer-tools, testing
- platform: jvm, serverless, cloud
- tags: kotlin, functional-programming, server-as-a-function, tdd, immutability, no-reflection, openapi, serverless, llm-adapters, supply-chain-security, docker

## Member repositories
- http4k/http4k (main) score 95

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:07:21.812557+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T08:16:03.834986+00:00, confidence not recorded.
  - readme: https://github.com/http4k/http4k (fetched 2026-08-28T04:07:21.812557+00:00, sha db04cf38402b)
  - homepage: https://http4k.org (fetched 2026-08-29T09:55:29.931489+00:00, sha c614bbe320cd)
  - site_page: https://www.http4k.org/quickstart (fetched 2026-08-29T09:55:29.942470+00:00, sha b6605ee90296)
  - site_page: https://http4k.org/quickstart (fetched 2026-08-29T09:55:29.955182+00:00, sha b6605ee90296)
  - site_page: https://www.http4k.org/learn (fetched 2026-08-29T09:55:29.940563+00:00, sha 02056f8c3f60)
  - site_page: https://www.http4k.org/faq (fetched 2026-08-29T09:55:29.944021+00:00, sha a6ef267b94f7)
  - site_page: https://www.http4k.org/ecosystem/changelog (fetched 2026-08-29T09:55:29.945874+00:00, sha 968af98f5743)
  - site_page: https://http4k.org/ecosystem (fetched 2026-08-29T09:55:29.956802+00:00, sha f5acb828dbfe)
  - site_page: https://http4k.org/company (fetched 2026-08-29T09:55:29.958357+00:00, sha 0efcb476de8c)
- Data as of 2026-08-30T08:39:29.467469+00:00.
