Guild Wars 2 API

Games & Comics / API Key Intermediate HTTPS
600 per window
62 C
Measured Score 0 50 100 Speed 6/30 Consistency 8/20 Security 18/20 Browser access 15/15 Transparency 15/15 TESTED 2026-08-10

Overview

The Guild Wars 2 API provides extensive access to in-game data including items, skills, achievements, characters, and trading post prices. Many endpoints are public and require no API key, while account-specific data requires a key generated in the game. It is a well-documented API that is great for intermediate beginners who want to practice working with large game datasets.

Beginner Tip

Most item and world data endpoints work without authentication. Only add an API key when querying personal account data like /v2/characters or /v2/account. Generate a key in-game via Guild Wars 2 > Account > Applications.

Measurement Record

What actually happened when we called this API from our own infrastructure. Every value below was recorded by the request, not copied from the provider's documentation.

Request
GET https://api.guildwars2.com/v2/items?ids=28445,56&lang=en
Result
HTTP 200 · application/json · 2,007 bytes · compressed
Response time
491 ms (median of 3) · fastest 346 ms
Transport
TLSv1.2 · ECDHE-RSA-AES128-GCM-SHA256 · certificate issued by Amazon
Browser CORS
Allowed — Access-Control-Allow-Origin: *
Rate limit
600 per window
Served by
Quaggans
Recorded
2026-08-10

Fields Returned

Top-level fields present in the response we captured, with the type and value we actually received.

Field Type Value received
name string Strong Soft Wood Longbow of Fire
description string
type string Weapon
level integer 44
rarity string Masterwork
vendor_value integer 120
default_skin integer 3942
game_types array [1 item]
flags array [1 item]
restrictions array [0 items]
id integer 28445
chat_link string [&AgEdbwAA]
icon string (url) https://render.guildwars2.com/file/C6110F52DF…
details object {10 fields}

Captured Response

Captured from a real request to https://api.guildwars2.com/v2/items?ids=28445,56&lang=en on 2026-08-10. Long arrays and nested objects are truncated to keep the shape readable.

JSON Response · Captured
[
  {
    "name": "Strong Soft Wood Longbow of Fire",
    "description": "",
    "type": "Weapon",
    "level": 44,
    "rarity": "Masterwork",
    "vendor_value": 120,
    "default_skin": 3942,
    "game_types": [
      "Activity"
    ],
    "flags": [
      "SoulBindOnUse"
    ],
    "restrictions": [],
    "id": 28445,
    "chat_link": "[&AgEdbwAA]",
    "icon": "https://render.guildwars2.com/file/C6110F52DF5AFE0F00A56F9E143E9732176DDDE9/65015.png",
    "details": {
      "type": "LongBow",
      "damage_type": "Physical",
      "min_power": 385,
      "max_power": 452,
      "defense": 0,
      "infusion_slots": [],
      "attribute_adjustment": 242.352,
      "infix_upgrade": {
        "…": "(2 more fields)"
      },
      "suffix_item_id": 24547,
      "secondary_suffix_item_id": ""
    }
  }
]

Field Reference

id Unique numeric ID of the item or resource in the game database
name Localized display name of the item in the requested language
type Category of the item, e.g. Weapon, Armor, Consumable, Trophy
rarity Rarity tier of the item: Junk, Basic, Fine, Masterwork, Rare, Exotic, Ascended, or Legendary
level Minimum character level required to equip or use the item
vendor_value Coin value when selling the item to an NPC vendor

Implementation Example

Calls a real endpoint of this API. Replace any placeholder credentials with your own key.

Request
const url = "https://api.guildwars2.com/v2/items?ids=28445,56&lang=en";
// Replace headers or query params with the values required by this API.
const response = await fetch(url, {
  headers: {
  "X-API-Key": "YOUR_API_KEY"
  }
});
if (!response.ok) throw new Error(`Request failed: ${response.status}`);
const data = await response.json();
console.log(data);

What Can You Build?

Note: These code examples are AI-generated and unverified. Always refer to the official API documentation for accurate usage.

How This API Fails

We deliberately sent this API a broken request and recorded exactly what came back on 2026-08-10. Knowing the shape of an error before you hit it makes error handling much easier to write.

HTTP 404 Requesting a path that does not exist application/json
{
  "text": "no such id"
}
HTTP 404 Sending an invalid value for "ids" application/json
{
  "text": "all ids provided are invalid"
}

Common Errors & Troubleshooting

Generated guidance based on this API's documentation, not observed by us. Treat it as a starting point and check against the provider's own error reference.

400 Bad Request: invalid key The API key in the Authorization header is malformed or expired
Generate a new API key in the Guild Wars 2 account settings and use the format: Authorization: Bearer YOUR_API_KEY
Empty results for item IDs The numeric IDs passed to the ids parameter do not exist in the current game version
First call /v2/items to get a valid list of all item IDs before requesting specific ones
206 Partial Content Too many IDs were passed in a single request (limit is 200)
Split your ID list into chunks of 200 or fewer and make multiple requests, then combine results

Measured Score Breakdown

Live HTTP request to the API endpoint

Speed 6/30
Consistency 8/20
Security 18/20
Browser access 15/15
Transparency 15/15
Endpoint Response Time 491ms

Fully tested on Aug 10, 2026

Technical Specifications

Auth API Key
HTTPS REQUIRED
CORS UNKNOWN
Category Games & Comics
Difficulty Intermediate
Endpoint last called: 2026-08-10

Related Tags

Similar APIs

View All →