Skip to content

Repository files navigation

APIlot

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


Screenshots

Monitor tab — network requests and capturing
Monitor — live request list, filters, and GraphQL / REST / static detection

Request detail — query and response
Request detail — query, variables, response, and headers

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

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

Analytics dashboard
Analytics — timing metrics, charts, and per-endpoint rollups (export supported)


Key features

Request monitoring

  • 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-Length or 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 .har file (compatible with Chrome DevTools, Firefox, and standard HAR viewers)

AI-assisted mocking

  • 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

Schema explorer & query builder

  • Introspection and execution against endpoints you choose
  • Auth helpers (Bearer, API keys, custom headers) and visual query builder

Rule engine

  • 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

Performance analytics

  • Session-oriented metrics: counts, success rate, response times, charts
  • Per-endpoint stats and export (JSON)
  • Filters by request type, status class, and time window

Time-travel debugging

  • Record request/response sequences, replay with controls, edit responses mid-replay
  • Export / import sessions

Firefox for Android (mobile)

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 iconOpen 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

Developer experience

  • 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-a11y enforcing WCAG-compliant accessible markup
  • Configurable logging levels (Silent → Debug)

Installation

Firefox (desktop)

Firefox Add-ons — APIlot

Firefox for Android

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.

Chrome

Chrome Web Store — APIlot

Microsoft Edge

Edge Add-ons — APIlot

Edge is Chromium-based and uses the same Manifest V3 build as Chrome.

From source (development)

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:edge

Chrome (unpacked MV3):

  1. Open chrome://extensions
  2. Enable Developer mode
  3. Load unpacked → select dist/chrome-mv3

Edge (unpacked MV3):

  1. Open edge://extensions
  2. Enable Developer mode
  3. Load unpacked → select dist/edge-mv3

Firefox desktop (temporary add-on):

  1. Open about:debuggingThis Firefox
  2. 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_beta

The 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

Quick start

  1. Install the extension and open DevTools (F12).
  2. Open the APIlot panel.
  3. Turn monitoring on for the tab and use your app; requests appear in Monitor.
  4. Optional: Settings → choose an AI provider and API key for mock generation.

Rules

  1. RulesAdd Rule (or use + Rule on any request row).
  2. Pick rule type (GraphQL, REST, both, or static).
  3. Set matchers (operation name, URL pattern, method, etc.).
  4. Pick action (mock, delay, redirect, …) and save.

Time travel

  1. Time TravelRecord → exercise your app → Stop.
  2. Replay, tweak responses, or export the session.

Rule examples

Delay a GraphQL operation

{
  "name": "Slow loading test",
  "requestType": "graphql",
  "operationName": "GetUsers",
  "action": "delay",
  "delay": 3000
}

Mock a REST response

{
  "name": "Mock user list",
  "requestType": "rest",
  "httpMethod": "GET",
  "urlPattern": "/api/users",
  "action": "mock",
  "statusCode": 200,
  "mockResponse": { "users": [{ "id": 1, "name": "Test User" }] }
}

Simulate HTTP 500

{
  "name": "Server error test",
  "requestType": "rest",
  "urlPattern": "/api/*",
  "action": "mock",
  "statusCode": 500,
  "mockResponse": { "error": "Internal Server Error" }
}

Architecture (overview)

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 support

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

Privacy & security

  • 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.

Troubleshooting

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.


Roadmap

Done ✓

  • 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)

Planned

  • 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

Contributing

  1. Fork the repo
  2. Branch (git checkout -b feature/your-feature)
  3. Commit and push
  4. Open a Pull Request

Support


APIlot — your AI copilot for API testing. Navigate APIs with confidence.

About

Your AI copilot for API testing - supports GraphQL and REST with AI-powered mocking, time-travel debugging, and performance analytics

Resources

Stars

4 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages