# ninenines/cowboy

Small, fast, modern HTTP server for Erlang/OTP.

Repository: https://github.com/ninenines/cowboy
Canonical: https://ross.abutalabs.com/products/cowboy
Homepage: https://ninenines.eu
Language: Erlang
License: ISC
License Family: permissive
Topics: erlang, http, http2, http-server, websocket, websockets, websocket-server, rest, cowboy, high-performance, production-ready, web, web-framework, functional, https, http2-server, http3, http3-server, webtransport
Last push: 2026-08-25T13:15:05+00:00

## Health v2 (maintenance only)
Score: 77/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 99, release rhythm 35, longevity 100
- inputs: {"age_days": 5656, "days_push": 8, "days_rel": null, "gap_med": null, "n_releases_24m": 0}
- flags: no_releases, no_readme
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 7525, forks 1170 (observed 2026-08-28T04:10:00.490937+00:00)

## What it is
Cowboy is a small, fast, modern HTTP server for Erlang/OTP supporting HTTP/1.1, HTTP/2, HTTP/3, Websocket, and REST. It provides a complete HTTP stack with routing, middleware, stream handlers, and static file serving, built on the Ranch socket acceptor pool and Cowlib protocol library.

## Use cases
- serve HTTP/1.1 and HTTP/2 APIs in Erlang
- build Websocket servers
- implement RESTful resource handlers
- serve static files from an Erlang application
- build high-performance production web servers on OTP
- experiment with HTTP/3 and Webtransport

## When to choose
- you are building web services or APIs in Erlang/Elixir on OTP
- you need Websocket, HTTP/2, or HTTP/3 support with a mature, production-ready server
- you want a lightweight, high-performance server with fine-grained control via handlers and middlewares

## When to avoid
- your stack is not Erlang/Elixir or BEAM-based
- you want a batteries-included web framework with templating, ORM, and admin tooling
- you need a quick prototype without learning OTP concepts

## Facets
- artifact type: library
- maturity: stable
- function: http-server, websocket, routing, middleware
- domain: web-development, backend, apis
- platform: elixir, windows, cross-platform
- tags: http2, http3, rest, erlang-otp, high-performance, linux, macos

## Member repositories
- ninenines/cowboy (main) score 77

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:10:00.490937+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-29T17:37:28.138139+00:00, confidence not recorded.
  - homepage: https://ninenines.eu (fetched 2026-08-29T08:32:47.865324+00:00, sha 53ce4838c1c5)
  - site_page: https://ninenines.eu/docs (fetched 2026-08-29T08:32:47.874850+00:00, sha 761cf752923a)
  - site_page: https://ninenines.eu/docs/en/ranch/2.2/guide (fetched 2026-08-29T08:32:47.886993+00:00, sha 5b5857fc014f)
  - site_page: https://ninenines.eu/docs/en/cowboy/2.18/guide (fetched 2026-08-29T08:32:47.876954+00:00, sha 95a7b9405f5d)
  - site_page: https://ninenines.eu/docs/en/cowboy/2.18/manual (fetched 2026-08-29T08:32:47.879195+00:00, sha a043b207ff10)
  - site_page: https://ninenines.eu/docs/en/cowlib/2.19/manual (fetched 2026-08-29T08:32:47.881566+00:00, sha cf5cc31088f2)
  - site_page: https://ninenines.eu/docs/en/gun/2.5/guide (fetched 2026-08-29T08:32:47.883384+00:00, sha 5a19b6ff591a)
  - site_page: https://ninenines.eu/docs/en/gun/2.5/manual (fetched 2026-08-29T08:32:47.885296+00:00, sha fd48947bc365)
  - site_page: https://ninenines.eu/docs/en/ranch/2.2/manual (fetched 2026-08-29T08:32:47.889078+00:00, sha c76ab87a7cf7)
- Data as of 2026-08-30T08:39:29.467469+00:00.
