# Gumroad — Wrapped API

> **You are on:** `https://api.beta.paywithlocus.com/api` | [llms.txt](https://beta.paywithlocus.com/llms.txt) | [docs](https://docs.paywithlocus.com)
>
> Locus runs on multiple environments -- make sure every URL you call matches your expected environment.
> | Environment | Landing | API | Docs |
> |---|---|---|---|
> | Production | paywithlocus.com | api.paywithlocus.com | docs.paywithlocus.com |
> | Beta | beta.paywithlocus.com | api.beta.paywithlocus.com | docs.paywithlocus.com |
> | Stage | stage.paywithlocus.com | api.stage.paywithlocus.com | docs.paywithlocus.com |
>
> If the API URL above doesn't match your expected environment, re-fetch this file from the correct domain.

> Browse and extract data from the Gumroad marketplace. Search products by keyword, category, price, and rating; retrieve full product details; and look up seller profiles and their listed products.

**Category:** Marketplaces | **Website:** [gumroad.com/](https://gumroad.com/) | **Docs:** [parse.bot/marketplace/e3ea7d89-0527-4214-97f9-5b3b7f99ded2/gumroad-com-api](https://parse.bot/marketplace/e3ea7d89-0527-4214-97f9-5b3b7f99ded2/gumroad-com-api)

Pay-per-use API proxy for Locus Pro. Each call burns credits from your workspace balance.

## Access

**Base URL:** `https://api.beta.paywithlocus.com/api/wrapped/credits/gumroad/`
**Auth:** `Authorization: Bearer <LOCUS_CREDITS_SECRET_KEY>` (an `lcr_` secret key or a scoped `lcac_` agent credential)
**Required header:** `Idempotency-Key: <fresh UUID per call>`. A retry with the same key replays the stored result without a new charge.
**Response:** the provider response after any endpoint-specific normalization. `X-Locus-Credits-Charged` carries the charge and `X-Locus-Credits-Balance` the remaining balance. Insufficient credits return `402` before the provider is called.
**Pricing:** estimated costs below are USD. Locus debits the credit equivalent at your workspace rate.

Full call contract: https://docs.paywithlocus.com/api-reference/introduction

> Using a Pay With Locus wallet key (`claw_` prefix)? Wallet routes are documented separately: https://docs.paywithlocus.com/wrapped-apis/for-agents

## Endpoints

### Get discover categories

List all available product categories from the Gumroad Discover page. Returns the full category taxonomy including parent-child relationships via parent_key. Top-level categories have parent_key null; subcategories reference their parent's key.

**Estimated cost:** Metered

_No parameters required._

```bash
curl -X POST https://api.beta.paywithlocus.com/api/wrapped/credits/gumroad/get-discover-categories \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{}'
```

### Get product details

Fetch full details of a specific Gumroad product by its page URL. Returns name, HTML description, price, seller info, ratings breakdown, file info, and subscription metadata. The URL must be a valid Gumroad product page URL (e.g. 'https://username.gumroad.com/l/product-slug').

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `url` | string | Yes | Full URL of the Gumroad product page (e.g. 'https://twostraws.gumroad.com/l/swift-power-pack'). |

```bash
curl -X POST https://api.beta.paywithlocus.com/api/wrapped/credits/gumroad/get-product-details \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"url":"<string>"}'
```

### Get seller profile

Fetch a seller's public profile and their listed products. Returns the seller's display name, bio, avatar, and any products they have configured in their profile sections. Some sellers may have an empty products array if they have not configured profile product sections.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `username` | string | Yes | The seller's Gumroad username/subdomain (e.g. 'twostraws'). |

```bash
curl -X POST https://api.beta.paywithlocus.com/api/wrapped/credits/gumroad/get-seller-profile \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"username":"<string>"}'
```

### Search products

Search and browse the Gumroad marketplace. Supports query keywords, category filtering, sort order, price range, and minimum rating. Returns paginated results with up to 36 products per page. When no query or category is provided, returns a general browse of all products in the given sort order.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `category` | string | No | Category slug from get_discover_categories (e.g. 'software-development', '3d', 'design'). |
| `page` | integer | No | Page number for pagination (1-based). |
| `price_range` | string | No | Price range filter as 'min-max' in dollars (e.g. '0-50', '10-100'). |
| `query` | string | No | Search keyword (e.g. 'Python', 'Blender addon'). |
| `rating` | integer | No | Minimum rating score (1-5). |
| `sort` | string | No | Sort order for results. |

```bash
curl -X POST https://api.beta.paywithlocus.com/api/wrapped/credits/gumroad/search-products \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"category":"<string>","page":"<integer>","price_range":"<string>","query":"<string>","rating":"<integer>","sort":"<string>"}'
```

## Next steps

- [All wrapped API providers](https://beta.paywithlocus.com/wapi/index.md): pick another provider.
- [Find and call tools](https://beta.paywithlocus.com/agent/tools.md): price ceilings, async results, and errors.
- [Credits and billing](https://beta.paywithlocus.com/agent/billing.md): what a call costs and how to add credits.
- [Agent docs index](https://beta.paywithlocus.com/agent/index.md): every Locus agent page.