marketList

Search the marketplace, filtering by item, rarity, slot, type or class.

Every listing comes back with its rolled stats decoded, its gear score, what a merchant would pay for the same item, and a per-unit price so a stack compares against a single. `listingId` is what the buy, cancel, relist and transfer actions take. The game's rarity filter is loose — adjacent tiers and gem qualities leak through — so check `rarity` on each row rather than trusting the filter alone.

In Marketplace.

Request

POST /api/v1/sessions/{accountKey}/actions/marketList

Parameters

NameTypeRequiredDescription
itemId (item_id)stringnoRestrict to one item, by tag (`AdventurerBoots`) or full id.
raritystringnoRestrict to one rarity: `Poor`, `Common`, `Uncommon`, `Rare`, `Epic`, `Legendary`, `Unique`, `Artifact`.
slotstringnoRestrict to one equipment slot, e.g. `Head`, `Chest`, `Feet`.
typestringnoRestrict to one item type, e.g. `Weapon`, `Armor`, `Accessory`.
characterClass (class)stringnoRestrict to one class.
page (currentPage)integernoWhich page; 1-indexed. Defaults to 1.
sortTypeintegernoField to sort on.
sortMethodintegernoAscending or descending.
filterInfosobject[]noA raw filter array, when you build your own. Overrides every filter above.

Example request

{ "itemId": "AdventurerBoots", "rarity": "Legendary", "page": 1 }

Response

`{ listings, currentPage, maxPage, count }`.

FieldTypeMeaning
listings[].listingIdstringWhat `marketBuy`, `marketCancel` and the rest take. Exceeds 2^53, so it travels as a string.
listings[].priceintegerThe whole asking price, for the whole stack.
listings[].unitPriceintegerPrice divided by `count` — how a 6-stack compares against a single.
listings[].vendorPriceinteger|nullWhat a merchant pays per unit. Null when the item has no buy-back slot.
listings[].primaryobject[]The rolled stats: `{id, name, label, value}` each.
listings[].expiresInSecintegerSeconds until the listing lapses.
listings[].sellerstringThe seller's display name; empty when they are in streaming mode.
maxPageintegerHow many pages this search has.

Example response

{
  "listings": [
    {
      "listingId": "9007199254740993",
      "uid": "630211546215118861",
      "itemId": "DesignDataItem:Id_Item_AdventurerBoots_7001",
      "shortName": "AdventurerBoots",
      "label": "Adventurer Boots",
      "rarity": "Legendary",
      "type": "Armor",
      "slot": "Feet",
      "gearScore": 142,
      "tradable": true,
      "price": 24000,
      "unitPrice": 24000,
      "vendorPrice": 96,
      "vendorMerchant": "Weaponsmith",
      "count": 1,
      "contents": 0,
      "gold": false,
      "goldCapacity": 0,
      "remainMs": 512400000,
      "expiresInSec": 512400,
      "seller": "Eve",
      "width": 2,
      "height": 2,
      "iconKey": "AdventurerBoots",
      "iconUrl": "/icons/AdventurerBoots.png",
      "primary": [
        { "id": "DesignDataItemPropertyType:Id_ItemPropertyType_Effect_PhysicalDamageReduction",
          "name": "PhysicalDamageReduction", "label": "Physical Damage Reduction", "value": 6.1 }
      ],
      "secondary": [
        { "id": "DesignDataItemPropertyType:Id_ItemPropertyType_Effect_MoveSpeed",
          "name": "MoveSpeed", "label": "Move Speed", "value": 1.5 },
        { "id": "DesignDataItemPropertyType:Id_ItemPropertyType_Effect_MaxHealthBonus",
          "name": "MaxHealthBonus", "label": "Max Health Bonus", "value": 8 }
      ]
    }
  ],
  "currentPage": 1,
  "maxPage": 3,
  "count": 1
}

Errors

CodeWhen
action_failedNo character is in the lobby, or the search timed out.
plan_limitNot on the free plan.

See also

DarkerAPI is an independent project. It is not affiliated with, endorsed by or associated with IRONMACE Co., Ltd. or Valve Corporation. “Dark and Darker” and related marks belong to their respective owners.