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 | Edge |
|---|---|---|
| Install on Firefox Add-ons | Install on Chrome Web Store | Install on Edge Add-ons |
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
Firefox for Android does not support the DevTools extension API, so the DevTools panel is unavailable. APIlot handles this with a standalone panel tab that opens as a regular browser tab instead.
- Tap the APIlot toolbar icon → Open Panel to launch the full monitoring and rules UI in a new tab
- All core features work: request monitoring, rules, analytics, time-travel debugging, and AI mocks
- The popup also shows current monitoring status and lets you toggle it without opening the panel
- DevTools panel integration (desktop browsers)
- Standalone panel tab for Firefox for Android and any browser where DevTools is unavailable
- 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)
Install from Firefox Add-ons — APIlot on Firefox for Android. Because DevTools is unavailable on mobile, tap the APIlot icon → Open Panel to launch the full UI in a browser tab.
Edge is Chromium-based and uses the same Manifest V3 build as Chrome.
Prerequisites: Node.js 18+ and npm.
npm install
npm run build # Firefox MV2 + Chrome MV3 + Edge MV3
# or: npm run build:firefox / npm run build:chrome / npm run build:edgeChrome (unpacked MV3):
- Open
chrome://extensions - Enable Developer mode
- Load unpacked → select
dist/chrome-mv3
Edge (unpacked MV3):
- Open
edge://extensions - Enable Developer mode
- Load unpacked → select
dist/edge-mv3
Firefox desktop (temporary add-on):
- Open
about:debugging→ This Firefox - Load Temporary Add-on → select
dist/firefox-mv2/manifest.json
Firefox for Android (via ADB — hot reload):
# Connect your Android device via USB with USB debugging enabled, then:
npm run dev:firefox-android
# Target a specific device or APK variant:
npm run dev:firefox-android -- --adb-device <device-serial>
npm run dev:firefox-android -- --firefox-apk org.mozilla.firefox_betaThe script auto-discovers the installed Firefox APK. Use --firefox-apk only if you have multiple Firefox variants and want to target a specific one (e.g. org.mozilla.fenix, org.mozilla.firefox_beta).
npm run package # zip all 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 (desktop) | MV2 | Published on AMO |
| Firefox for Android | MV2 | Supported — same AMO listing; uses standalone panel tab instead of DevTools |
| Chrome (and Chromium browsers) | MV3 | Published on Chrome Web Store |
| Microsoft Edge | MV3 | Published on Edge Add-ons |
- 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
- Firefox for Android — standalone panel tab fallback when DevTools is unavailable
- Chrome Web Store publication (v2.3.0)
- Microsoft Edge Add-ons publication
- 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 (desktop and Android)
- Chrome listing: Chrome Web Store — APIlot
- Edge listing: Edge Add-ons — APIlot
- Docs: this README, PRIVACY.md, and in-extension UI
APIlot — your AI copilot for API testing. Navigate APIs with confidence.