Overview
aspida generates typed HTTP clients from an API directory structure and `Methods` definitions. Paths, queries, headers, request bodies, and responses are represented in TypeScript and connected to axios, fetch, or node-fetch adapters.
Features and best fit
Based on official documentation; not hands-on tested · Content checked:
Generate `$api.ts` from per-endpoint Methods definitions
Define HTTP methods and data shapes alongside route directories, then generate a client that exposes those contracts to application code.
Sources: [2]
Reuse the API model across axios, fetch, and node-fetch
Transport adapters let the same endpoint types work across browser and Node.js HTTP implementations.
Sources: [2]
For keeping backend API contracts aligned with TypeScript clients
It fits projects that want path parameters, queries, and request/response shapes checked at compile time instead of maintained as loosely typed client code.
Sources: [2]
Verify generated-code and published-release compatibility
Main uses a placeholder package version and the repository has not been updated recently. Verify the npm release, adapters, and TypeScript compatibility before adoption.
Official sources
- [1]aspida/aspida repository(2026-09-21)
- [2]aspida README(2026-09-21)
- [3]aspida package metadata(2026-09-21)
- [4]aspida MIT license(2026-09-21)
Supplemental curator note
aspida generates HTTP client code from endpoint definitions. On current main, `packages/aspida/package.json` uses version `0.0.0` as a development placeholder, so it is not treated as a published release number. The repository was last pushed in November 2023; new adoption should verify the npm release and adapter compatibility.
Try it in 3 steps
- 1
Install aspida and the axios adapter
Follow the official axios setup and add the generator plus HTTP client adapter.
npm install aspida @aspida/axios axios - 2
Define endpoint types under api
Describe route, method, query, body, and response contracts in TypeScript.
mkdir api → export type Methods = DefineMethods<{ get: { resBody: ... } }> - 3
Generate $api.ts
Import the generated client and verify typed HTTP calls from the application.
npx aspida
Growth
Growth trends · Last 30 days
1,075 Stars
Trend data is still being collected.
Development activity
Last 90 days · weekly
- Commits (last 30 days)
- 0
- Open PRs
- 10
Development activity is still being collected.
Built with
Categories and tags
Categories
GitHub data
GitHub dataView detailed GitHub data
GitHub Topics
- typescript
- http-client
- Stars
- 1,075
- Forks
- 38
- Watchers
- 4
- Open issues
- 12
- Contributors
- 12
- Primary language
- TypeScript
- License
- MIT
- Repository last updated
- Nov 11, 2023
Related information
Write a related articleShare a guide or use case for this OSS in Markdown. Articles are published after administrator approval.
Explore next
- Notion SDK for JavaScript5,664 Stars
2 shared tag(s) · 2 shared category(s) · Same language
The official JavaScript/TypeScript client for the Notion API, providing authentication, endpoint methods, typed errors, automatic retries, and pagination helpers.
TypeScript - Bruno47,082 Stars
2 shared tag(s) · 2 shared category(s)
An offline-first API client and testing IDE that stores collections as local text files and collaborates through Git instead of cloud sync.
JavaScript - Hoppscotch80,429 Stars
1 shared tag(s) · 2 shared category(s) · Same language
An API development ecosystem spanning REST, GraphQL, WebSocket, MQTT, Web/Desktop/CLI clients, and self-hosting.
TypeScript - tRPC40,630 Stars
1 shared tag(s) · 2 shared category(s) · Same language
A TypeScript RPC framework that propagates server types to clients so inputs, outputs, and errors stay type-safe without separate schema or code generation.
TypeScript - Nango12,272 Stars
1 shared tag(s) · 2 shared category(s) · Same language
An integration platform for OAuth/API-key auth, authenticated proxying, sync/action functions, and webhook processing across more than 1,000 external APIs.
TypeScript
Report incorrect information
Tell us if any listing information is incorrect or outdated.