A Vim-style TUI (Terminal User Interface) tool
for exploring Swagger/OpenAPI documents and testing APIs in the terminal
πΉ Vim-style keyboard navigation - Familiar keybindings like h, j, k, l with NORMAL, INSERT, and COMMAND modes
βοΈ Vim integration for JSON editing - Seamlessly connect to Vim for advanced JSON editing
π Swagger 2.0 & OpenAPI 3.x support - Supports both JSON/YAML formats
π tRPC support - Coming soon
π¨ Terminal-friendly UI - Beautiful TUI with neon green theme
β‘ Fast API testing - Execute APIs directly from the terminal
π Search & filtering - Quickly find endpoints
π Clipboard support - Copy response results to clipboard
npm install -g @gomjellie/lazyapi
lazyapi < openapi-file-or-url>
# URL
lazyapi https://petstore.swagger.io/v2/swagger.json
# JSON file
lazyapi openapi.json
# YAML file
lazyapi swagger.yaml
β¨οΈ Keyboard Shortcuts
Key
Description
j
Move to next item
k
Move to previous item
g
Move to top of list
G
Move to bottom of list
:m<1-6>
Select Method (1:ALL, 2:GET, 3:POST, 4:PUT, 5:DELETE, 6:PATCH)
l / Enter
View details of selected endpoint
/
Enter search mode
:q
Quit
Key
Description
Text input
Enter search query (searches path, description, tags)
Enter
Apply search and update results
Esc
Cancel search and return to NORMAL mode
Key
Description
j
Move to next field
k
Move to previous field
i
Enter INSERT mode (edit field)
Enter
Execute API request
u
Return to list view
Key
Description
Esc
Switch to NORMAL mode
Text input
Edit field value
Key
Description
j / k
Scroll response content
Tab
Switch to next tab (Body/Headers/Cookies)
y
Copy Body content to clipboard
r
Re-run request
q / u
Return to detail view
Node.js >= 20.0.0
pnpm >= 8.0.0
Contributions are always welcome! Please open an issue or submit a PR.
Fork the Project
Create your Feature Branch (git checkout -b feature/AmazingFeature)
Commit your Changes (git commit -m 'Add some AmazingFeature')
Push to the Branch (git push origin feature/AmazingFeature)
Open a Pull Request
MIT License - see the LICENSE file for details.