# Gumroad — Wrapped API

> **You are on:** `https://api.paywithlocus.com/api` | [llms.txt](https://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. Each call is automatically billed to your wallet in USDC.

## Access

**Base URL:** `https://api.paywithlocus.com/api/wrapped/parse-gumroad-com-api-e3ea7d89/`
**Auth:** `Authorization: Bearer <LOCUS_API_KEY>`

## 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.paywithlocus.com/api/wrapped/parse-gumroad-com-api-e3ea7d89/get_discover_categories \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -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.paywithlocus.com/api/wrapped/parse-gumroad-com-api-e3ea7d89/get_product_details \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -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.paywithlocus.com/api/wrapped/parse-gumroad-com-api-e3ea7d89/get_seller_profile \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -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.paywithlocus.com/api/wrapped/parse-gumroad-com-api-e3ea7d89/search_products \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"category":"<string>","page":"<integer>","price_range":"<string>","query":"<string>","rating":"<integer>","sort":"<string>"}'
```
