Returns a list of parameter objects for a given tool and is commonly used in a script tool's ToolValidator class.


GetParameterInfo (tool_name)
ParameterExplanationData Type

The tool name. Including the toolbox alias will help to resolve any conflicts with duplicate tool names.


When the GetParameterInfo function is used as part of a script tool's ToolValidator class, the tool_name argument is optional.

Return Value
Data TypeExplanation

Returns a list of parameter objects.

Code sample

GetParameterInfo example 1

Display some parameter object properties for the specified tool.

import arcpy

# Load tool parameter objects into list.
params = arcpy.GetParameterInfo("HotSpots")

for param in params:
    print("Name: {}, Type: {}, Value: {}".format(, param.parameterType, param.value))
GetParameterInfo example 2

Setting symbology for a script tool's output dataset.

import os
import arcpy

# Set data variables for Clip tool.
in_features = arcpy.GetParameterAsText(0)
clip_features = arcpy.GetParameterAsText(1)
out_feature_class = arcpy.GetParameterAsText(2)

# Execute Clip tool
output = arcpy.Clip_analysis(in_features, clip_features,

# Get parameter objects
params = arcpy.GetParameterInfo()

# Use describe on result object and get shape type.
desc = arcpy.Describe(output)

# Set symbology property for out_feature_class parameter
# Layer files are located in same folder as the .py file
lyr_location = os.path.dirname(__file__)

if desc.shapeType == "Polygon":
    params[2].symbology = os.path.join(lyr_location, "Polygon.lyr")
elif desc.shapeType == "Polyline":
    params[2].symbology = os.path.join(lyr_location, "Polyline.lyr")
    params[2].symbology = os.path.join(lyr_location, "Point.lyr")

Related topics