NAV
shell go

Introduction

Welcome to the poe.watch API! You can use my API to access poe.watch API endpoints.

I have language bindings for Python and Go! You can view code examples in the dark area to the right, and you can switch the programming language of the examples with the tabs in the top right.

Get

The get endpoint always needs a valid category. More about valid categories in the category section.

Get all armours

    curl https://api.poe.watch/get?category=armour&league=Heist
import poe "github.com/mxrk/poewatch"

items := poe.GetItems("Heist", "armour")
fmt.Println(items)

The above command returns JSON structured like this:

[
   {
      "id":6,
      "name":"Wreath of Phrecia",
      "category":"armour",
      "group":"helmets",
      "frame":3,
      "influences":null,
      "linkCount":0,
      "icon":"https://web.poecdn.com/image/Art/2DItems/Armours/Helmets/Wreath_of_Phrecia.png?v=0557bfae422aebfaa3ac32bee72fe98e\u0026w=2\u0026h=2\u0026scale=1",
      "mean":13.2,
      "mode":0,
      "min":1.6,
      "max":13.2,
      "exalted":0.16,
      "total":0,
      "daily":169,
      "current":0,
      "accepted":0,
      "change":214,
      "history":[
         2.78,
         1.95,
         3.75,
         3.5,
         4.85,
         4.42,
         8.2
      ],
      "lowConfidence":false,
      "perfectPrice":10.28,
      "perfectAmount":0,
      "implicits":null,
      "explicits":[
         "Has no Attribute Requirements",
         "Increases and Reductions to Light Radius also apply to Area of Effect at 50% of their value",
         "Increases and Reductions to Light Radius also apply to Damage",
         "(15-25)% increased Light Radius",
         "Deal no Chaos Damage"
      ]
   }
]

HTTP Request

GET https://api.poe.watch/get?category=armour&league=Heist

Query Parameters

Parameter Type Description
category string set to the wanted category
league string set the wanted league

Get all weapons

    curl https://api.poe.watch/get?category=waepon&league=Heist
import poe "github.com/mxrk/poewatch"

items := poe.GetItems("Heist", "weapons")
fmt.Println(items)

The above command returns JSON structured like this:

[
   {
      "id":3,
      "name":"Uul-Netol's Kiss",
      "category":"weapons",
      "group":"twohandaxes",
      "frame":3,
      "influences":null,
      "linkCount":0,
      "icon":"https://web.poecdn.com/image/Art/2DItems/Weapons/TwoHandWeapons/TwoHandAxes/UulNetolsKiss.png?v=6f20a967d688173e5ec5d56008332bdb\u0026w=2\u0026h=4\u0026scale=1",
      "mean":2.18,
      "mode":0,
      "min":1.82,
      "max":2.77,
      "exalted":0.03,
      "total":0,
      "daily":367,
      "current":0,
      "accepted":0,
      "change":-41,
      "history":[
         3.11,
         4.83,
         4.35,
         3.01,
         4.08,
         3.38,
         3.21
      ],
      "lowConfidence":false,
      "perfectPrice":0,
      "perfectAmount":0,
      "implicits":null,
      "explicits":[
         "(140-170)% increased Physical Damage",
         "15% reduced Attack Speed",
         "25% chance to Curse Enemies with Level 10 Vulnerability on Hit",
         "Attacks have 25% chance to inflict Bleeding when Hitting Cursed Enemies"
      ]
   }
]

HTTP Request

GET https://api.poe.watch/get?category=weapon&league=Heist

Query Parameters

Parameter Type Description
category string set to the wanted category
league string set the wanted league

Get all x

It's exactly like the endpoints above, just use a valid category from the categories endpoint.

Filters

You can use specific filters to get filtered results on all get categories. Currently the following filters are available: "gemLevel", "gemCorrupted", "lowConfidence", "itemLevel", "linkCount"

    curl https://api.poe.watch/get?categories=weapon&league=Heist&lowConfidence=true

Categories

This endpoint is used to get all valid categories you can use for the other endpoints.

    curl https://api.poe.watch/categories
import poe "github.com/mxrk/poewatch"

categories := poe.GetCategories()
fmt.Println(categories)

The above command returns JSON structured like this:

[{"id":1,"name":"accessory","display":"Accessories","groups":[]},{"id":2,"name":"armour","display":"Armour","groups":[]}]

HTTP Request

GET https://api.poe.watch/categories

Leagues

This endpoint is used to get all valid leagues you can use for the other endpoints.

    curl https://api.poe.watch/leagues
import poe "github.com/mxrk/poewatch"

leagues := poe.GetLeagues()
fmt.Println(leagues)

