Skip to main content


ts-rest provides an RPC-like client side interface over your existing REST APIs, as well as allowing you define a separate contract implementation rather than going for a 'implementation is the contract' approach, which is best suited for smaller or simpler APIs.

If you have non typescript consumers, a public API, or maybe want to add type safety to your existing REST API? ts-rest is what you're looking for!


  • End to end type safety 🛟
  • Magic RPC-like API 🪄
  • Tiny bundle size 🌟 (1kb!)
  • Well-tested and production ready ✅
  • No Code Generation 🏃‍♀️
  • Zod support for body parsing 👮‍♀️
  • Full optional OpenAPI integration 📝