# wojtekmach/req

Req is a batteries-included HTTP client for Elixir.

Repository: https://github.com/wojtekmach/req
Canonical: https://ross.abutalabs.com/products/wojtekmach-req
Homepage: https://hexdocs.pm/req
Language: Elixir
License: Apache-2.0
License Family: permissive
Topics: elixir, http-client
Last push: 2026-08-26T11:11:53+00:00

## Health v2 (maintenance only)
Score: 95/100 (v2, computed 2026-09-02T17:46:02.011165+00:00)
- activity 99, release rhythm 87, longevity 100
- inputs: {"age_days": 1984, "days_push": 7, "days_rel": 7, "gap_med": 38.5, "n_releases_24m": 7}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1324, forks 168 (observed 2026-08-28T04:04:22.391435+00:00)

## What it is
Req is a batteries-included HTTP client library for Elixir with automatic JSON decoding, redirects, retries, and authentication built in. Its functionality is organized into composable steps that users can rearrange or extend with custom steps and plugins.

## Use cases
- make HTTP requests from Elixir
- call REST APIs with automatic JSON decoding
- retry failed HTTP requests
- authenticate requests with basic or bearer auth
- mock HTTP responses in tests
- stream request and response bodies

## When to choose
- you're writing Elixir and want a high-level, batteries-included HTTP client
- you need composable, extensible request/response steps
- you want built-in retries, redirects, and body decoding out of the box
- you need plug-based HTTP mocking for tests

## When to avoid
- you need fine-grained low-level control over the transport layer
- you're not using Elixir or the BEAM ecosystem
- you need a browser or non-Elixir environment HTTP client

## Facets
- artifact type: library
- maturity: active
- function: http-client, middleware, serialization, auth, testing
- domain: web-development, developer-tools, apis
- platform: elixir, jvm
- tags: http, rest, elixir, finch, composable-steps

## Member repositories
- wojtekmach/req (main) score 95

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:04:22.391435+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-30T04:47:02.643016+00:00, confidence not recorded.
  - readme: https://github.com/wojtekmach/req (fetched 2026-08-28T04:04:22.391435+00:00, sha 9e95b50db350)
  - homepage: https://hexdocs.pm/req (fetched 2026-08-29T12:05:47.760943+00:00, sha 28ec85ca969d)
- Data as of 2026-08-30T08:39:29.467469+00:00.
