--- title: "system.opc.readValues" description: "This function is equivalent to the system.opc.readValue function, except that it can operate in bulk." --- # system.opc.readValues > This function is equivalent to the system.opc.readValue function, except that it can operate in bulk. This function is used in **Python Scripting**. ## Description This function is equivalent to the [system.opc.readValue](system-opc-readValue.md) function, except that it can operate in bulk. You can specify a list of multiple addresses to read from, and you will receive a list of the same length, where each entry is the qualified value object for the corresponding address. ## Client Permission Restrictions This scripting function has no [Client Permission](projects\project-properties\project-properties.md#client---permissions) restrictions. ## Syntax `system.opc.readValues(opcServer, itemPaths)` ### Parameters |Type|Parameter|Description| |--|--|--| |String| `opcServer` | The name of the OPC server connection in which the items reside.| |String[] |`itemPaths` | A list of strings, each representing an item path, or address to read from.| ### Returns **QualifiedValue[]** - A sequence of objects, one for each address specified, in order. Each object will contains the value, quality, and timestamp returned from the OPC server for the corresponding address. ### Scope All