Official agent skill

Apify CLI

by apify in apify/apify-cli

Patterns for invoking the Apify CLI (apify) from agents. An agent skill from apify/apify-cli.

OfficialApache-2.0Auto-check passedData & Analytics

Install Apify CLI

skills CLI
$ npx skills add apify/apify-cli --skill apify-cli -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install apify/apify-cli apify-cli --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/apify/apify-cli.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/apify .claude/skills/apify-cli && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
apify-cli
GitHub stars
255
Token cost
~1.5k tokens
SKILL.md length
591 words
Files
1
Skills in repo
1
Repo updated
First seen
Licence
Apache-2.0

At a glance

Patterns for invoking the Apify CLI (apify) from agents. An agent skill from apify/apify-cli.

  • Tasks that involve Web scraping
  • SKILL.md covers Start here, Non-interactive use, Auth and Structured output, plus 3 more sections
  • Reaches raw.githubusercontent.com; needs APIFY_TOKEN

What it does

Apify CLI is an agent skill from apify/apify-cli, published by the product's own GitHub organization. Patterns for invoking the Apify CLI (apify) from agents. Covers authentication, creating/running/pushing Actors, calling Actors in the cloud, and reading results from datasets and key-value stores.

Its SKILL.md is about 1.5k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Data & Analytics, covering Web scraping. It works with Apify and Puppeteer. The repository describes itself as: Apify command-line interface helps you create, develop, build and run Apify Actors, and manage the Apify cloud platform. The licence is Apache-2.0.

When your agent uses it

  • Tasks that involve Web scraping

Example prompts

  • “Use the apify-cli skill to pattern for invoking the Apify CLI (apify) from agents. An agent skill from apify/apify-cli”
  • “/apify-cli”

Requirements

  • A credential in APIFY_TOKEN

What it can do on your machine

Read from SKILL.md and the folder at commit e79c9df. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are bash).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • raw.githubusercontent.com

    Also links to:

    • apify.com
    • console.apify.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • APIFY_TOKEN

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Apify CLI loads about 1.5k tokens when it runs. Until then it costs about 52 tokens; SKILL.md has 591 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~52
When it runs · the whole SKILL.md, loaded when a task matches
~1.5k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from apify/apify-cli at commit e79c9df, republished under its Apache-2.0 licence (© apify). 591 words, ~1,530 tokens.

