id = "apify-cli"
name = "Apify CLI"
homepage = "https://github.com/apify/apify-cli"
description = "Apify CLI is the command-line tool for creating, developing, and deploying Apify Actors, and for managing the Apify cloud platform from your terminal."
executables = ["apify", "apify-cli"]
[dotfiles]
paths = []
secret = ["~/.apify/"]
[commands]
format = 1
label = "Apify CLI"
description = "Run an Actor on the Apify cloud or locally. Building, pushing, storages and tasks are left out."
quality = "ai-draft"
parser = { end_of_options = "--", interleave = "permute", long_equals = true, short_attached = false, short_bundles = false }
[[commands.subcommand]]
path = ["call"]
label = "Run an Actor remotely"
[[commands.subcommand.source]]
id = "ref"
kind = "manual"
url = "https://docs.apify.com/cli/docs/reference"
revision = "2026-10"
evidence = """
apify actors call / apify call
$ apify actors call [actorId] [-b <value>]
[-i <value> | -f <value>] [--json] [-m <value>]
[-o] [-s] [-t <value>]
actorId Name or ID of the Actor to run (e.g. "my-actor",
"apify/hello-world" or "E2jjCZBezvAZnX8Rb").
-b, --build=<value> Tag or number of the build to
run (e.g. "latest" or "1.2.34").
-i, --input=<value> Optional inline JSON object
-f, --input-file=<value> Optional path to a file with
JSON input to be given to the Actor.
--json Format the command output as JSON.
-m, --memory=<value> Amount of memory allocated for
the Actor run, in megabytes.
-o, --output-dataset Prints out the entire default
dataset on successful run of the Actor.
-s, --silent Prevents printing the logs of
the Actor run to the console.
-t, --timeout=<value> Timeout for the Actor run in
seconds. Zero value means there is no timeout.
"""
[[commands.subcommand.field]]
id = "actor_id"
label = "Actor"
description = "Name or ID, e.g. apify/hello-world. Leave empty to use .actor/actor.json."
type = "string"
position = 0
sources = ["ref"]
[[commands.subcommand.field]]
id = "build"
label = "Build tag or number"
type = "string"
option = ["--build", "-b"]
suggestions = [{ value = "latest", label = "latest" }]
sources = ["ref"]
[[commands.subcommand.field]]
id = "input"
label = "Inline JSON input"
type = "string"
option = ["--input", "-i"]
sources = ["ref"]
[[commands.subcommand.field]]
id = "input_file"
label = "Input JSON file"
type = "path"
option = ["--input-file", "-f"]
path = { kind = "file", role = "input" }
sources = ["ref"]
[[commands.subcommand.field]]
id = "memory"
label = "Memory (MB)"
type = "integer"
option = ["--memory", "-m"]
sources = ["ref"]
[[commands.subcommand.field]]
id = "timeout"
label = "Timeout (seconds)"
description = "Zero means no timeout."
type = "integer"
option = ["--timeout", "-t"]
sources = ["ref"]
[[commands.subcommand.field]]
id = "output_dataset"
label = "Print the dataset"
type = "boolean"
option = ["--output-dataset", "-o"]
sources = ["ref"]
[[commands.subcommand.field]]
id = "silent"
label = "Silent"
type = "boolean"
option = ["--silent", "-s"]
sources = ["ref"]
[[commands.subcommand.field]]
id = "json"
label = "JSON output"
type = "boolean"
option = ["--json"]
sources = ["ref"]
[[commands.subcommand.task]]
id = "call"
label = "Call an Actor and print results"
fields = ["actor_id", "output_dataset"]
required = ["actor_id"]
set = { output_dataset = [true] }
[[commands.subcommand.group]]
id = "basic"
label = "Basic"
fields = ["actor_id", "input", "input_file", "output_dataset"]
[[commands.subcommand.group]]
id = "advanced"
label = "Advanced"
fields = ["build", "memory", "timeout", "silent", "json"]
[[commands.subcommand]]
path = ["run"]
label = "Run the Actor locally"
[[commands.subcommand.source]]
id = "ref"
kind = "manual"
url = "https://docs.apify.com/cli/docs/reference"
revision = "2026-10"
evidence = """
apify run
Executes Actor locally with simulated Apify environment variables.
$ apify run [--allow-missing-secrets] [--entrypoint <value>]
[-i <value> | --input-file <value>] [-p | --resurrect]
--allow-missing-secrets Allow the command to
continue even when secret values are not found in the
local secrets storage.
--entrypoint=<value> Optional entrypoint for
running with injected environment variables.
"""
[[commands.subcommand.field]]
id = "allow_missing_secrets"
label = "Allow missing secrets"
type = "boolean"
option = ["--allow-missing-secrets"]
sources = ["ref"]
[[commands.subcommand.field]]
id = "entrypoint"
label = "Entrypoint"
description = "Python module name or file; Node.js npm script name or JS file."
type = "string"
option = ["--entrypoint"]
sources = ["ref"]
[[commands.subcommand.task]]
id = "run"
label = "Run locally"
fields = ["allow_missing_secrets", "entrypoint"]
required = []
[[commands.subcommand.group]]
id = "basic"
label = "Basic"
fields = ["allow_missing_secrets", "entrypoint"]