Check a Gumroad license key without writing any code. Paste the product ID and the key, and this page asks Gumroad’s public /v2/licenses/verify endpoint directly from your browser. It shows whether the key exists, whether the purchase was refunded, charged back or disputed, whether a subscription has ended, and how many times the key has been verified. It always sends increment_uses_count=false, so checking a key here does not use up an activation. The key goes only to Gumroad; this page has no server and stores nothing.


Find it on your product's edit page under Content, in the license key section. Products created before January 9, 2023 can use the product permalink instead.

What the result means

  • Not valid means Gumroad has no such key for that product. The most common cause is using the product permalink for a product created after January 9, 2023; those need the product ID.
  • Key exists, but should be rejected means the key is real but the purchase was refunded, charged back, disputed, or belongs to a subscription that ended, was cancelled or failed to renew. Gumroad’s verify call still returns success: true for these, which is why so many license checks let refunded buyers keep using the software. Your own check has to look at these fields; the refunded license keys guide shows how in Node and Python.
  • Times verified (uses) is how many times the key has been verified with increment_uses_count left on. If you limit activations, compare this with your limit. This page never increases it.

Checking keys in your own app

This tool is for spot checks and support tickets. In a shipped app, do the same check in code, cache the result so the app still works offline, and keep the product ID and rules on a small server rather than in the client. The Gumroad License Kit does all of that, with a signed offline cache, a grace period and activation limits. If you’d rather start from free code, see the open source gumroad-license-check.

Related: Gumroad fee calculator and bundle & discount calculator.