--- title: "system.opc.browse" description: "Allows browsing of the OPC servers in the runtime, returning a list of tags." --- # system.opc.browse > Allows browsing of the OPC servers in the runtime, returning a list of tags. This function is used in **Python Scripting**. ## Description :::caution This function performs a fully recursive browse that can't be terminated, which can be especially problematic in larger systems. It is highly advised to use [system.opc.browseServer](system-opc-browseServer.md) instead since recursion with that function is driven by subsequent calls. ::: ## Client Permission Restrictions This scripting function has no [Client Permission](../../../ignition-modules/vision/vision-project-properties/vision-project-properties.md#vision-permissions-properties) restrictions. ## Syntax :::tip This function accepts [keyword arguments](platform/scripting/python-scripting/user-defined-functions.md#keyword-arguments). :::. `system.opc.browse(opcServer, device, folderPath, opcItemPath)` ### Parameters Type | Parameter | Description ------- | ------- | ------ String| `opcServer` | The name of the OPC server to browse String| `device` | The name of the device to browse String| `folderPath` | Filters on a folder path. Use * as a wildcard for any number of characters and a ? for a single character. String| `opcItemPath` | Filters on a OPC item path. Use * as a wildcard for any number of characters and a ? for a single character. ### Returns **List[OPCBrowseTag]** - An array of [OPCBrowseTag](https://sdk.inductiveautomation.com/javadoc/ignition81/latest/com/inductiveautomation/ignition/common/script/builtin/ialabs/OPCBrowseTag.html) objects. OPCBrowseTag has the following functions: getOpcServer(), getOpcItemPath(), getType(), getDisplayName(), getDisplayPath(), getDataType(). ### Scope Gateway, Vision Client, Perspective Session ## Code Examples ```python title="Example #1" # Browse every OPC server tags = system.opc.browse() for row in tags: print row.getOpcServer(), row.getOpcItemPath(), row.getType(), print row.getDisplayName(), row.getDisplayPath(), row.getDataType() ``` ```python title="Example #2" # Browse Ignition OPC UA server tags = system.opc.browse(opcServer="Ignition OPC UA Server") ``` ```python title="Example #3" # Browse Specific Device server = "Ignition OPC UA Server" tags = system.opc.browse(opcServer=server, device="Dairy Demo Simulator") ``` ```python title="Example #4" # Browse Specific Folder Path (not OPC item path) server = "Ignition OPC UA Server" tags = system.opc.browse(opcServer=server, folderPath="*Overview/AU 1*") ```