Summary
Returns the description of the network dataset used for the analysis and the run limits for a tool in the routing utility services registered with your portal or stand-alone ArcGIS Server site.
Discussion
The GetWebToolInfo function allows you to get the tool limits or information for the network data source used by your portal.
Syntax
GetWebToolInfo (service_name, tool_name, {portal_url})| Parameter | Explanation | Data Type | 
| service_name | The name of the service containing the web tool. Valid values are asyncClosestFacility, asyncLocationAllocation, asyncODCostMatrix, asyncRoute, asyncServiceArea, asyncVRP, and syncVRP. The values are case-sensitive. If the service_name value is not in the list of supported values, a ValueError occurs. | String | 
| tool_name | The name of the web tool. Valid values are EditVehicleRoutingProblem, FindClosestFacilities, FindRoutes, GenerateOriginDestinationCostMatrix, GenerateServiceAreas, SolveLocationAllocation, and SolveVehicleRoutingProblem. The values are case-sensitive. A ValueError occurs if the tool_name value is not in the list of supported values. | String | 
| portal_url | The URL of the portal containing the service or a dictionary specifying connection information for a routing service on a stand-alone ArcGIS Server site. If a value is not specified, the active portal URL will be used. (The default value is None) | String | 
| Data Type | Explanation | 
| Dictionary | The GetWebToolInfo object key-value pairs. 
 | 
Code sample
The following code sample shows how to get the maximum number of facilities supported by the Service Area utility service from your active portal.
# The following code sample shows how to get the maximum number of facilities supported by the Service Area utility
# service from your active portal.
import arcpy
# Get the active portal url
portal_url = arcpy.GetActivePortalURL()
print(f"Active portal: {portal_url}")
# Get the tool limits for the tool from the active portal
tool_info = arcpy.na.GetWebToolInfo("asyncServiceArea", "GenerateServiceAreas")
max_facilities = tool_info["serviceLimits"]["maximumFacilities"]
print(f"Maximum facilities: {max_facilities}")The following code sample shows how to print the traffic support type for all the cost attributes from your network data source. The portal URL is specified explicitly.
# The following code sample shows how to print the traffic support type for all
# the cost attributes from the arcgis.com routing service.
import arcpy
tool_info = arcpy.na.GetWebToolInfo(
    "asyncRoute", "FindRoutes", "https://www.arcgis.com/")
nd_info = tool_info["networkDataset"]
for attribute in nd_info["networkAttributes"]:
    if attribute["usageType"] == "Cost":
        print(f"{attribute['name']}: {attribute['trafficSupport']}")The following code sample shows how to call GetWebToolInfo for a routing service on a stand-alone ArcGIS Server site.
Learn more about how to specify a routing service info dictionary
tool_info = arcpy.na.GetWebToolInfo(
    "asyncODCostMatrix", "GenerateOriginDestinationCostMatrix",
    {
        "utilityUrl": f"https://mysite.mydomain.com/:6443/arcgis/rest/services/MyRouting/NetworkAnalysisUtilities/GPServer",
        "authenticationInfo": {
            "username": "my_username",
            "password": "my_password"
        }
    }
)