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

> Itch provides 8 callable API endpoints through the Parse marketplace.

**Category:** Marketplaces | **Website:** [itch.io/](https://itch.io/) | **Docs:** [parse.bot/marketplace/a926b5dc-5a9f-4d3d-9d96-1bb80b22630b/itch-io-api](https://parse.bot/marketplace/a926b5dc-5a9f-4d3d-9d96-1bb80b22630b/itch-io-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/itch/`
**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

### Browse game jams

Browse game jams on itch.io filtered by status. Returns jam details including title, host, timing, participant count, and ranking status. Each status tab shows a different set of jams.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `status` | string | No | Jam status filter. |

```bash
curl -X POST https://api.beta.paywithlocus.com/api/wrapped/credits/itch/browse-game-jams \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"status":"<string>"}'
```

### Browse games

Browse games on itch.io with various filters and sorting options. Returns paginated results with game metadata including title, creator, price, platforms, and thumbnails. The server returns an HTML fragment parsed into structured game objects. Pagination uses integer page numbers; an empty games array signals the end.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `filter_type` | string | No | Filter type to narrow results by category. |
| `page` | integer | No | Page number for pagination. |
| `sort` | string | No | Sort order for results. |
| `tag` | string | No | Filter by tag slug (e.g. horror, roguelike, puzzle, 2d, 3d, pixel-art). |

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

### Get all tags

Get all available top-level game tags from itch.io for categorization and filtering. Returns approximately 40 popular tags with their names and URLs.

**Estimated cost:** Metered

_No parameters required._

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

### Get creator profile

Get creator profile information and their published games from their itch.io page. Returns name, bio, social links, and a list of games published by the creator.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `url` | string | Yes | Full URL of the creator's itch.io page (e.g. https://developer.itch.io). |

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

### Get featured games

Fetch featured games from the itch.io homepage. Returns games currently showcased on the front page. The selection changes over time as itch.io curates its homepage.

**Estimated cost:** Metered

_No parameters required._

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

### Get game comments

Get comments/reviews for a specific game. Returns comments in reverse chronological order. Supports cursor-based pagination using the next_token value as the before parameter. Returns stale_input if the game has no comments page (404).

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `before` | string | No | Pagination cursor from next_token to fetch older comments. |
| `url` | string | Yes | Full URL of the game page (e.g. https://developer.itch.io/game-name). |

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

### Get game details

Get detailed information about a specific game on itch.io, including full description, metadata, downloadable files, rating, and tags. Requires the full game page URL. Returns a single game detail object parsed from the HTML page.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `url` | string | Yes | Full URL of the game page (e.g. https://developer.itch.io/game-name). |

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

### Search games

Search for games on itch.io by keyword. Returns matching game results from the full-text search index. Results are HTML-parsed from the search page. No has_more indicator is provided; an empty games array means no more results.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `page` | integer | No | Page number for pagination. |
| `query` | string | Yes | Search keyword. |

```bash
curl -X POST https://api.beta.paywithlocus.com/api/wrapped/credits/itch/search-games \
  -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://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.