<div align="center">
  <img alt="Hey API" height="214" src="https://heyapi.dev/assets/.gen/hey-api-hero-640w.png" width="438">
  <h1><b>Hey API</b></h1>
  <p><em>"OpenAPI codegen that just works."</em><br/><sub>— Guillermo Rauch, CEO of Vercel</sub></p>
</div>

<p align="center">
  <a href="https://www.devtrends.dev/trends?c=v1.kZIBIg"><img src="https://api.devtrends.dev/badge/npm/%40hey-api%2Fopenapi-ts?period=month&style=flat&view=value" alt="DevTrends badge for @hey-api/openapi-ts" /></a>
  <a href="https://www.devtrends.dev/trends?c=v1.kZIBIg&v=change"><img src="https://api.devtrends.dev/badge/npm/%40hey-api%2Fopenapi-ts?period=year&style=flat&view=change" alt="DevTrends badge for @hey-api/openapi-ts" /></a>
  <a href="https://github.com/hey-api/hey-api/actions?query=branch%3Amain"><img src="https://github.com/hey-api/hey-api/actions/workflows/ci.yml/badge.svg?event=push&branch=main" alt="CI status" /></a>
  <a href="https://github.com/hey-api/hey-api"><img src="https://img.shields.io/github/stars/hey-api/hey-api?style=flat&logo=github&label=GitHub&color=54C82D" alt="GitHub stars" /></a>
  <a href="https://github.com/hey-api/hey-api/blob/main/LICENSE.md"><img src="https://img.shields.io/github/license/hey-api/hey-api" alt="MIT License"></a>
</p>

<p align="center">
  <a href="https://heyapi.dev/docs/openapi/typescript/get-started">Manual</a>
  <span>&nbsp;•&nbsp;</span>
  <a href="https://github.com/hey-api/hey-api/issues">Issues</a>
  <span>&nbsp;•&nbsp;</span>
  <a href="https://heyapi.dev/docs/openapi/typescript/community/contributing">Contribute</a>
</p>

## About

Hey API is an ecosystem for turning API specifications into production-ready code. It's trusted by thousands of companies – from YC startups to Fortune 500 enterprises – and powers products used by millions worldwide.

This is the monorepo containing all open source Hey API packages. For package-specific documentation and quick start guides, see the individual repositories below.

## Packages

<table>
  <tr>
    <th width="30%">Package</th>
    <th>Description</th>
  </tr>
  <tr>
    <td>
      <a href="packages/openapi-ts"><code>openapi-ts</code></a>
    </td>
    <td>
      TypeScript code generator with 20+ plugins for SDKs, Zod schemas, TanStack Query hooks, and more.
      <br/>
      <a href="https://heyapi.dev/docs/openapi/typescript/get-started">Manual</a>
      <span>&nbsp;•&nbsp;</span>
      <a href="https://npmjs.com/package/@hey-api/openapi-ts">npm</a>
    </td>
  </tr>
  <tr>
    <td>
      <a href="packages/openapi-python"><code>openapi-python</code></a>
    </td>
    <td>
      Python code generator for SDKs and Pydantic models.
      <br/>
      <a href="https://heyapi.dev/docs/openapi/python/get-started">Manual</a>
      <span>&nbsp;•&nbsp;</span>
      <a href="https://npmjs.com/package/@hey-api/openapi-python">npm</a>
    </td>
  </tr>
</table>

## Highlights

- production-grade code that compiles
- runs in any Node.js 22+ environment
- accepts any OpenAPI specification
- core plugins for SDKs
- HTTP clients for Fetch API, Axios, Angular, Next.js, Nuxt, HTTPX, and more
- Zod schemas, TanStack Query hooks, Pydantic models, and 20+ plugins to reduce third-party boilerplate
- highly customizable via plugins

## Libraries

<table>
  <tr>
    <th width="30%">Package</th>
    <th>Description</th>
  </tr>
  <tr>
    <td>
      <a href="packages/spec-types"><code>spec-types</code></a>
    </td>
    <td>
      TypeScript definitions for OpenAPI and JSON Schema specifications with complete inline documentation.
      <br/>
      <a href="https://npmjs.com/package/@hey-api/spec-types">npm</a>
    </td>
  </tr>
</table>

<!-- template-contributing-start -->

## Contributing

Want to see your code in products used by millions?

