General considerations for using web tools

Large dataset upload and download

There is a file size limitation for uploading data when sharing a web tool and downloading output data when running the web tool. The limitation depends on the heap size of the federated server that hosts the web tool. The default server heap size is 64 MB; however, the size can be modified by the server administrator if needed. Check with your server administrator to increase the heap size in the following instances:

  • Uploading raster data larger than 64 MB
  • Uploading feature data close to or larger than 64 MB
  • Downloading feature data close to or larger than 64 MB

For detailed explanations about the relationship of heap size and large upload and download datasets, see the Heap size section of Web tool properties advanced settings.

When downloading large feature data, the maximum number of records returned by the server should also be considered. The default record size is 1000. If the number of records returned will be more than 1000, you can do the following:

  • Reset the maximum record count from the web tool settings when sharing as a web tool.
  • If you do not reset during the sharing process, the data is not downloaded, and web tool execution results in the geoprocessing history containing the message data exceeds transfer limit. You must sign in to the federated server manager and reset the maximum number of records for the geoprocessing service that hosts the web tool.
  • Use web tools with an output feature service to avoid downloading large amounts of output data.

Upload large datasets from a web application

Web applications use the Representational State Transfer (REST) Uploads operation to upload files. This capability is set by the Uploads capability on the geoprocessing service property page. The default maximum upload size is 2 GB. You can modify the maximum upload size to less than 2 GB by following the steps described in the Upload size section of Web tool properties advanced settings. You cannot modify the maximum upload size to a size greater than 2 GB.

If the input data is a .txt, .zip, or .jpg file, you can use the uploads resource operation to upload these file types. The setup of an upload file type is described in the Upload types section of Web tool properties advanced settings.

Input as a feature or image service

You can provide an input from a feature service for feature and image service for raster data type by typing the service URL, selecting a service layer from table of content , or choosing a service from the Portal pane in ArcGIS Pro .

Output as a feature service

When consuming a web tool, the output can be generated as an output feature class or table or as an output feature service using the Output feature service name parameter. This option can expedite the consumption process when the size of the output feature is large. It also makes your data permanently available from various clients such as web clients, desktop apps, and field apps. You can read more information about saving output as a feature service in Use web tools with an output feature service

Use custom geographic transformation

There are occasions when you may want to use a custom geographic transformation file (.gtf) for the web tool you share. If this is the case, ensure that the .gtf file is on the federated server that hosts the web tool. For more information about creating a .gtf file and saving it to the server, see Use geoprocessing services with custom geographic transformation. The .gtf file path saved in ArcGIS Pro is similar to that in ArcGIS Desktop. All you need to do is replace the Desktop10.x portion of the .gtf path with ArcGISPro.

Use environments

When consuming a web tool from ArcGIS Pro, you can use the tool's Environments tab to set environment settings for the tool's execution. Some environments, such as Output Coordinate System and Mask, accept a typed in feature service or map service URL in addition to choosing from the drop-down list. Some environments, such as Snap Raster and Cell Size, accept a typed in image service URL in addition to choosing from the drop-down list. Environment settings specified in the Analysis tab, which are used in local geoprocessing in ArcGIS Pro, will not be processed when the web tool is consumed. Below is the list of supported environments.

  • Output Coordinates—Output Coordinate System, Geographic Transformations
  • Processing Extent—Extent
  • Parallel Processing—Parallel Processing Factor
  • Raster Analysis—Cell Size, Cell Size Projection Method, Mask, Snap Raster
  • Geodatabase—Auto Commit
  • M Values—Output has M Values
  • Z Values—Default Output Z Value, Output has Z Values
  • Random Numbers—Random Number Generator Seed, Generator
  • Raster Storage—NoData
  • Processor Type—Processor Type, GPU ID

Parameter filters

When authoring a tool, you can set a filter on the Parameters tab on the Tool Properties dialog box. Starting at ArcGIS Server 10.7, when you publish a tool with filters, the filter information is also published. Only filters for supported input data types are supported, other than Date filters.


In the tool below, a Range Filter has been set for a Double parameter with a Minimum value of 213 and a Maximum value of 123132.123.

Updating a tool's range filter

When the tool has been published and used as a web tool in ArcGIS Pro, an input value outside of the filter range prompts an error indicating the value is out of range.

The use of a range filter prevents values from being used outside of your defined range

Python environment used by web tools

Similar to ArcGIS Pro, ArcGIS Enterprise uses Python environments in ArcGIS Server.

By default, your web tools published from ArcGIS Pro use the default Python environment, which is in the ArcGIS Server install directory on your server machine. If your ArcGIS Server is in the default installation location, your Python environment is at C:\Program Files\ArcGIS\Server\framework\runtime\ArcGIS\bin\Python\envs\arcgispro-py3.

If you are using a customized Python environment with third-party Python packages when you author your analysis, those Python packages are not automatically uploaded to the ArcGIS Server during the publishing process. To upload your packages, see Deploying custom Python packages for ArcGIS Server. Otherwise, your web tools will fail with Python errors.