Open source · MIT Licensed

Every key.
One CSV.

Pull every Steam key out of your Humble Bundle account. Reveals hidden keys, claims Choice games, writes a structured CSV you can sort, search, and bulk-paste into Steam.

$pip install humble-bundle-keys
humble-bundle-keys — bash

What it does

Three extraction modes, one unified output. Most users want all three.

🔑

Reveal Hidden Keys

Automatically clicks Redeem on every pre-allocated but unrevealed key in your library. Same action a human would perform, just faster.

📦

Full Library Walk

Hits Humble's private JSON API to enumerate every order you've ever made. Hundreds of bundles, one command.

🎮

Choice Claiming

Claims Humble Choice subscription games via API or browser-driven flows. Even handles legacy "pick N of M" months.

📄

Structured CSV

One row per key with game title, platform, bundle name, deadline, and direct Humble URL. Sort, filter, bulk-paste into Steam.

🔒

Safe by Design

Never logs into Steam. Never makes purchases. Never gifts games. Never stores your password. Read-only preview with --dry-run.

🔄

Smart Merge

Merge with existing CSVs from previous runs. Identity based on (URL, title, platform) — never loses keys across runs.

Four steps to every key

From install to CSV in under five minutes. Most of that is Humble's API responding.

01

Install

pip install or uv tool install. Then playwright install chromium for the browser engine.

$pip install humble-bundle-keys && playwright install chromium
02

Login once

First run opens a real Chromium window. Log in normally (2FA works). Session is saved for future runs.

$humble-bundle-keys # opens browser for login
03

Extract everything

Walks your entire library, reveals hidden keys, claims Choice games. All unattended after login.

$humble-bundle-keys --browser-claim --max-claims 200 -v
04

Use your CSV

Sort by bundle, filter by platform, bulk-paste into Steam. One row per key, structured and searchable.

$open humble-bundle-keys.csv # 1,247 keys ready

What you get

A single CSV with one row per key. Sort by bundle, filter by platform, bulk-paste into Steam. Here's what it looks like:

humble-bundle-keys.csv6 of 1,247 rows
Game TitlePlatformKeyBundleOS
Like a Dragon GaidensteamAAAAA-BBBBB-CCCCCDecember 2025 Humble ChoiceWindows
Hollow Knight: SilksongsteamDDDDD-EEEEE-FFFFFMarch 2026 Humble ChoiceWindows, Mac, Linux
CelestesteamGGGGG-HHHHH-IIIIIIndie Gems BundleWindows, Mac, Linux
Hades IIsteamJJJJJ-KKKKK-LLLLLMay 2026 Humble ChoiceWindows
BalatrosteamMMMMM-NNNNN-OOOOOCard Games BundleWindows, Mac
Metaphor: ReFantaziosteamPPPPP-QQQQQ-RRRRRApril 2026 Humble ChoiceWindows
+ 1,241 more rows...Also includes: bundle_date, redemption_deadline, redeemed_on_humble, humble_url

Ready to extract?

Requires Python 3.10+ and Chromium. Two commands and you're running.

$uv tool install humble-bundle-keys
$playwright install chromium

First run? Use --dry-run -v for a safe read-only preview before anything mutates.