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). The public API covers US statutes only: the US Code, the CFR, all 50 state statute codes, the U.S. Constitution, the Federal Rules, and Executive Orders.
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 statute source cards: title or code, section number, jurisdiction, heading, excerpt
- 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
1
Clone the repo
2
Load the extension
- Open
chrome://extensions/ - Toggle Developer mode on (top right)
- Click Load unpacked
- Select the
extension/folder
3
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 a default Jurisdiction
- Click Save
4
Test
Click the extension icon and try a search like “42 USC 1983” or “FRCP Rule 12”. Expand a source card to see the section number, jurisdiction, heading, and excerpt.
Configuration
Extension defaults
Editextension/js/config.js:
Per-user settings (stored in chrome.storage.local)
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
1
Open the dashboard
Go to the Chrome Web Store Developer Dashboard.
2
Create a new item
Click New Item and upload
vaquill-extension.zip.3
Fill out the listing
- Name: Vaquill Statute Search
- Summary: Statute search assistant for US Code, CFR, and 50 states (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
4
Submit for review
Typical review time: 1-3 business days.
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 query (cite a statute by title and section number).
- 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
Statute search 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.

