# RuneScape 3 Grand Exchange API
> RuneScape 3 Grand Exchange item prices as an API, straight from Jagex's official market data. Look up any tradeable item by its id for the current Grand Exchange price, its 30, 90 and 180-day price trends, the day's movement, member status, type and icons. Pull a 180-day price-history graph (daily and trimmed-average series) to chart an item over time. Browse the full list of Grand Exchange categories, and list the items in a category by starting letter. Real live market data, no key needed upstream. Ideal for flipping and merchanting tools, price trackers and charts, wealth calculators and RuneScape fan apps.

## Authentication
All requests require your oanor API key in the `x-oanor-key` header. Get one at https://www.oanor.com/developer/keys.

```bash
curl -H "x-oanor-key: oanor_live_…" "https://api.oanor.com/rs3-api/..."
```

## Pricing
- **Free** (Free) — 10,800 calls/Mo, 2 req/s
- **Starter** ($4/Mo) — 143,000 calls/Mo, 8 req/s
- **Pro** ($17/Mo) — 725,000 calls/Mo, 25 req/s
- **Mega** ($61/Mo) — 3,420,000 calls/Mo, 50 req/s

## Endpoints

### Grand Exchange

#### `GET /v1/categories` — All Grand Exchange categories

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/rs3-api/v1/categories"
```

**Response:**
```json
{
    "data": {
        "count": 44,
        "categories": [
            {
                "id": 0,
                "name": "Miscellaneous"
            },
            {
                "id": 1,
                "name": "Ammo"
            },
            {
                "id": 2,
                "name": "Arrows"
            },
            {
                "id": 3,
                "name": "Bolts"
            },
            {
                "id": 4,
                "name": "Construction materials"
            },
            {
                "id": 5,
                "name": "Construction projects"
            },
            {
                "id": 6,
                "name": "Cooking ingredients"
            },
            {
                "id": 7,
                "name": "Costumes"
            },
            {
                "id": 8,
                "name": "Crafting materials"
            },
            {
                "id": 9,
                "name": "Familiars"
            },
            {
                "id": 10,
                "name": "Farming produce"
            },
            {
                "id": 11,
                "name": "Fletching materials"
            },
            {
                "id": 12,
                "name": "Food and drink"
            },
            {
                "id": 13,
                "name": "Herblore materials"
            },
            {
                "id": 14,
                "name": "Hunting equipment"
            },
           
…(truncated, see openapi.json for full schema)
```

#### `GET /v1/graph` — 180-day price history

**Parameters:**
- `id` (query, required, string) — Item id, e.g. 4151 Example: `4151`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/rs3-api/v1/graph?id=4151"
```

**Response:**
```json
{
    "data": {
        "count": 180,
        "daily": [
            {
                "date": "2025-12-10",
                "price": 78226,
                "timestamp": 1765324800000
            },
            {
                "date": "2025-12-11",
                "price": 78226,
                "timestamp": 1765411200000
            },
            {
                "date": "2025-12-12",
                "price": 78226,
                "timestamp": 1765497600000
            },
            {
                "date": "2025-12-13",
                "price": 78226,
                "timestamp": 1765584000000
            },
            {
                "date": "2025-12-14",
                "price": 78226,
                "timestamp": 1765670400000
            },
            {
                "date": "2025-12-15",
                "price": 78587,
                "timestamp": 1765756800000
            },
            {
                "date": "2025-12-16",
                "price": 78587,
                "timestamp": 1765843200000
            },
            {
                "date": "2025-12-17",
                "price": 78587,
                "timestamp": 1765929600000
            },
            {
                "date": "2025-12-18",
                "price": 78587,
                "timestamp": 1766016000000
            },
            {
                "date": "2025-12-19",
                "price": 78674,
                "timestamp": 1766102400000
            },
            {
         
…(truncated, see openapi.json for full schema)
```

#### `GET /v1/item` — Item detail & current price

**Parameters:**
- `id` (query, required, string) — Item id, e.g. 4151 (Abyssal whip) Example: `4151`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/rs3-api/v1/item?id=4151"
```

**Response:**
```json
{
    "data": {
        "item": {
            "id": 4151,
            "icon": "https://secure.runescape.com/m=itemdb_rs/1780309940895_obj_sprite.gif?id=4151",
            "name": "Abyssal whip",
            "type": "Melee weapons - high level",
            "day30": {
                "trend": "negative",
                "change": "-1.0%"
            },
            "day90": {
                "trend": "positive",
                "change": "+10.0%"
            },
            "day180": {
                "trend": "positive",
                "change": "+8.0%"
            },
            "members": true,
            "icon_large": "https://secure.runescape.com/m=itemdb_rs/1780309940895_obj_big.gif?id=4151",
            "description": "A weapon from the Abyss.",
            "today_trend": "neutral",
            "today_change": 0,
            "current_price": 85100,
            "current_trend": "neutral"
        }
    },
    "meta": {
        "timestamp": "2026-06-08T01:18:27.787Z",
        "request_id": "b2fc4972-14f9-4543-aceb-b4d9ea38fd28"
    },
    "status": "ok",
    "message": "Item retrieved successfully",
    "success": true
}
```

#### `GET /v1/items` — Items by category & starting letter

**Parameters:**
- `category` (query, required, string) — Category id (0-43) or name Example: `24`
- `alpha` (query, optional, string) — Starting letter, e.g. a Example: `a`
- `page` (query, optional, string) — Page number Example: `1`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/rs3-api/v1/items?category=24&alpha=a&page=1"
```

**Response:**
```json
{
    "data": {
        "page": 1,
        "alpha": "a",
        "count": 11,
        "items": [
            {
                "id": 52938,
                "icon": "https://secure.runescape.com/m=itemdb_rs/1780309940895_obj_sprite.gif?id=52938",
                "name": "Abyssal armour spikes",
                "type": "Melee weapons - high level",
                "members": true,
                "icon_large": "https://secure.runescape.com/m=itemdb_rs/1780309940895_obj_big.gif?id=52938",
                "description": "When carried in the backpack or ammo slot and wearing melee equipment, these spikes deal damage to enemies who attack you from adjacent tiles.",
                "today_trend": "neutral",
                "today_change": 0,
                "current_price": 240,
                "current_trend": "neutral"
            },
            {
                "id": 52939,
                "icon": "https://secure.runescape.com/m=itemdb_rs/1780309940895_obj_sprite.gif?id=52939",
                "name": "Abyssal armour spikes (alloy)",
                "type": "Melee weapons - high level",
                "members": true,
                "icon_large": "https://secure.runescape.com/m=itemdb_rs/1780309940895_obj_big.gif?id=52939",
                "description": "When carried in the backpack or ammo slot and wearing melee equipment, these spikes deal damage to enemies who attack you from adjacent tiles or using a melee attack.",
                "today_trend": "neutral",
              
…(truncated, see openapi.json for full schema)
```

### Meta

#### `GET /v1/meta` — Service description & endpoints

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/rs3-api/v1/meta"
```

**Response:**
```json
{
    "data": {
        "service": "rs3-api",
        "endpoints": {
            "GET /v1/item": "Item detail & current price (id=, e.g. 4151).",
            "GET /v1/meta": "This document.",
            "GET /v1/graph": "180-day price history (id=).",
            "GET /v1/items": "Items by category & letter (category=, alpha=, page=).",
            "GET /v1/categories": "All Grand Exchange categories."
        },
        "description": "RuneScape 3 Grand Exchange item prices via Jagex's public API: item detail with the current price, 30/90/180-day trends and member status; a 180-day price-history graph; the Grand Exchange categories; and item listings by category and starting letter. Real market data, no key."
    },
    "meta": {
        "timestamp": "2026-06-08T01:18:28.396Z",
        "request_id": "841fe765-987e-440f-a0d3-cff3fc6189d8"
    },
    "status": "ok",
    "message": "Meta",
    "success": true
}
```


---
Marketplace page: https://www.oanor.com/api/rs3-api
OpenAPI spec: https://www.oanor.com/api/rs3-api/openapi.json