Download SKILL.mdSave it as .claude/skills/apify-cli/SKILL.md (or your agent's skills folder).
name
apify-cli
description
Patterns for invoking the Apify CLI (`apify`) from agents. Covers authentication, creating/running/pushing Actors, calling Actors in the cloud, and reading results from datasets and key-value stores.

Start here

Run apify -h first to see the available commands and global options, then apify <command> -h (e.g. apify call -h) for the args and flags of a specific command. This is the source of truth — prefer it over assumptions.

Non-interactive use

Many commands prompt when run interactively. To run without prompts, pass every required argument and flag explicitly:

  • apify create <name> --template <template> — skip the create wizard.
  • apify init <name> — skip the init prompt.
  • -y / --yes on destructive commands (apify actors rm, etc.) — auto-confirm.
  • apify login --token <token> — log in without the interactive token prompt.

If a command's help shows an "interactive note", it lists exactly which flags make it non-interactive.

Auth

See https://apify.com/auth.md for how to authenticate. Do not assume APIFY_TOKEN is already set in the environment and use it implicitly — confirm with the user first.

APIFY_TOKEN wins over a stored login, for every command. When it is set, apify login refuses to run unless --token passes the same token — unset APIFY_TOKEN first, or skip the login.

  • Persist a session explicitly: apify login --token <token>. Exits non-zero on a rejected token, so apify login --token <t> && apify push is safe to chain.
  • Verify auth: apify info (prints the username, user ID, and which source the token came from; non-zero exit / error if not authenticated).
  • Print the token in use: apify auth token (the APIFY_TOKEN one when set, otherwise the stored login's).

Structured output

  • --json is supported on most list/info commands (apify actors ls --json, apify actors info <id> --json, apify datasets info <id> --json, apify runs ls --json, etc.). Use it and parse with jq; don't scrape the human table.
  • apify create <name> --template <template> --json prints { dir, actorJsonPath, template, source, nextSteps, postCreate, gitRepositoryInitialized } on stdout. Everything else goes to stderr, so stdout is safe to pipe into jq. postCreate is non-null when the template needs extra setup before apify run works.
  • List commands paginate — control with --limit / --offset (and --desc).
  • Dataset items: apify datasets get-items <datasetId> --format json. Use --limit / --offset.
Show full SKILL.md (256 more words)Show less

Core workflows

Discover Actors in the Apify Store

Before assuming an Actor name or scripting a raw Store query, search for an existing Actor:

sh
apify actors search "jobs scraper" --json                 # no auth required
apify actors search "ai" --pricing-model FREE --sort-by popularity --limit 5

Run apify actors search -h to see the available filters (pricing model, category, username, sort order, pagination) and their accepted values.

Pricing matters, but weigh it alongside popularity, rating, and how well-maintained the Actor is — don't pick a FREE Actor over a well-supported, popular, highly-rated one just because it's free. Check an Actor's pricing before running it with apify actors info <actor> --json (look at currentPricingInfo).

Develop and deploy a local Actor

sh
apify create my-actor --template <template>     # or run `apify create` and pick interactively
# template names: https://raw.githubusercontent.com/apify/actor-templates/master/templates/manifest.json
cd my-actor
apify run                                        # run locally; --input / --input-file - for input
apify push                                       # build & deploy to the platform

Run an Actor in the cloud and get results

sh
apify call apify/website-content-crawler -i '{"startUrls":[{"url":"https://example.com"}]}' --json
# or non-blocking: apify actors start <actor> --json   (returns run details immediately)
# inspect input schema first: apify actors info <actor> --input

Non-obvious apify call flags: -f - reads input from stdin; -o/--output-dataset prints the result dataset. Run apify call -h for the full list.

Wait for and inspect runs/builds

sh
apify runs ls --json
apify runs info <runId> --json
apify runs wait <runId>          # block until finished
apify runs log <runId>
apify builds wait <buildId>

Storage

sh
apify datasets get-items <datasetId> --format json
apify key-value-stores get-value <storeId> <key>
apify key-value-stores set-value <storeId> <key> <value>
apify key-value-stores keys <storeId> --json

Scheduling and recurring runs

For anything recurring or unattended (e.g. "run every 15 minutes"), use the Apify platform — not local cron, a while loop, or GitHub Actions. Apify Schedules run in the cloud, so they keep firing after your laptop, terminal, or agent session is shut down.

  • Save a reusable input config as a task, then run it: apify task run <taskId>.
  • There is no dedicated apify schedules command yet — manage schedules via apify api against the schedules endpoint, or in the Console (https://console.apify.com/schedules):
sh
apify api GET schedules
apify api POST schedules -d '{"name":"jobs-every-15m","cronExpression":"*/15 * * * *","isEnabled":true,"actions":[{"type":"RUN_ACTOR","actorId":"<actorId>","runInput":{"body":"<json>","contentType":"application/json"}}]}'

Escape hatch: apify api

Any platform capability without a dedicated command is reachable via the authenticated API wrapper (use this instead of hand-rolling curl against api.apify.com — it injects auth for you):

sh
apify api --list-endpoints                 # discover endpoints (filter with -s "<tokens>")
apify api --describe "actor-runs/{runId}"  # methods, summary, path params for an endpoint
apify api GET /v2/users/me                 # GET is the default method
apify api POST acts -d '<json>' -p '{"limit":1}'   # -d body (use - for stdin), -p query params

The v2/ prefix and leading slash are optional.

© apify, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in skills/apify of apify/apify-cli.

Open the folder on GitHubat commit e79c9df

Compare with similar skills

Apify CLI next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Apify CLI compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Apify CLI this skillapify/apify-cli255—~1.5kAutomated safety check: PassApache-2.0
Chrome Devtoolseinverne/dotfiles1211 repos~1.6kAutomated safety check: NotesApache-2.0
Optimize Button Patternsduckduckgo/tracker-radar-collector169—~1.6kAutomated safety check: PassCustom licence
Apify Collectextrasmall0/dear-hiring-manager111—~1.1kAutomated safety check: NotesMIT
Blog Feed Monitorgooseworks-ai/goose-skills1.2k1 repos~578Automated safety check: PassMIT
Apify Product Data Setupapify/awesome-skills2621 repos~2kAutomated safety check: PassApache-2.0

Similar skills

  • Chrome Devtools

    einverne/dotfiles

    Browser automation, debugging, and performance analysis using Puppeteer CLI scripts.

    121 GitHub starsUsed in 1 repo~1.6k tokens
    Data & AnalyticsAuto-check: notes
  • Optimize Button Patterns

    duckduckgo/tracker-radar-collector

    Iteratively improves cookie-popup button regex patterns in button-patterns.js against labelled-button-texts.csv.

    169 GitHub stars~1.6k tokensUpdated yesterday
    Data & AnalyticsAuto-check passed
  • Apify Collect

    extrasmall0/dear-hiring-manager

    Collect fresh job-posting URLs into ~/.dear-hiring-manager/urls.txt by running an Apify job scraper — the discovery source for /batch.

    111 GitHub stars~1.1k tokensUpdated 2 mo ago
    Data & AnalyticsAuto-check: notes
  • Blog Feed Monitor

    gooseworks-ai/goose-skills

    Scrape blog posts via RSS feeds (free, no API key) with Apify fallback for JS-heavy sites.

    1.2k GitHub starsUsed in 1 repo~578 tokens
    Data & AnalyticsAuto-check passed
  • Apify Product Data Setup

    apify/awesome-skills

    Official

    Wire an AI agent to live e-commerce product data using Apify's E-commerce Scraping Tool over MCP, either as runtime tool calls or as a scheduled refresh into a vector store.

    262 GitHub starsUsed in 1 repo~2k tokens
    Data & AnalyticsAuto-check passed
  • Web Scraper

    charlie-chann/ai-agent-langgraph-main

    网页数据抓取专家。能提取网页正文、表格、列表、特定元素。适用于:竞品监控、价格追踪、结构化数据采集. An agent skill from charlie-chann/ai-agent-langgraph-main.

    114 GitHub stars~431 tokensUpdated 24 days ago
    Data & AnalyticsAuto-check passed

Works with

Questions about Apify CLI

What does Apify CLI do?

Patterns for invoking the Apify CLI (apify) from agents. An agent skill from apify/apify-cli. Apify CLI is an agent skill from apify/apify-cli, published by the product's own GitHub organization. Patterns for invoking the Apify CLI (apify) from agents.

When should I use Apify CLI?

Apify CLI fits situations like: tasks that involve Web scraping.

How do I install Apify CLI in Claude Code?

Run `npx skills add apify/apify-cli --skill apify-cli -a claude-code`. Or copy the skill folder (skills/apify in apify/apify-cli) into .claude/skills/apify-cli in your project. Claude Code loads it when a task matches its description.

How do I install Apify CLI in Codex?

Run `npx skills add apify/apify-cli --skill apify-cli -a codex`. Or copy the skill folder (skills/apify in apify/apify-cli) into .agents/skills/apify-cli in your project. Codex loads it when a task matches its description.

Can I use Apify CLI in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add apify/apify-cli --skill apify-cli -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/apify-cli, .gemini/skills/apify-cli, .github/skills/apify-cli and .opencode/skills/apify-cli in your project.

What does Apify CLI need to run?

Going by SKILL.md and its folder, Apify CLI needs credentials named APIFY_TOKEN. Our summary lists: A credential in APIFY_TOKEN.

Does Apify CLI access the network?

SKILL.md names 3 domains. In commands or code: raw.githubusercontent.com; the agent is likely to contact it when it follows the instructions. As links in the text: apify.com and console.apify.com. This is read from the text; nothing was executed.

Is Apify CLI safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Apify CLI use?

Apify CLI is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Apify CLI use?

About 1.5k tokens (SKILL.md is roughly 6.1k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Apify CLI?

Skills that share tags, products or a category with Apify CLI: Chrome Devtools (einverne/dotfiles, 121 stars), Optimize Button Patterns (duckduckgo/tracker-radar-collector, 169 stars), Apify Collect (extrasmall0/dear-hiring-manager, 111 stars) and Blog Feed Monitor (gooseworks-ai/goose-skills, 1.2k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Apify CLI?

apify (a GitHub organization, an official publisher) maintains it in apify/apify-cli, which has 255 GitHub stars. The repository was last updated on October 6, 2026.

Source: apify/apify-cli on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.