# Grand Archive — 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.

> Access official Grand Archive TCG news, articles, and comprehensive card database to stay updated on the latest announcements, ban & restricted updates, and guides. Search cards, browse champions, and retrieve detailed card metadata all in one place.

**Category:** Entertainment | **Website:** [grandarchive.com/](https://grandarchive.com/) | **Docs:** [parse.bot/marketplace/d9c4e9ea-00eb-448c-8aca-104ccb4e46fd/grandarchive-com-api](https://parse.bot/marketplace/d9c4e9ea-00eb-448c-8aca-104ccb4e46fd/grandarchive-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-grandarchive-com-api-d9c4e9ea/`
**Auth:** `Authorization: Bearer <LOCUS_API_KEY>`

## Endpoints

### get_article_detail

Fetch the full content of a single article by its slug. Returns article metadata plus the full HTML body content. Returns stale_input with kind input_not_found if the slug does not match any article.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `slug` | string | Yes | The unique slug of the article (e.g. side-event-and-prize-wall-updates, ban-and-restricted-may-11th-2026). |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-grandarchive-com-api-d9c4e9ea/get_article_detail \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"slug":"<string>"}'
```

### get_articles_list

Fetch a paginated list of articles from the Grand Archive TCG news feed. Returns articles sorted by publication date descending. Supports filtering by category. Each article includes title, intro, slug, URL, publication timestamp, categories, and hero image. Use page and page_size to paginate through the full archive.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `category` | string | No | Category to filter by. Known values include: news, guide, hidden. Omitting returns all categories. |
| `page` | integer | No | Page number to fetch. |
| `page_size` | integer | No | Number of articles per page. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-grandarchive-com-api-d9c4e9ea/get_articles_list \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"category":"<string>","page":"<integer>","page_size":"<integer>"}'
```

### get_ban_and_restricted_articles

Fetch all Ban & Restricted announcement articles. Returns articles containing 'Ban' in the title, including full HTML body content, sorted by publication date descending. These articles detail card legality changes across Standard and Pantheon formats.

**Estimated cost:** Metered

_No parameters required._

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-grandarchive-com-api-d9c4e9ea/get_ban_and_restricted_articles \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'
```

### get_champions

Fetch a paginated list of all Champion cards. Specialized search that pre-filters by type CHAMPION. Returns the same card object shape as search_cards.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `page` | integer | No | Page number. |
| `page_size` | integer | No | Items per page. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-grandarchive-com-api-d9c4e9ea/get_champions \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"page":"<integer>","page_size":"<integer>"}'
```

### get_latest_articles

Fetch the latest N articles sorted by publication date descending. Returns an object with an articles array. Useful for polling new content or building a recent-news feed.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `limit` | integer | No | Maximum number of articles to return (1-50). |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-grandarchive-com-api-d9c4e9ea/get_latest_articles \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"limit":"<integer>"}'
```

### search_cards

Search for trading cards in the official Grand Archive database. Supports filtering by name, type, class, and element. Returns paginated results with full card metadata including editions, effects, circulation data, and set information. Without any filters returns all cards.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `class` | string | No | Filter by card class. |
| `element` | string | No | Filter by element. |
| `page` | integer | No | Page number. |
| `page_size` | integer | No | Items per page (max 50). |
| `query` | string | No | Search query for card name. |
| `type` | string | No | Filter by card type. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-grandarchive-com-api-d9c4e9ea/search_cards \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"class":"<string>","element":"<string>","page":"<integer>","page_size":"<integer>","query":"<string>","type":"<string>"}'
```