Start with our [Contributing](https://heyapi.dev/docs/openapi/typescript/community/contributing) guide and release your first feature.

<!-- template-contributing-end -->

<!-- template-sponsors-start -->

## Sponsors

Partners behind the future of API tooling. [Become a sponsor](https://github.com/sponsors/hey-api).

<h3 align="center">Gold</h3>

<table align="center">
  <tbody>
      <td align="center" width="50%">
        <p></p>
        <p>
          <a href="https://kutt.to/QM9Q2N" target="_blank">
            <picture height="50px">
              <source media="(prefers-color-scheme: dark)" srcset="https://heyapi.dev/assets/opencode/logo-light.svg">
              <img alt="Opencode logo" height="50px" src="https://heyapi.dev/assets/opencode/logo-dark.svg">
            </picture>
          </a>
          <br/>
          The open source coding agent.
          <br/>
          <a href="https://kutt.to/QM9Q2N" style="text-decoration:none;" target="_blank">
            opencode.ai
          </a>
        </p>
        <p></p>
      </td>
    </tr>
  </tbody>
</table>

<h3 align="center">Silver</h3>

<table align="center">
  <tbody>
    <tr>
      <td align="center" width="33.333%">
        <a href="https://kutt.to/skQUVd" target="_blank">
          <picture height="40px">
            <source media="(prefers-color-scheme: dark)" srcset="https://heyapi.dev/assets/scalar/logo-light.svg">
            <img alt="Scalar logo" height="40px" src="https://heyapi.dev/assets/scalar/logo-dark.svg">
          </picture>
        </a>
        <br/>
        <a href="https://kutt.to/skQUVd" style="text-decoration:none;" target="_blank">
          scalar.com
        </a>
      </td>
      <td align="center" width="33.333%">
        <a href="https://kutt.to/Dr9GuW" target="_blank">
          <picture height="40px">
            <source media="(prefers-color-scheme: dark)" srcset="https://heyapi.dev/assets/fastapi/logo-light.svg">
            <img alt="FastAPI logo" height="40px" src="https://heyapi.dev/assets/fastapi/logo-dark.svg">
          </picture>
        </a>
        <br/>
        <a href="https://kutt.to/Dr9GuW" style="text-decoration:none;" target="_blank">
          fastapi.tiangolo.com
        </a>
      </td>
      <td align="center" width="33.333%">
        <a href="https://kutt.to/yZVkdV" target="_blank">
          <picture height="40px">
            <source media="(prefers-color-scheme: dark)" srcset="https://heyapi.dev/assets/brands/unblocked/logo-light.svg">
            <img alt="Unblocked logo" height="40px" src="https://heyapi.dev/assets/brands/unblocked/logo-dark.svg">
          </picture>
        </a>
        <br/>
        <a href="https://kutt.to/yZVkdV" style="text-decoration:none;" target="_blank">
          getunblocked.com
        </a>
      </td>
    </tr>
  </tbody>
</table>

<h3 align="center">Bronze</h3>

<table align="center">
  <tbody>
    <tr>
      <td align="center" width="33.333%">
        <a href="https://kutt.to/YpaKsX" target="_blank">
          <picture height="34px">
            <source media="(prefers-color-scheme: dark)" srcset="https://heyapi.dev/assets/.gen/kinde-logo-wordmark-dark-480w.webp">
            <img alt="Kinde logo" height="34px" src="https://heyapi.dev/assets/.gen/kinde-logo-wordmark-480w.jpeg">
          </picture>
        </a>
      </td>
      <td align="center" width="33.333%">
        <a href="https://kutt.to/KkqSaw" target="_blank">
          <picture height="34px">
            <source media="(prefers-color-scheme: dark)" srcset="https://heyapi.dev/assets/cella/logo-light.svg">
            <img alt="Cella logo" height="34px" src="https://heyapi.dev/assets/cella/logo-dark.svg">
          </picture>
        </a>
      </td>
      <td align="center" width="33.333%">
        <a href="https://kutt.to/HW4GYR" target="_blank">
          <picture height="34px">
            <source media="(prefers-color-scheme: dark)" srcset="https://heyapi.dev/assets/photon/logo-light.svg">
            <img alt="Photon logo" height="34px" src="https://heyapi.dev/assets/photon/logo-dark.svg">
          </picture>
        </a>
      </td>
    </tr>
  </tbody>
</table>
<!-- template-sponsors-end -->

<!-- template-license-start -->

## License

Released under the [MIT License](https://github.com/hey-api/hey-api/blob/main/LICENSE.md).

<!-- template-license-end -->
