I built a tool that scans your Gmail and finds every subscription you forgot about

Published: (March 11, 2026 at 05:57 PM EDT)
3 min read
Source: Dev.to

Source: Dev.to

Introduction

Your subscription data stays on your machine—nothing leaves your computer. There are no accounts, no cloud storage, and no tracking.

I was paying for services I completely forgot about (e.g., Suno, Replicate, a Google One plan). The charges were scattered across two Gmail accounts, quietly billing me every month.

inboxscan

inboxscan is a CLI tool that connects to your Gmail via IMAP, scans for subscription‑related emails, and tells you exactly what you are paying for. Everything runs locally; your emails never leave your computer.

Installation

pip install inboxscan

Basic usage

inboxscan run --email you@gmail.com

Example output

INBOXSCAN REPORT
════════════════════════════════════════════════════════════
Scanned: you@gmail.com
Found: 8 subscriptions  |  Total burn: $142.00/mo

  [ACTIVE]   Claude Pro      $20.00/mo   Mar 01
  [ACTIVE]   Spotify         $10.99/mo   Mar 02
  [ACTIVE]   Notion          $16.00/mo   Feb 28
  [ACTIVE]   GitHub Pro      $4.00/mo    Mar 05
  [ACTIVE]   Figma           $15.00/mo   Mar 04
  [DORMANT]  Audible         $14.95/mo   Nov 02
  [DORMANT]  Skillshare      $9.99/mo    Oct 15
  [DORMANT]  SomeService     $25.00/mo   Sep 27

════════════════════════════════════════════════════════════
Potential savings: $49.94/mo (cancel DORMANT subscriptions)

Key features

  • Zero network calls beyond the Gmail IMAP fetch itself.
  • No credentials stored – the app password is used only during the scan and never written to disk.
  • All processing local – parsing, detection, and analysis happen on your machine.
  • No telemetry or analytics – the tool has no way of identifying you.
  • Results cached in ~/.inboxscan/cache.db (a local SQLite file).
  • Open source, MIT licensed – view the code at .

How it works

  1. Connects to Gmail via IMAP.
  2. Searches for subscription‑related subjects (receipt, invoice, billing, renewal, etc.).
  3. Parses each email for amounts and dates, grouping results by sender domain.
  4. Detects any sender that has charged you two or more times, catching services you may have never heard of.

Canceling a subscription (example)

inboxscan cancel audible

Cancellation page:

Email template:

Subject: Cancel Audible Membership

Please cancel my Audible membership immediately and confirm cancellation.

Scanning multiple accounts

inboxscan run --email work@gmail.com --email personal@gmail.com

Scans both accounts, shows which subscription belongs to which account, and produces a combined report.

Setting up a Gmail app password

  1. Visit .
  2. Create a new app password named “inboxscan” (you’ll receive a 16‑character password).
  3. Use that password when prompted by inboxscan.
  4. Revoke the password anytime from the same page.

The app password grants IMAP read‑only access; inboxscan only fetches email subjects and bodies.

Real‑world results

Running inboxscan on my own accounts uncovered dormant charges that added up to real money every month. The tool paid for itself after the first scan.

  • Repository:
  • PyPI:

The project is MIT licensed and open source. Pull requests are welcome, especially for expanding the known services list and adding support for other email providers.

0 views
Back to Blog

Related posts

Read more »