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

> Track World of Warcraft PvP performance with access to leaderboards, character profiles, seasonal statistics, and gladiator rankings across different competitive seasons. Search and monitor player ratings, activity history, and cutoff thresholds to stay updated on the competitive PvP landscape.

**Category:** Sports | **Website:** [seramate.com/](https://seramate.com/) | **Docs:** [parse.bot/marketplace/e0479878-fe81-43d6-a8e7-4f774b13ec6f/seramate-com-api](https://parse.bot/marketplace/e0479878-fe81-43d6-a8e7-4f774b13ec6f/seramate-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/seramate/`
**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

### Advanced search

Perform advanced natural language search for characters. Accepts queries like 'warriors above 2000' or 'Night Elf Druids on US realms'. Returns paginated character results with profile data. The server parses the query into structured filters (class, rating, region, etc.).

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `natural_query` | string | Yes | Natural language search query describing the characters to find. |
| `page` | integer | No | Page number. |
| `per_page` | integer | No | Results per page. |

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

### Get activity

Fetch recent PvP activity for a region and bracket. Returns paginated list of characters with rating changes and games played within the specified timeframe. Each entry includes full character details, rating_delta, played_delta, rank_delta, and last_seen_at.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `bracket` | string | No | PvP bracket. |
| `factions` | string | No | JSON array of faction filters. |
| `page` | integer | No | Page number. |
| `per_page` | string | No | Results per page. |
| `races` | string | No | JSON array of race filters. |
| `realm_categories` | string | No | JSON array of realm category filters. |
| `realms` | string | No | JSON array of realm filters. |
| `region` | string | No | Region code. |
| `specs` | string | No | JSON array of spec filters (blizzard spec IDs). |
| `timeframe` | string | No | Time window for activity. |

```bash
curl -X POST https://api.beta.paywithlocus.com/api/wrapped/credits/seramate/get-activity \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"bracket":"<string>","factions":"<string>","page":"<integer>","per_page":"<string>","races":"<string>","realm_categories":"<string>","realms":"<string>","region":"<string>","specs":"<string>","timeframe":"<string>"}'
```

### Get character profile

Fetch the full profile of a WoW character including summary, PvP stats, alts, titles, and talents. The character is resolved via autocomplete search. Returns composite object with summary (character details, profile, media), pvp (bracket stats), alts, titles, and talents sections.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `name` | string | Yes | Character name (case-insensitive). |
| `realm` | string | Yes | Realm slug (e.g. 'tichondrius', 'blades-edge', 'azshara'). |
| `region` | string | Yes | Region code. |

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

### Get character rating history

Fetch historical rating progression for a character in a specific bracket. Returns time-series data of rating changes over the season. The UUID can be obtained from search_characters, get_leaderboard, or get_character_profile results.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `bracket` | string | No | PvP bracket. |
| `uuid` | string | Yes | Character UUID from search_characters.data[*].id, get_leaderboard.data[*].character.id, or get_character_profile.summary.character.id. |

```bash
curl -X POST https://api.beta.paywithlocus.com/api/wrapped/credits/seramate/get-character-rating-history \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"bracket":"<string>","uuid":"<string>"}'
```

### Get cutoffs

Fetch current R1 title cutoffs for 3v3, RBG, Shuffle, and Blitz per spec for a given season and region. Returns alliance and horde cutoff ratings for 3v3/RBG, plus per-spec cutoffs for shuffle and blitz.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `region` | string | No | Region code. |
| `season_id` | string | No | Season blizzard_id as string. |

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

### Get gladiators

Fetch the list of players who earned specific PvP titles for a given season. Returns paginated list sorted by completion time. Each entry includes full character details and title info (type, completed_at, rank, first_time).

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `page` | integer | No | Page number. |
| `per_page` | string | No | Results per page. |
| `region` | string | No | Region code. |
| `season_id` | string | No | Season blizzard_id as string. |
| `title_type` | string | No | Title type. |

```bash
curl -X POST https://api.beta.paywithlocus.com/api/wrapped/credits/seramate/get-gladiators \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"page":"<integer>","per_page":"<string>","region":"<string>","season_id":"<string>","title_type":"<string>"}'
```

### Get leaderboard

Fetch the current or archived PvP leaderboard for a region and bracket. Returns paginated ranked entries with character info, standing (rank, rating), and season_stats (played, won, lost). Use blizzard_id from get_seasons_list as season_id.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `bracket` | string | No | PvP bracket. |
| `factions` | string | No | JSON array of faction filters. |
| `page` | integer | No | Page number. |
| `per_page` | string | No | Results per page. |
| `races` | string | No | JSON array of race filters. |
| `realm_categories` | string | No | JSON array of realm category filters. |
| `realms` | string | No | JSON array of realm filters. |
| `region` | string | No | Region code. |
| `season_id` | string | No | Season blizzard_id as string. Omitting returns current season. |
| `specs` | string | No | JSON array of spec filters (blizzard spec IDs). |

```bash
curl -X POST https://api.beta.paywithlocus.com/api/wrapped/credits/seramate/get-leaderboard \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"bracket":"<string>","factions":"<string>","page":"<integer>","per_page":"<string>","races":"<string>","realm_categories":"<string>","realms":"<string>","region":"<string>","season_id":"<string>","specs":"<string>"}'
```

### Get seasonal stats

Fetch seasonal PvP statistics including population breakdown by spec, total population, and average rating progression over time. Returns three sub-objects: population (per-spec totals), population_total (cross-bracket totals), and average_rating (time-series per spec).

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `bracket` | string | No | PvP bracket. |
| `region` | string | No | Region code. |
| `season_id` | string | No | Season blizzard_id as string. |

```bash
curl -X POST https://api.beta.paywithlocus.com/api/wrapped/credits/seramate/get-seasonal-stats \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"bracket":"<string>","region":"<string>","season_id":"<string>"}'
```

### Get seasons list

Fetch the list of all available WoW PvP seasons. Returns season metadata including blizzard_id (used as season_id in other endpoints), name, start/end dates, and whether stats/cutoffs are available. Seasons are ordered newest first.

**Estimated cost:** Metered

_No parameters required._

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

### Search characters

Search for characters by name (autocomplete). Returns matching characters across all regions with basic info including UUID, realm, class, faction, and max rating. Results are ordered by rank weight (highest-achieving characters first).

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `query` | string | Yes | Character name search query. |

```bash
curl -X POST https://api.beta.paywithlocus.com/api/wrapped/credits/seramate/search-characters \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"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.