A modern, feature-rich API testing tool built with Next.js, TypeScript, and Tailwind CSS. Test your APIs with ease using a beautiful, intuitive interface that rivals Postman.
π Live Demo
- HTTP Methods: Support for GET, POST, PUT, DELETE, PATCH, HEAD, OPTIONS
- Request Builder: Intuitive form-based request creation
- Response Viewer: Beautiful JSON/XML response formatting
- Request History: Track and replay previous requests
- Saved Requests: Save and organize your favorite requests
- Multiple Environments: Create different environments (Dev, Staging, Prod)
- Variable Substitution: Use
{{variableName}}syntax in URLs, headers, and body - Easy Management: Visual editor for managing environment variables
- Persistent Storage: Variables saved locally for convenience
- Bearer Tokens: Simple bearer token authentication
- Basic Auth: Username/password authentication
- Custom Headers: Add any custom authorization headers
- Secure Storage: Tokens stored securely in local storage
- JSON Editor: Syntax-highlighted JSON editing
- XML Support: Full XML request body support
- Form Data: Postman-like key-value pair interface for
application/x-www-form-urlencoded - Raw Text: Support for plain text and other content types
- Modern UI: Clean, responsive design with Tailwind CSS
- Keyboard Shortcuts: Send requests with
Ctrl+Enter - Real-time Validation: URL validation with environment variable support
- Response Metrics: Request duration and response size tracking
- Error Handling: Clear error messages and network error handling
- Rate Limiting: 5 requests per minute to prevent API abuse
- XSS Protection: All responses sanitized with DOMPurify
- CSP Headers: Comprehensive Content Security Policy
- SSRF Protection: Updated dependencies to patch vulnerabilities
- Secure Headers: X-Frame-Options, X-Content-Type-Options, and more
- Input Validation: URL and header sanitization
- Node.js 18+
- npm or yarn
-
Clone the repository
git clone https://github.com/yourusername/apiprobe.git cd apiprobe -
Install dependencies
npm install
-
Run the development server
npm run dev
-
Open your browser Navigate to http://localhost:3000
- Enter a URL: Type your API endpoint (e.g.,
https://jsonplaceholder.typicode.com/posts) - Select Method: Choose the appropriate HTTP method
- Add Headers (optional): Include any required headers
- Add Body (optional): For POST/PUT requests, add your request body
- Send: Click "Send" or press
Ctrl+Enter
-
Create an Environment:
- Click the environment dropdown in the left sidebar
- Click the "+" button to add a new environment
- Name it (e.g., "Development")
-
Add Variables:
- Click the settings icon next to "Variables"
- Add key-value pairs (e.g.,
baseUrl=https://api.example.com)
-
Use Variables:
- In your URL:
{{baseUrl}}/users - In headers:
Authorization: Bearer {{token}} - In body:
{"userId": {{userId}}}
- In your URL:
- Send a request with your desired configuration
- Click "Save" to store it for later use
- Access saved requests from the left sidebar
- Load requests by clicking on them
- 5 requests per minute limit for public use
- Visual indicator in the header shows usage (e.g., "2/5 requests used")
- Automatic reset after 60 seconds
- Clear feedback when limit is reached
- Framework: Next.js 15.5 with App Router
- Language: TypeScript
- Styling: Tailwind CSS v4
- Icons: Lucide React
- State Management: React Hooks
- Storage: Local Storage for persistence
- Security: DOMPurify for XSS protection, p-throttle for rate limiting
apiprobe/
βββ src/
β βββ app/ # Next.js app router pages
β βββ components/ # React components
β β βββ api/ # API-related components
β β βββ ui/ # Reusable UI components
β βββ lib/ # Utility functions and services
β βββ types/ # TypeScript type definitions
βββ public/ # Static assets
βββ README.md # This file
- RequestForm: Main request builder interface
- ResponseViewer: Displays API responses with formatting
- EnvironmentManager: Manages environment variables
- RequestHistory: Shows recent requests
- SavedRequests: Manages saved request templates
npm run dev- Start development servernpm run build- Build for productionnpm run start- Start production servernpm run lint- Run ESLint
- Create components in
src/components/ - Add types in
src/types/ - Update services in
src/lib/ - Test thoroughly before committing
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Inspired by Postman and similar API testing tools
- Built with modern web technologies for optimal developer experience
- Designed for simplicity and power
Happy API Testing! π
If you find this tool helpful, please give it a β on GitHub!
