Your AI copilot for API testing
A powerful browser extension for GraphQL, REST, and static asset workflows — development, testing, and debugging. Lives in browser DevTools with AI-assisted mock generation, performance analytics, time-travel debugging, and a configurable rule engine.
| Firefox | Chrome |
|---|---|
| Install on Firefox Add-ons | Install on Chrome Web Store |
By: Mohamed Zumair · License: MIT · Privacy: PRIVACY.md

Monitor — live request list, filters, and GraphQL / REST / static detection

Request detail — query, variables, response, and headers

Rules from traffic — open the rule editor prefilled from a request

Rules — manage mocks, delays, redirects, blocks, and more

Analytics — timing metrics, charts, and per-endpoint rollups (export supported)
- GraphQL and REST detection with filters (status, method, type, text search)
- Subframes / iframes: traffic from embedded clients is monitored when enabled
- Rich request/response views with in-panel search
- Transfer size column — populated from
Content-Lengthor measured body size - Waterfall timeline view — time-proportional bars per request, color-coded by type, with hover tooltips
- HAR export — export the current capture as a
.harfile (compatible with Chrome DevTools, Firefox, and standard HAR viewers)
- Generate mocks from captured traffic via your API keys
- Providers: OpenAI, Anthropic, OpenRouter, Azure OpenAI, Google Gemini, plus a local / pattern-based path (no remote LLM)
- Configure models and limits under Settings
- Introspection and execution against endpoints you choose
- Auth helpers (Bearer, API keys, custom headers) and visual query builder
- GraphQL, REST, both, and static asset (JS/CSS/images) rule types
- Actions: mock, delay, block, modify, redirect, passthrough
- URL/host patterns, GraphQL operation matching, REST path and method matching
- Import / export rules as JSON
- Declarative Net Request on Chrome MV3; webRequest on Firefox MV2
- Session-oriented metrics: counts, success rate, response times, charts
- Per-endpoint stats and export (JSON)
- Filters by request type, status class, and time window
- Record request/response sequences, replay with controls, edit responses mid-replay
- Export / import sessions
- DevTools panel integration
- Local storage for rules and settings (AI calls go to the provider you pick)
- ESLint with
eslint-plugin-jsx-a11yenforcing WCAG-compliant accessible markup - Configurable logging levels (Silent → Debug)
Prerequisites: Node.js 18+ and npm.
npm install
npm run build # Firefox MV2 + Chrome MV3
# or: npm run build:firefox / npm run build:chromeChrome (unpacked MV3):
- Open
chrome://extensions - Enable Developer mode
- Load unpacked → select
dist/chrome-mv3
Firefox (temporary add-on):
- Open
about:debugging→ This Firefox - Load Temporary Add-on → select
dist/firefox-mv2/manifest.json
npm run package # zip both browsers for store submission
npm run lint # ESLint + jsx-a11y
npm run typecheck # TypeScript- Install the extension and open DevTools (F12).
- Open the APIlot panel.
- Turn monitoring on for the tab and use your app; requests appear in Monitor.
- Optional: Settings → choose an AI provider and API key for mock generation.
- Rules → Add Rule (or use + Rule on any request row).
- Pick rule type (GraphQL, REST, both, or static).
- Set matchers (operation name, URL pattern, method, etc.).
- Pick action (mock, delay, redirect, …) and save.
- Time Travel → Record → exercise your app → Stop.
- Replay, tweak responses, or export the session.
{
"name": "Slow loading test",
"requestType": "graphql",
"operationName": "GetUsers",
"action": "delay",
"delay": 3000
}{
"name": "Mock user list",
"requestType": "rest",
"httpMethod": "GET",
"urlPattern": "/api/users",
"action": "mock",
"statusCode": 200,
"mockResponse": { "users": [{ "id": 1, "name": "Test User" }] }
}{
"name": "Server error test",
"requestType": "rest",
"urlPattern": "/api/*",
"action": "mock",
"statusCode": 500,
"mockResponse": { "error": "Internal Server Error" }
}| Piece | Role |
|---|---|
| Background | Rules, webRequest / DNR coordination, logging, messaging |
| Content script | Bridge to the page; monitoring gating |
| Injected script | Request observability in page context (fetch + XHR) |
| DevTools panel | Monitor, Rules, Analytics, Time Travel, Schema, Builder, Settings |
| Storage | Rules, settings, sessions (local to the browser) |
| Browser | Manifest | Status |
|---|---|---|
| Firefox | MV2 | Published on AMO |
| Chrome (and Chromium browsers) | MV3 | Published on Chrome Web Store |
- Default: rules, logs, and settings stay on your device; see PRIVACY.md.
- AI: when enabled, prompts/data are sent to the provider you configure (your API keys).
- No bundled third-party analytics from the extension authors.
No requests in the list?
Enable monitoring for the tab; refresh the page; confirm the URL isn't excluded by filters.
Rules not applying?
Check the rule is enabled, patterns match the traffic, and (Chrome static rules) DNR is synced after saves.
AI mocks failing?
Verify keys and model in Settings; check provider quota and errors in the panel.
DevTools tab missing?
Reload the extension; reopen DevTools; look for APIlot next to other tool tabs.
- GraphQL & REST monitoring, filtering, and rich request detail
- Iframe / subframe coverage for embedded API clients
- Rule engine (mock, delay, block, modify, redirect, passthrough) + static-asset path
- AI mock generation (multiple LLM providers + local pattern mode)
- Schema explorer & visual query builder
- Analytics (charts + per-endpoint rollups + export + filters)
- Time-travel record / replay / export
- Dual build: Firefox MV2 + Chrome MV3 (WXT)
- Firefox Add-ons publication
- Chrome Web Store publication (v2.3.0)
- Transfer size column (Content-Length / body measurement)
- Waterfall timeline view with hover tooltips and auto-scroll
- HAR export (HAR 1.2 format)
- Accessibility — WCAG AA color contrast + keyboard navigation (eslint-plugin-jsx-a11y)
- Header modification rules — add/override/remove request headers before fetch fires
- Partial response override — regex find/replace on live JSON responses
- Environment variables —
{{VAR}}substitution across rule fields - Shareable rule packs — export/import via base64 URL or file
- WebSocket monitoring — capture frames in the Monitor panel
- Server-Sent Events (SSE) monitoring
- HAR import — populate the monitor from a Chrome/Firefox network export
- Bulk mock creation — multi-select requests and generate rules in one action
- Performance budgets — configurable thresholds with alerts in Analytics
- Schema diff / versioning helpers
- Query history & favorites
- Fork the repo
- Branch (
git checkout -b feature/your-feature) - Commit and push
- Open a Pull Request
- Issues: GitHub Issues
- Firefox listing: addons.mozilla.org — APIlot
- Chrome listing: Chrome Web Store — APIlot
- Docs: this README, PRIVACY.md, and in-extension UI
APIlot — your AI copilot for API testing. Navigate APIs with confidence.