Apify Install & Auth
Overview
Set up the Apify ecosystem: the apify-client JS library (for calling Actors remotely), the apify SDK (for building Actors), the Apify CLI (for deploying), and Crawlee (for crawling). Each package serves a different purpose — install only what the task needs, then wire up a single API token.
Package Map
| Package | npm | Purpose |
|---|
apify-client | npm i apify-client | Call Actors, manage datasets/KV stores from external apps |
apify | npm i apify | Build Actors (includes Actor.init(), Actor.pushData()) |
crawlee | npm i crawlee | Crawler framework (Cheerio, Playwright, Puppeteer crawlers) |
apify-cli | npm i -g apify-cli | CLI for apify login, apify run, apify push |
Prerequisites
- Node.js 18+ (required by SDK v3+)
- Apify account at https://console.apify.com
- API token from Settings > Integrations in Apify Console
Instructions
Step 1: Install Packages
npm install apify-client
npm install apify crawlee
npm install -g apify-cli
Step 2: Configure Authentication
Pick one. Read any existing .env first so you do not clobber it, then Write the token in.
export APIFY_TOKEN="apify_api_YOUR_TOKEN_HERE"
echo 'APIFY_TOKEN=apify_api_YOUR_TOKEN_HERE' >> .env
apify login
The APIFY_TOKEN env var is auto-detected by both apify-client and the apify SDK. For every place a token can be supplied (constructor option, header, precedence) plus the full platform env-var list, see authentication reference.
Step 3: Verify Connection
import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const { items } = await client.actors().list();
console.log(`Authenticated. You have ${items.length} Actors.`);
Step 4: Verify CLI (if installed)
apify login --token YOUR_TOKEN
apify info
Output
A working, authenticated Apify setup:
- The needed packages installed in
node_modules (verify with npm ls apify-client).
APIFY_TOKEN available to the process — via a Write to .env, an exported shell var, or apify login credentials in ~/.apify/auth.json.
- The Step 3 snippet printing
Authenticated. You have N Actors. — proof the token reaches the API.
apify info showing your account (only when the CLI was installed in Step 1).
If the verify snippet throws instead of printing the count, jump to Error Handling below.
Error Handling
| Error | Cause | Solution |
|---|
401 Unauthorized | Invalid or expired token | Regenerate token in Console > Settings > Integrations |
Cannot find module 'apify-client' | Package not installed | npm install apify-client |
APIFY_TOKEN is not set | Missing env var | Export APIFY_TOKEN or pass token to constructor |
apify: command not found | CLI not installed globally | npm install -g apify-cli |
Examples
The essential singleton-client skeleton:
import { ApifyClient } from 'apify-client';
import 'dotenv/config';
let client: ApifyClient | null = null;
export function getClient(): ApifyClient {
if (!client) {
if (!process.env.APIFY_TOKEN) {
throw new Error('APIFY_TOKEN environment variable is required');
}
client = new ApifyClient({ token: process.env.APIFY_TOKEN });
}
return client;
}
For the full worked set — the .env.example template, the verify snippet, and CLI verification — see worked examples.
Resources
Next Steps
With the client authenticated, proceed to apify-hello-world to make your first
Actor call and push results to a dataset. If you are building your own Actor
instead of calling one, the apify SDK and Crawlee installed above are your
starting point — deploy with apify push.