gumroad_create_ productCreate a product.
Ask how your products sold this month, look up a customer who wrote in, refund a sale, create a discount code, draft a launch email and check when your next payout lands, in the Gumroad account you already sell from.
PopMCPGumroad
Every route in Gumroad's API, including the ones its docs page does not list yet, with the everyday selling tools loaded by default and the rest, from storefront pages and tracked links to upsells, tax forms and webhooks, one search away.
132 tools in the full catalog: 57 read and 75 write. 36 load by default, and the rest are found with tool search.
gumroad_create_ productCreate a product.
gumroad_disable_ productUnpublish a product: buyers can no longer purchase it, and existing customers keep access.
gumroad_enable_ productPublish a draft or unpublished product so buyers can purchase it.
gumroad_get_ productGet one product in full: price in cents, description, files, content pages, variants, custom fields, tags and sales counts.
gumroad_list_ categoriesList Gumroad's product categories.
gumroad_list_ productsList the seller's products, newest first, 10 per page: id, name, price in cents, published state, sales count and revenue.
gumroad_update_ productChange a product.
gumroad_create_ variantAdd a variant to a variant category.
gumroad_list_ variant_ categoriesList a product's variant categories (a category is a choice like Size; its variants are the options like Small).
gumroad_list_ variantsList the variants in a variant category: id, name, price difference in cents, purchase limit.
gumroad_get_ saleGet one sale in full.
gumroad_get_ sales_ summarySales totals for a date range in one call, optionally split by product, day, week, month or hour.
gumroad_list_ salesList successful sales, newest first, 10 per page.
gumroad_mark_ sale_ as_ shippedMark a physical product's sale as shipped, with an optional tracking link.
gumroad_refund_ saleRefund a sale.
gumroad_resend_ sale_ receiptEmail the purchase receipt to the buyer again.
gumroad_create_ emailCreate a draft audience email.
gumroad_create_ offer_ codeCreate a discount code.
gumroad_delete_ offer_ codePermanently delete a discount code.
gumroad_get_ userGet the connected Gumroad seller: user_id, name, bio, email, profile url and picture.
gumroad_list_ emailsList the seller's audience emails, 10 per page.
gumroad_list_ offer_ codesList a product's discount codes.
gumroad_list_ store_ offer_ codesList every discount code in the store, across all products, including scheduled and expired ones.
gumroad_send_ emailSend a draft email to its whole audience now.
gumroad_disable_ licenseTurn a license key off so it no longer verifies.
gumroad_enable_ licenseTurn a disabled license key back on.
gumroad_rotate_ licenseReplace a license key with a new one.
gumroad_verify_ licenseCheck a license key without using it up: whether it is valid and enabled, how many times it was used, and the purchase behind it.
gumroad_create_ resource_ subscriptionCreate a webhook: Gumroad POSTs each event of that type to post_url, form-encoded.
gumroad_list_ workflowsList the seller's active email workflows, newest first.
gumroad_add_ file_ to_ productUpload a file buyers receive and add it to a product, keeping the product's other files.
gumroad_find_ customerEverything about one buyer in one call, by email: their most recent sales (up to 30), total paid per currency in cents, refunds, and their subscriptions.
gumroad_get_ product_ overviewOne product at a glance in one call: details, price in cents, sales count and revenue, its discount codes, newest reviews and, for a membership, its first subscribers.
gumroad_get_ upcoming_ payoutsSee what will be paid next: up to 2 upcoming payouts with their amounts.
gumroad_list_ payoutsList the seller's payouts, newest first: id, amount, currency, status and dates.
gumroad_list_ subscribersList a membership product's active subscribers, 100 per page.
gumroad_delete_ productPermanently delete a product.
gumroad_edit_ product_ custom_ htmlChange one snippet of a product's custom HTML page.
gumroad_get_ product_ custom_ htmlRead a product's custom HTML landing page, with its sha256 for safe edits.
gumroad_list_ product_ reviewsList reviews shown on a product's page, newest first, up to 100 per page.
gumroad_list_ product_ skusList a product's SKUs (the combinations of its variants, for physical products).
gumroad_preview_ product_ custom_ htmlClean a product page's HTML the way Gumroad would and return the result without saving.
gumroad_search_ comparable_ productsFind comparable products on Gumroad for pricing research, by words, category or both.
gumroad_update_ bundle_ contentsSet which products are inside a bundle.
gumroad_update_ product_ sectionsChoose which profile sections show on a product's page and in what order.
gumroad_create_ variant_ categoryAdd a variant category (a choice like Size) to a product.
gumroad_delete_ variantPermanently delete a variant.
gumroad_delete_ variant_ categoryPermanently delete a variant category and its variants.
gumroad_get_ variantGet one variant of a product.
gumroad_get_ variant_ categoryGet one variant category of a product.
gumroad_update_ variantChange a variant's name, price difference in cents or purchase limit.
gumroad_update_ variant_ categoryRename a variant category.
gumroad_export_ salesEmail the seller a CSV of their sales.
gumroad_restore_ sale_ accessGive a buyer back the access that gumroad_revoke_sale_access took away.
gumroad_revoke_ sale_ accessTake away a buyer's access to what they purchased, without refunding.
gumroad_delete_ emailDelete an audience email.
gumroad_edit_ profile_ custom_ htmlChange one snippet of the profile's custom HTML page without resending it all.
gumroad_get_ emailGet one audience email: subject, HTML message, audience, state and counts.
gumroad_get_ offer_ codeGet one of a product's discount codes.
gumroad_get_ profile_ custom_ htmlRead the custom HTML landing page on the seller's public profile, with its sha256 for safe edits.
gumroad_get_ profile_ layoutSee the seller's default profile layout: its tabs and the sections inside them with each section's heading.
gumroad_get_ store_ offer_ codeGet one discount code by id, without needing its product.
gumroad_get_ store_ themeSee the store theme showing on the seller's storefront and product pages: background colour, highlight colour and font.
gumroad_preview_ emailSend a test copy of an email to the seller's own address only.
gumroad_preview_ profile_ custom_ htmlClean profile HTML the way Gumroad would and return the result without saving anything.
gumroad_schedule_ emailSchedule a draft email, or change when a scheduled one goes out.
gumroad_unschedule_ emailCancel a scheduled email and turn it back into a draft.
gumroad_update_ offer_ codeChange one of a product's discount codes: its purchase limit, minimum order in cents, automatic sale settings or dates.
gumroad_update_ profile_ custom_ htmlPublish or clear the custom HTML landing page on the seller's public profile.
gumroad_update_ store_ offer_ codeChange a discount code by id: its purchase limit, minimum order in cents, automatic sale settings or dates.
gumroad_update_ userChange the seller's public profile name, bio or search-engine text.
gumroad_create_ utm_ linkCreate a tracked link for a campaign.
gumroad_delete_ utm_ linkDelete a tracked link.
gumroad_disable_ utm_ linkTurn a tracked link off.
gumroad_enable_ utm_ linkTurn a tracked link back on.
gumroad_get_ utm_ linkGet one tracked link.
gumroad_list_ utm_ linksList the seller's tracked links (UTM links) with their clicks and sales.
gumroad_update_ utm_ linkChange a tracked link.
gumroad_approve_ marketing_ actionApprove a launch post's copy, optionally with new copy.
gumroad_cancel_ marketing_ actionCancel a launch post that has not gone out.
gumroad_count_ license_ useCheck a license key AND add one to its use count, as an app does when a customer activates it.
gumroad_create_ marketing_ actionOpen a launch post for a channel from gumroad_get_marketing_recommendations.
gumroad_decrement_ license_ usesTake one off a license key's use count, for example when a customer deactivates a device.
gumroad_execute_ marketing_ actionPost an approved launch post publicly on the seller's channel.
gumroad_get_ marketing_ actionSee a launch post and how posting went.
gumroad_get_ marketing_ recommendationsPrepare launch post suggestions per channel for a product.
gumroad_create_ pageCreate a storefront page.
gumroad_create_ upsellCreate an upsell or cross-sell shown at checkout.
gumroad_delete_ pageDelete a storefront page.
gumroad_delete_ upsellDelete an upsell or cross-sell.
gumroad_get_ pageRead one storefront page by its slug, including its rendered HTML.
gumroad_get_ upsellGet one upsell or cross-sell.
gumroad_list_ pagesList the seller's storefront pages (extra pages with their own slug, apart from the profile root).
gumroad_list_ upsellsList the seller's upsells and cross-sells.
gumroad_update_ pageChange a storefront page.
gumroad_update_ upsellChange an upsell or cross-sell.
gumroad_abort_ file_ uploadCancel a manual upload.
gumroad_add_ product_ coverAdd a cover to a product from a public image or video url, or a YouTube or Vimeo link.
gumroad_add_ workflow_ emailAdd an email step to a workflow.
gumroad_complete_ file_ uploadStep 2 of a manual upload: finish it with every part's ETag.
gumroad_create_ custom_ fieldAdd a question to a product's checkout.
gumroad_create_ direct_ uploadReserve an image or video upload and get its url and signed id, for gumroad_set_product_thumbnail or gumroad_add_media.
gumroad_delete_ custom_ fieldPermanently delete a checkout question.
gumroad_delete_ product_ coverRemove a cover from a product.
gumroad_delete_ product_ thumbnailRemove a product's thumbnail.
gumroad_delete_ resource_ subscriptionDelete a webhook.
gumroad_deploy_ product_ buildDeploy a new build of a product's hosted web app from a zip already uploaded through gumroad_start_file_upload and gumroad_complete_file_upload.
gumroad_get_ help_ articleRead one Gumroad help article as plain text.
gumroad_get_ product_ buildGet one hosted web app build of a product and its status.
gumroad_get_ refund_ policyRead the store's account-level refund policy.
gumroad_get_ workflowGet one workflow with its email steps and delivery statistics.
gumroad_list_ custom_ fieldsList the extra questions a product asks at checkout.
gumroad_list_ help_ articlesSearch Gumroad's own help center, to check how a feature really works before answering.
gumroad_list_ product_ buildsList a product's hosted web app builds.
gumroad_list_ resource_ subscriptionsList the webhooks for one event type.
gumroad_promote_ product_ buildMake a build the live version of a product's hosted web app.
gumroad_set_ product_ thumbnailSet a product's thumbnail from a public image url.
gumroad_start_ file_ uploadStep 1 of a manual large-file upload: returns upload_id, key, file_url and a pre-signed url per 100 MB part.
gumroad_test_ resource_ subscriptionSend a sample event marked test true to a webhook's post_url.
gumroad_update_ custom_ fieldChange whether a checkout question must be answered.
gumroad_update_ refund_ policyChange the store's account-level refund policy.
gumroad_update_ workflow_ emailChange one email step.
gumroad_add_ mediaAdd an image to the media library from a public url Gumroad downloads, up to 10 MB, not SVG.
gumroad_delete_ mediaDelete an image from the media library.
gumroad_download_ tax_ formGet a tax form's PDF as base64.
gumroad_get_ earningsAnnual earnings as reported in the Tax Center, in cents: gross, fees, taxes, affiliate credit and net.
gumroad_get_ payoutGet one payout, with the sales, refunds and disputes behind it.
gumroad_list_ mediaList images in the seller's media library, newest first.
gumroad_list_ tax_ formsList the seller's 1099 tax forms.
gumroad_get_ public_ productRead any seller's public product page as data: price, covers, description, reviews, variants.
gumroad_get_ public_ profileRead any creator's public profile as data: name, bio, avatar, social links and listed products.
gumroad_get_ subscriberGet one subscriber: status, dates, charge count and license key.
Credentials off one Gumroad screen, then an endpoint your client signs into. Nothing to deploy, and nothing to install.
In Gumroad open Settings, then Advanced, create an application named PopMCP with http://127.0.0.1 as the Redirect URI, click Generate access token and copy it into PopMCP. It works on every Gumroad account and needs no approval. PopMCP checks whose account it is and locks the connection to it.
••••••••••••3f7aRefunds, product changes, license changes and emails are writes and wait until an owner or admin allows write actions; new connections start read-only. A refund moves real money and a sent email cannot be recalled, so keep teammates who only report on read-only.
Drop the PopMCP URL into Claude, ChatGPT, Claude Code, Codex or any other supported client. It signs in through PopMCP with OAuth, so your Gumroad credential never leaves the server.
app.popmcp.com/mcpAsk for something harmless before the agent changes anything. Writes run as soon as it calls them, so confirm it reads the right account first.
How did my Gumroad products sell last month? Break it down by product
gumroad_get_sales_summaryok
Then just ask for the work
“How did my Gumroad products sell last month? Break it down by product”
“A customer at pat@example.com says they never got their download. What did they buy, and can you send the receipt again?”
“Refund the last sale to pat@example.com in full”
“Create a 20% off code called SPRING20 for my icon pack, limited to 50 uses”
“Is this license key valid, and how many times has it been used?”
“Add this PDF to my course and draft an email telling my customers about it”
“When is my next payout, and how much will it be?”
One hosted endpoint, registered once per client. The same tools and the same permissions, whichever window the request comes from.
Add the PopMCP URL under Customize → Connectors and the tools appear in every chat.
The same endpoint, registered in the browser. Nothing to install on the machine you are working from.
Register PopMCP as a custom connector, then let ChatGPT read and update the account.
Wire the endpoint into Codex or the Codex CLI when a task needs live business context, not a fixture.
Register the remote MCP server in OpenCode's config for terminal-first and scripted agent runs.
Add PopMCP as an MCP server in Z.ai's desktop app and work the account from the same window.
FAQ
What teams ask before putting Gumroad behind an AI client.
One access token. In Gumroad open Settings, then Advanced, create an application named PopMCP with http://127.0.0.1 as the Redirect URI, and click Generate access token. Copy the Access Token into PopMCP, which checks whose account it is, stores it encrypted and locks the connection to that account. The Application ID and Application Secret look similar but are not the token. Gumroad reviews nothing, and the token never reaches your AI client.
That is how Gumroad issues API access. The application is only a holder for your token: the Redirect URI is not used when you generate a token yourself, which is why Gumroad's own help page suggests http://127.0.0.1. It takes about a minute.
No. A Gumroad access token lasts until it is revoked. Deleting the application in Gumroad stops it, and you would then generate a new one and update the connection in PopMCP.
Yes, once an owner or admin allows write actions; new connections start read-only. Refunds can be full or partial, and they move real money. A draft email stays a draft until you send it, and the agent can send a test copy to your own address first.
No. On Gumroad's API, verifying a key adds one to its use count unless told otherwise. PopMCP's verify tool always tells it not to, so looking at a key never changes it. A separate tool counts a use, for when an app really activates a key.
Yes, up to 50 MB through PopMCP, from a public link or file data the AI client provides. It adds the file to the product, keeps the files already there and places it on the content page where buyers see it. Larger files can be uploaded in Gumroad, or in parts through the manual upload tools.
Every route a seller's token can call: products, variants, discount codes, checkout questions, sales, subscribers, licenses, payouts, tax forms, audience emails, workflows, storefront pages, media, upsells, tracked links, hosted builds and webhooks, plus public product and profile pages. What is left out is what no seller can use, such as Gumroad's mobile and admin APIs.
Sales, refunds, disputes, disputes won, cancellations and membership updates, endings and restarts, through the webhooks Gumroad offers. New payouts, products, discount codes, emails and upsells are noticed by checking the lists.
No. PopMCP hosts it and gives you a Streamable HTTP MCP URL. There is nothing to deploy, no callback URL to register, and no infrastructure to keep running or patch.
Any client that supports a remote Streamable HTTP MCP server: Claude Desktop, Claude Web, Claude Code, ChatGPT custom connectors, Codex and the Codex CLI, OpenCode and Z.ai's ZCode, as well as editors such as Cursor, Windsurf and Zed. Your client signs in to PopMCP with OAuth; the provider credential never leaves the server.
Connect Gumroad in PopMCP first, then run claude mcp add --transport http popmcp https://app.popmcp.com/mcp in a terminal. Inside Claude Code, run /mcp and sign in to PopMCP in the browser window it opens, ticking Gumroad on the consent screen. The Gumroad tools are then available in that session, and no Gumroad credential is stored on your machine.
Loading 132 tool definitions into every conversation burns context before the work starts. PopMCP loads a curated 36-tool set covering the everyday workflows and keeps the rest searchable, so your AI pulls a specialist tool only when a task needs it. Every tool stays searchable, and on Scale the owner can load the full catalog for a teammate's connection.
A tool is something your AI calls, and there are 132 here. A trigger is something PopMCP watches for you: 13 Gumroad events that can start work on the PopMCP side. Triggers never enter your AI client's context, and none of them ask you to paste a callback URL into Gumroad.
Launch a hosted MCP endpoint for Gumroad, keep tool access under control, and start testing real workflow prompts right away.