# Themewagon — 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.

> Discover and browse thousands of website themes and templates from ThemeWagon, with the ability to search by category, framework, or tag, and view detailed information like ratings, download counts, and user reviews. Filter results to find free or premium themes, explore editor's picks, and stay updated with the latest and most popular designs.

**Category:** Developer Tools | **Website:** [themewagon.com/](https://themewagon.com/) | **Docs:** [parse.bot/marketplace/97d4efd7-2ae6-418f-9345-e6a67eccde13/themewagon-com-api](https://parse.bot/marketplace/97d4efd7-2ae6-418f-9345-e6a67eccde13/themewagon-com-api)

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

## Access

**Base URL:** `https://api.paywithlocus.com/api/wrapped/credits/themewagon/`
**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 all themes

Returns a paginated list of all themes/templates. Supports sorting by date, popularity, and rating. Returns 20 themes per page. Each theme includes id, title, slug, url, price, rating, rating_count, and thumbnail.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `page` | integer | No | Page number for pagination. |
| `sort` | string | No | Sort order for results. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/credits/themewagon/get-all-themes \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"page":"<integer>","sort":"<string>"}'
```

### Get editors pick

Returns premium/featured themes as a curated editor's pick selection. The catalog is small and typically fits on a single page. Each theme includes title, slug, url, price, rating, thumbnail, and download_count.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `page` | integer | No | Page number for pagination. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/credits/themewagon/get-editors-pick \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"page":"<integer>"}'
```

### Get free themes

Returns all free themes with pagination. Returns 20 themes per page. Each theme includes title, slug, url, price, rating, thumbnail, and download_count.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `page` | integer | No | Page number for pagination. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/credits/themewagon/get-free-themes \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"page":"<integer>"}'
```

### Get latest themes

Returns the most recently released themes, sorted by date descending. Returns 20 themes per page. Each theme includes id, title, slug, url, price, rating, rating_count, and thumbnail.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `page` | integer | No | Page number for pagination. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/credits/themewagon/get-latest-themes \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"page":"<integer>"}'
```

### Get popular themes

Returns themes sorted by popularity descending. Returns 20 themes per page. Each theme includes id, title, slug, url, price, rating, rating_count, and thumbnail.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `page` | integer | No | Page number for pagination. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/credits/themewagon/get-popular-themes \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"page":"<integer>"}'
```

### Get premium themes

Returns all premium/paid themes. The premium catalog is small and typically fits on a single page. Each theme includes title, slug, url, price, rating, thumbnail, and download_count.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `page` | integer | No | Page number for pagination. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/credits/themewagon/get-premium-themes \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"page":"<integer>"}'
```

### Get theme detail

Returns full detail for a specific theme by its slug, including description, features, metadata, rating, and related themes. Provides comprehensive information about a single theme including version, frameworks, categories, tags, download count, and live preview URL.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `slug` | string | Yes | Theme slug (e.g. phoenix, tailadmin, iportfolio). Obtainable from any theme listing endpoint's themes[*].slug. |

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

### Get theme reviews

Returns user reviews for a specific theme. All reviews are returned in a single response without pagination. Each review includes author, rating, title, text, and date.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `slug` | string | Yes | Theme slug (e.g. phoenix, falcon, sparrow). Obtainable from any theme listing endpoint's themes[*].slug. |

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

### Get themes by category

Returns themes filtered by category slug. Returns 20 themes per page. Each theme includes id, title, slug, url, price, rating, rating_count, and thumbnail.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `page` | integer | No | Page number for pagination. |
| `slug` | string | Yes | Category slug (e.g. admin-dashboard, landing-website). Obtainable from list_categories endpoint. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/credits/themewagon/get-themes-by-category \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"page":"<integer>","slug":"<string>"}'
```

### Get themes by framework

Returns themes filtered by framework slug. Returns 20 themes per page. Each theme includes title, slug, url, price, rating, thumbnail, and download_count.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `page` | integer | No | Page number for pagination. |
| `slug` | string | Yes | Framework slug (e.g. tailwind-css, bootstrap-5, material-ui, next-js). Obtainable from list_frameworks endpoint. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/credits/themewagon/get-themes-by-framework \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"page":"<integer>","slug":"<string>"}'
```

### Get themes by tag

Returns themes filtered by tag slug. Returns 20 themes per page. Each theme includes id, title, slug, url, price, rating, rating_count, and thumbnail.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `page` | integer | No | Page number for pagination. |
| `slug` | string | Yes | Tag slug (e.g. animation, blog-template, accordions). Obtainable from list_tags endpoint. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/credits/themewagon/get-themes-by-tag \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"page":"<integer>","slug":"<string>"}'
```

### List categories

Returns all available theme categories with their slugs and theme counts. The response contains an items array of category objects.

**Estimated cost:** Metered

_No parameters required._

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

### List frameworks

Returns all available frameworks that themes can be filtered by. The response contains an items array of framework objects with name and slug.

**Estimated cost:** Metered

_No parameters required._

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

### List tags

Returns all available tags with their slugs, descriptions, and theme counts. The response contains an items array of tag objects.

**Estimated cost:** Metered

_No parameters required._

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

### Search themes

Search themes by keyword. Returns paginated results with 20 themes per page. Each theme includes id, title, slug, url, price, rating, rating_count, and thumbnail.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `page` | integer | No | Page number for pagination. |
| `query` | string | Yes | Search keyword (e.g. dashboard, portfolio, react). |

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

## Next steps

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