The above command returns JSON structured like this:

[{"name":"Standard","start_date":"2013-01-23T21:00:00+01:00","end_date":"0001-01-01T00:00:00Z"},{"name":"Hardcore","start_date":"2013-01-23T22:00:00+01:00","end_date":"0001-01-01T00:00:00Z"}]

HTTP Request

GET https://api.poe.watch/leagues

History

This endpoint is used to get history data for items in a certain league.

    curl https://api.poe.watch/history?id=48&league=Heist
import poe "github.com/mxrk/poewatch"

history := poe.GetItemHistory(48, "Heist")
fmt.Println(history)

The above command returns JSON structured like this:

[{"mean":8.87,"date":"2020-09-18T22:01:23.89+02:00","id":0},{"mean":2.31,"date":"2020-09-19T22:59:09.749+02:00","id":0},{"mean":2.22,"date":"2020-09-20T23:09:27.687+02:00","id":0},{"mean":2.17,"date":"2020-09-21T23:59:33.591+02:00","id":0}]

HTTP Request

GET https://api.poe.watch/history?id=48&league=Heist

Query Parameters

Parameter Type Description
id int wanted item id
league string set the wanted league

Enchant

This endpoint is used to get enchat data for a specific item in a certain league.

    curl https://api.poe.watch/enchants?id=79&league=Heist

The above command returns JSON structured like this:

[
  {
    "name": "Penance Brand has 24% increased Area of Effect",
    "value": 34.38,
    "lowConfidence": true
  },
  {
    "name": "Sunder has 40% increased Damage",
    "value": 2.29,
    "lowConfidence": true
  }
]

HTTP Request

GET https://api.poe.watch/enchants?id=79&league=Heist

Query Parameters

Parameter Type Description
id int wanted item id
league string set the wanted league

Corruptions

You can query for a list of corruption prices for a specific ID.

HTTP Request

GET https://api.poe.watch/corruptions?id=155&league=Ritual

Query Parameters

Parameter Type Description
id int wanted item id
league string set the wanted league
    curl https://api.poe.watch/corruptions?id=155&league=Ritual

The above command returns JSON structured like this:

[

    {
        "name": "#% increased Area of Effect",
        "mean": 8511.44
    },
    {
        "name": "#% increased Attack Speed during any Flask Effect",
        "mean": 9892.36
    },
  ...
]

Compact

Returns a compact data from all "get?" endpoints combined.

    curl https://api.poe.watch/compact?league=Heist

The above command returns JSON structured like this:

{
  "items": [
    {
      "id": 48,
      "name": "Devouring Totem",
      "category": "",
      "group": "",
      "frame": 4,
      "influences": null,
      "icon": "https://web.poecdn.com/image/Art/2DItems/Gems/DevouringTotem.png?v=f056a6f62ebac73b19eb9baa93ffef16&w=1&h=1&scale=1",
      "mean": 10.14,
      "mode": 0,
      "min": 10.14,
      "max": 10.14,
      "exalted": 0.14,
      "total": 0,
      "daily": 156,
      "current": 0,
      "accepted": 0,
      "change": 119,
      "history": [
        4.14,
        3.45,
        3.66,
        3.97,
        3.98,
        3.62,
        2.7
      ],
      "lowConfidence": false,
      "implicits": null,
      "explicits": null,
      "gemLevel": 21,
      "gemQuality": 23,
      "gemIsCorrupted": true,
      "essenceTier": 0,
      "watchstonesUses": 0,
      "linkCount": 0,
      "mapSeries": 0,
      "mapTier": 0
    }
  ]
}

HTTP Request

GET https://api.poe.watch/compact?league=Heist

Query Parameters

Parameter Type Description
league string set the wanted league

Stash

This endpoint returns the latest stash ID and the computed stashes in the current iteration (not really useful for other people.)

    curl https://api.poe.watch/status

The above command returns JSON structured like this:

{
  "changeID": "863692164-876193549-838143009-945188005-904612949",
  "requestedStashes": 31739,
  "computedStashes": 31736
}

HTTP Request

GET https://api.poe.watch/status

Errors

The poe.watch API uses the following error codes:

Error Code Meaning
400 Bad Request -- Your request is invalid.
403 Forbidden -- Seems like you aren't allowed here.
404 Not Found -- The specified id could not be found.
405 Method Not Allowed -- You tried to access the API with an invalid method.
406 Not Acceptable -- You requested a format that isn't json.
500 Internal Server Error -- We had a problem with our server. Try again later.
503 Service Unavailable -- We're temporarily offline for maintenance. Please try again later.