A lightweight Chrome extension for testing REST APIs directly from your browser. Configure HTTP methods, URLs, headers, query parameters, and request bodies with instant response previews and cURL export functionality.
Quick API Client provides developers with a streamlined API testing tool that lives in the browser toolbar. Test endpoints without leaving your development environment, view formatted JSON responses with syntax highlighting, and generate cURL commands for documentation or sharing with your team.
- Multiple HTTP methods — Supports GET, POST, PUT, PATCH, DELETE, HEAD, and OPTIONS
- Query parameter builder — Add key-value pairs that automatically encode into URLs
- Custom headers — Configure Content-Type, Authorization, and any custom headers
- Request body editor — Raw text input with automatic JSON formatting and validation
- Response viewer — Syntax-highlighted JSON and plain text with status codes and timing metrics
- cURL export — One-click copy of formatted cURL commands for CLI or documentation
- Request history — Automatically saves recent requests with timestamps for quick access
- Built-in presets — Quick-start templates for JSONPlaceholder, GitHub API, and HTTPBin
- Light/Dark themes — Manual theme selection or automatic system preference detection
- Download or clone this repository
- Open Chrome and navigate to
chrome://extensions/ - Enable "Developer mode" in the top right
- Click "Load unpacked" and select the extension directory
- Pin the extension icon to your toolbar for quick access
Open the extension popup and test an API in three steps:
1. Select HTTP method (GET, POST, etc.)
2. Enter the API URL
3. Click "Send Request"
Method: GET
URL: https://jsonplaceholder.typicode.com/posts/1
Headers: Accept: application/json
Response: 200 OK with JSON data
Method: POST
URL: https://httpbin.org/post
Headers:
Content-Type: application/json
Accept: application/json
Body:
{
"name": "Quick API Client",
"version": "1.0.0"
}
Click "Add Query Param" to create key-value pairs. Parameters are automatically URL-encoded and appended to the request URL.
Click "Add Header" to define custom headers. Common examples:
Authorization: Bearer <token>Content-Type: application/jsonAccept: application/jsonUser-Agent: Quick-API-Client
Enter raw text or JSON in the body field. For JSON requests, the extension automatically formats and validates syntax. Body is ignored for GET and HEAD methods.
Select a preset from the dropdown menu and click "Apply Preset" to load pre-configured requests for popular APIs:
- JSONPlaceholder — Free fake REST API for testing
- GitHub API — Public repository information
- HTTPBin GET — Echo service with query parameters
- HTTPBin POST — JSON echo service
Recent requests are automatically saved with timestamps. Click any history item to restore the complete request configuration. Clear history using the "Clear History" button in the History tab.
- Copy Headers — Copy response headers to clipboard
- Copy Body — Copy response body as plain text
- Save Body — Download response body as a text file
- Copy cURL — Export the request as a formatted cURL command
Click the theme button to cycle between:
- System — Follows OS dark/light mode preference
- Dark — Dark theme
- Light — Light theme
Access the Options page by right-clicking the extension icon and selecting "Options".
- Theme — Default theme preference (system, light, dark)
- Default URL — Pre-filled URL when opening the extension
- Default headers — Headers automatically added to new requests
- Restore last request — Resume previous request on extension open
- Request timeout — Maximum wait time in milliseconds (default: 15000)
- History size — Number of requests to save (0-50, default: 8; higher values may impact storage)
- Enable history — Toggle history tracking on/off
Quick-API-Client/
├── manifest.json # Extension configuration
├── popup.html # Main UI
├── popup.js # Request logic and UI handlers
├── popup.css # Styling with theme support
├── background.js # Service worker for API requests
├── options.html # Settings page UI
├── options.js # Settings logic
├── options.css # Settings styling
├── icons/ # Extension icons (16, 48, 128px)
└── PRIVACY.md # Privacy policy
- Make changes to source files
- Navigate to
chrome://extensions/ - Click the reload icon on the Quick API Client card
- Open the extension popup to test changes
Create a ZIP file with all source files except .git directory:
zip -r quick-api-client.zip . -x "*.git*" -x "*.DS_Store"- storage — Save settings, request history, and last request state
- clipboardWrite — Copy cURL commands and response data
- optional_host_permissions (
<all_urls>) — Send requests to any API endpoint (requested per-origin when needed)
Contributions are welcome. Please follow these guidelines:
- Fork the repository
- Create a feature branch (
git checkout -b feature/your-feature) - Commit your changes with clear messages
- Push to your fork and submit a pull request
- Ensure code follows existing style conventions
For bug reports and feature requests, open an issue with detailed information and reproduction steps.
This project is licensed under the Creative Commons Attribution-NoDerivatives 4.0 International License (CC BY-ND 4.0).
You are free to:
- Use this extension for personal or commercial purposes
- Share and redistribute the extension in its original form
You are NOT permitted to:
- Modify, adapt, or create derivative works
- Distribute modified versions
See the LICENSE file for full legal details.
Hayk Jomardyan
- GitHub: @jomardyan
- Repository: Quick-API-Client
Quick API Client does not collect, transmit, or store any personal data externally. All requests, history, and settings are stored locally in your browser. See PRIVACY.md for complete privacy policy.