canonical: https://jentic.com/apis/guildwars2.com/guildwars2-main

# Guild Wars 2 API

Jentic publishes the only available OpenAPI specification for Guild Wars 2 API, keeping it validated and agent-ready. The Guild Wars 2 API exposes structured game data for the live MMO including player accounts, character rosters, item databases, trading post listings, guild rosters, PvP and WvW statistics, achievements, and world maps. It uses bearer-token authentication tied to player-issued API keys with scoped permissions, and serves JSON responses suitable for companion apps, build calculators, market trackers, and analytics dashboards. Read-only access covers 23 endpoints under the v2 path.

## For AI agents

Read Guild Wars 2 player account, character, inventory, trading post, and guild data using a player-issued bearer key. Useful for build trackers, market tools, and progress reporters.

## Scope

Does not handle gameplay actions, in-game chat, or character mutation - use for read-only Guild Wars 2 game data only.

## Capabilities

- Read account profile, bank contents, and shared inventory tied to a player API key
- List character names and pull detailed equipment, stats, and inventory for a named character
- Look up item metadata by ID or fetch the full item index for catalog builds
- Pull trading post listings and price aggregates for any tradable item
- Retrieve guild roster details and emblem data for a guild ID
- Fetch achievement definitions, world server lists, and map metadata for static reference data

## Use cases

### Trading post price monitor

Track buy and sell offers on the Guild Wars 2 trading post for a watchlist of items, alerting players when prices cross thresholds. The API returns aggregated listing snapshots per item ID, letting a service poll prices, store history, and detect arbitrage between materials and crafted goods. Suitable for flipping bots, market dashboards, and economy research.

Example prompt: Fetch `/commerce/listings/19684` and report the lowest sell offer and highest buy order for that item ID.

### Account progress dashboard

Build a personal dashboard that shows Guild Wars 2 account state including character roster, bank contents, shared inventory, and unlocked achievements. The dashboard authenticates with the player's API key and refreshes data on demand. This avoids the in-game UI for cross-character planning and storage audits.

Example prompt: Call /account, /characters, and `/account/bank` in sequence and produce a JSON summary of the player's roster and stored items.

### Guild roster reporting

Pull guild membership and emblem data for a registered guild ID to publish a roster on a community site or Discord bot. The endpoint returns guild metadata that can be combined with member-specific calls when the requesting user has the guild leader scope. Useful for community sites that need fresh roster data without manual exports.

Example prompt: Fetch `/guild/{guild_id}` for the configured guild and post a summary of name, tag, and emblem to a Discord channel.

### AI agent build advisor via Jentic

An AI assistant helps a player optimise a Guild Wars 2 build by reading their current character equipment and stats, then suggesting upgrades against current trading post prices. Jentic supplies the Guild Wars 2 operations to the agent on demand so the agent can call `/characters/{name}` and `/commerce/listings` without browsing wiki docs.

Example prompt: Search Jentic for 'read guild wars 2 character data', load the operation, and return a build summary for character 'Aurora Northwind'.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | `/account` | Get account information |
| GET | `/characters` | List character names on the account |
| GET | `/characters/{name}` | Get character details |
| GET | `/items/{id}` | Get a specific item |
| GET | `/commerce/listings/{id}` | Get trading post listings for an item |
| GET | `/guild/{id}` | Get guild information |

## Key resources

- **Account** — Account profile, bank, and shared inventory tied to the player's API key
- **Characters** — Character roster and per-character equipment and stats
- **Items** — Item index and item-by-ID lookups for the full game catalog
- **Commerce** — Trading post listings, prices, and exchange data
- **Guild** — Guild metadata and emblem data by guild ID

## Why Jentic

- **Setup:** Wiring the Guild Wars 2 API by hand means handling its player-issued bearer key against api.guildwars2.com/v2 and managing pagination and retries across account, character, and commerce data yourself. Through Jentic you install once, import Guild Wars 2 from the API Directory, store the key once, and your agent calls it.
- **Permission scoping:** Guild Wars 2 puts the character name and item id in the URL path (`/characters/{name}`, `/items/{id}`), so a rule can pin your agent to one character or item for reads. You choose the operations it may call, and since this surface is read-only game data, the agent only fetches the records you allow.
- **Credential handling:** Your Guild Wars 2 bearer key is stored once, encrypted, by your own Jentic One instance and injected at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'read Guild Wars 2 character data' or 'look up a trading post listing', and Jentic returns the matching operation with its input schema so the agent calls the right endpoint without parsing the wiki.

## Related APIs

- **Twilio Messaging** — Send SMS alerts to players when watched trading post items hit price thresholds
- **Data.gov** — Public dataset API for non-game reference data lookups
- **Imgur** — Host screenshots of in-game characters and inventories for sharing in dashboards

## FAQ

### Why is there no official OpenAPI spec for Guild Wars 2 API?

ArenaNet does not publish an OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call Guild Wars 2 API via structured tooling. It is validated against the live API and kept up to date. Get started with Jentic One, the self-hosted execution layer.

### What authentication does the Guild Wars 2 API use?

It uses HTTP bearer authentication. Each player generates an API key in their ArenaNet account with scoped permissions like account, characters, inventories, and tradingpost. Through Jentic, the bearer key is stored encrypted in the vault and never enters the agent context.

### Can I read trading post prices with the Guild Wars 2 API?

Yes. Call GET `/commerce/listings` to get the index of tradable item IDs and GET `/commerce/listings/{id}` to get current buy and sell aggregates for that item. This is the recommended path for market trackers.

### Can I list and inspect a player's characters?

Yes. GET /characters returns the names of every character on the account, and GET `/characters/{name}` returns detailed equipment and stats for one character. Both require an API key with the characters scope.

### What are the rate limits for the Guild Wars 2 API?

ArenaNet applies a global per-IP rate limit on the v2 API, generally around 600 requests per minute. Individual endpoints may have lower thresholds during heavy game events. Use bulk ID endpoints rather than fetching IDs one at a time.

### How do I read a character's equipment with the Guild Wars 2 API through Jentic?

Search Jentic for 'read guild wars 2 character data', load the GET `/characters/{name}` operation schema, then execute it with the character name and your stored API key. Install with pip install jentic.

### Can I limit what my agent is allowed to do with the Guild Wars 2 API?

Yes. Because you run Jentic One yourself, your own rules decide which Guild Wars 2 operations and which bearer key the agent may use. Since this surface is read-only game data, the agent only fetches the records you allow, and because the API puts the character name and item id in the URL path (`/characters/{name}`, `/items/{id}`), a rule can pin the agent to a single character or item. You can also restrict it to a subset of endpoints, such as allowing `/commerce/listings/{id}` price reads while blocking /account and /characters.
