# Server Exports · Read & Search

## Inventory data

```lua
local inv = exports.nord_inventory:GetInventory(source)
```

Public inventory data includes:

```lua
{
 id = 'player:...',
 key = 'player:...',
 label = 'Inventory',
 type = 'player',
 slots = 40,
 weight = 12500,
 maxWeight = 80000,
 owner = false,
 owned = false,
 items = {
 [1] = { ... },
 [2] = { ... }
 }
}
```

## Read helpers

```lua
exports.nord_inventory:GetInventories(type?, detailed?)
exports.nord_inventory:GetInventoryItems(target, owner?)
exports.nord_inventory:GetSlot(target, slot)
exports.nord_inventory:GetEmptySlot(target)
exports.nord_inventory:GetSlotForItem(target, itemName, metadata?)
```

## Item lookup helpers

```lua
exports.nord_inventory:GetSlotWithItem(target, itemName, metadata?, strict?)
exports.nord_inventory:GetSlotsWithItem(target, itemName, metadata?, strict?)
exports.nord_inventory:GetSlotIdWithItem(target, itemName, metadata?, strict?)
exports.nord_inventory:GetSlotIdsWithItem(target, itemName, metadata?, strict?)
exports.nord_inventory:GetItemCount(target, itemName, metadata?, strict?)
exports.nord_inventory:GetItemSlots(target, itemName, metadata?)
exports.nord_inventory:GetItem(target, itemName, metadata?, returnsCount?)
```

## Search

```lua
local count = exports.nord_inventory:Search(source, 'count', 'water')
local slots = exports.nord_inventory:Search(source, 'slots', 'water')
```

Alias:

```lua
exports.nord_inventory:SearchInventory(...)
```

Multiple item names can be passed as a table. The result then becomes a table keyed by item name.
