// the find
ecyrbe/zodios
typescript http client and server with zod validation
Zodios is a TypeScript API client and server framework that uses Zod schemas as a single source of truth for request/response validation, URL params, query strings, and body types. You define your API once as an array of endpoint descriptors and get fully typed client methods with autocomplete for paths and parameters. Aimed at teams tired of keeping types and runtime validation in sync across client and server.
The centralized API definition array is genuinely useful — one place describes the contract, and both client method types and runtime validation are derived from it automatically. Path parameter detection is automatic (:id segments become required typed params), which eliminates a whole class of silly runtime errors. The alias system (`getUser` instead of `.get('/users/:id', ...)`) produces clean call sites that read like method calls. The `openapi-zod-client` ecosystem tool to generate a Zodios client from an OpenAPI spec is a practical on-ramp for teams with existing APIs.
The project is in maintenance mode at best — under 2k stars after several years, the v11 roadmap items have been sitting partially checked since well before 2025, and tRPC solved the same problem more elegantly for RPC-style APIs and has eaten most of this space. The axios dependency is baked in as the default transport, which is dead weight for anyone targeting modern runtimes where fetch is sufficient. Type inference gets expensive fast: the README itself warns about TypeScript tail recursion limits, meaning large API definitions can slow the language server to a crawl. It also requires maintaining the endpoint array by hand — there's no schema-first codegen from your actual backend types, so you can still end up with client/server drift if discipline slips.