A Manifest V3 Chrome extension that puts Vaquill’s legal research in any browser tab. The popup callsDocumentation Index
Fetch the complete documentation index at: https://vaquill.ai/docs/llms.txt
Use this file to discover all available pages before exploring further.
api.vaquill.ai directly using the user’s own API key - no proxy server, no backend to run, no infrastructure to maintain. Works in any Chromium-based browser (Chrome, Edge, Brave, Arc, Opera).
Source: github.com/Vaquill-AI/integrations/chrome-extension.
What you get
- Manifest V3, service-worker based
- Direct calls to
api.vaquill.ai- no middleware - BYOK (bring your own key): each user configures their own API key in the Options page
- Structured legal source cards: case name, citation, court, year, excerpt, relevance score, PDF link
- Conversation context preserved across messages within the popup session
standardanddeepRAG modes selectable in Options- Vanilla JavaScript, no build step - edit and reload
Prerequisites
- Google Chrome (or any Chromium-based browser) version 110+
- A Vaquill API key (
vq_key_...) from app.vaquill.ai/settings/api. See Authentication.
Quickstart
Load the extension
- Open
chrome://extensions/ - Toggle Developer mode on (top right)
- Click Load unpacked
- Select the
extension/folder
Configure your API key
- Right-click the Vaquill icon in the toolbar and choose Options (or click the gear icon inside the popup)
- Paste your API key (
vq_key_...) - Choose defaults: Mode (
standardordeep) and Jurisdiction - Click Save
Configuration
Extension defaults
Editextension/js/config.js:
| Setting | Description |
|---|---|
API_URL | Vaquill API base URL (default: https://api.vaquill.ai) |
DEFAULT_MODE | Default RAG mode: standard or deep |
MAX_SOURCES | Maximum number of sources returned per query |
SUGGESTED_QUESTIONS | Array of starter questions shown on the welcome screen |
Per-user settings (stored in chrome.storage.local)
| Setting | Description |
|---|---|
| API Key | The user’s Vaquill API key, entered via the Options page |
| Mode | standard or deep |
| Jurisdiction | Preferred jurisdiction for search context |
API keys live in
chrome.storage.local on the user’s device. The extension never transmits them anywhere except to api.vaquill.ai.API contract
The extension calls a single endpoint:Project layout
Branding and theming
Name and description
Editextension/manifest.json:
Icons
Place PNGs inextension/icons/:
icon16.png(16x16) - toolbaricon48.png(48x48) - extensions pageicon128.png(128x128) - Chrome Web Store listing
Colors
Edit CSS custom properties at the top ofextension/css/popup.css:
Host permissions
host_permissions in manifest.json must match the API domain the extension calls.
Default (Vaquill production API):
Publishing to the Chrome Web Store
Prerequisites
- A Google Developer account ($5 USD one-time fee)
- Register at chrome.google.com/webstore/devconsole
Preparation checklist
- Set the production
API_URLinconfig.js - Update
manifest.jsonwith name, description, version, andhost_permissions - Add extension icons (16, 48, 128 px)
- Prepare at least one screenshot (1280x800 px)
- Prepare a privacy policy URL (required by Google)
Package the extension
Upload
Open the dashboard
Go to the Chrome Web Store Developer Dashboard.
Fill out the listing
- Name: Vaquill Legal Assistant
- Summary: AI legal research assistant with case citations (132 chars max)
- Description: Full feature description
- Category: Productivity
- Language: English
- Screenshots: At least 1 (1280x800 px)
- Privacy Policy: URL to your privacy policy
- Permissions Justification: Explain why
storageandactiveTabare needed
Development
The extension uses vanilla JavaScript with no build step. Edit files directly, then reload the extension atchrome://extensions/ (click the refresh icon on the extension card).
Troubleshooting
“Failed to fetch” errorshost_permissionsinmanifest.jsondoes not match the API URL inconfig.js. Make both point to the same domain (e.g.,https://api.vaquill.ai).
- Generate a new key at app.vaquill.ai/settings/api and re-enter it in the Options page.
- Check you have credits at app.vaquill.ai/billing.
- Validate JSON syntax in
manifest.json. - Ensure all required Manifest V3 fields are present (
manifest_version: 3,name,version,action,background.service_worker).
- Try a more specific legal query (cite a statute or doctrine by name).
- Verify
MAX_SOURCESis greater than 0 inconfig.js.
- Do not add inline scripts or external script sources.
-
Restore the default CSP in
manifest.json:
Related
Ask API
The endpoint this extension calls.
Authentication
How to generate and rotate API keys.
Embedded Chat Widget
Drop the same chat into any website via iframe.
GitHub
Source code and issue tracker.

