WWebBuddyMarketplace
Using Subsweep

Browser extension

What the bundled Manifest V3 extension does, the app URL you must change before using it, how to load it for testing, and what to fix before publishing it.

2 min readUpdated Oct 17, 2026Applies to Subsweep 0.1.0

On this page

The extension/ folder holds a small Manifest V3 browser extension. When someone browses a known SaaS vendor's site, it offers a one-click way to log that tool in Subsweep. It never changes the page and never sends anything in the background.

What it does

The extension has three files: manifest.json, content.js and popup.html.

  • On sites from a built-in list of 20 vendors (Notion, Slack, Figma, Zoom, Canva, GitHub, Linear, Monday, Asana, HubSpot, Mailchimp, Shopify, QuickBooks, Xero, Adobe, Dropbox, Calendly, Stripe, OpenAI and Cursor), it adds a small card in the bottom-right corner: Log Notion in Subsweep.
  • It reads the first price it can see on the page (a $, ₹, £ or € amount in the first 4,000 characters of text).
  • Open Subsweep opens the app's Add subscription form in a new tab, with the vendor and that price already filled in. The person reviews it and saves. They need to be signed in to Subsweep in the same browser: if they are signed out, they are sent to the sign-in page and the prefilled vendor and price are lost.
  • The toolbar popup has a single Open Subsweep link.

It matches on the site's domain, so the card appears on any page of those sites, not only on checkout or pricing pages. The card has no close button.

Set your app URL first

The extension ships pointing at a development address, http://localhost:3002. Replace it with your public URL in three places:

File What to change
extension/content.js The a.href line that builds .../add/manual?vendor=...
extension/popup.html The Open Subsweep link
extension/manifest.json The http://localhost:3002/* entry in host_permissions
Diff
   a.href =
-    "http://localhost:3002/add/manual?vendor=" +
+    "https://subs.example.com/add/manual?vendor=" +

Load it for testing

Chrome, Edge and other Chromium browsers:

  1. Open chrome://extensions and turn on Developer mode.
  2. Choose Load unpacked and select the extension folder.
  3. Visit one of the 20 sites, for example notion.so, and look for the card.

Firefox: the manifest includes a Gecko ID (extension@subsweep.app), so you can load it from about:debugging → This Firefox → Load Temporary Add-on, choosing manifest.json. Change the ID to your own before publishing.

Before you publish it

The extension is not in any store. To publish it in the Chrome Web Store you need a developer account with Google; see Chrome Web Store publishing. Before submitting:

  • Narrow the permissions. The content script is registered for every http and https page and only checks the domain afterwards. Store reviewers ask you to justify broad host access, so list the 20 vendor domains in content_scripts.matches instead, and remove https://*/* from host_permissions (the extension makes no network requests).
  • Add icons. The manifest has none, so the browser shows a generic one.
  • Rename it in manifest.json, content.js and popup.html if you rebrand the app.
  • Add vendors by extending the catalogs list at the top of content.js. Each entry is a domain and a display name; the name should match the vendor's name in the app so the add form picks up its logo and category.

Note

Subscriptions logged through the extension are ordinary hand-added subscriptions with a Manual badge. There is no separate "Extension" source in this version.