Skip to main content
Version: Next

externalApifyClient

The official JavaScript client for the Apify API.

Provides programmatic access to all Apify platform resources including Actors, runs, datasets, key-value stores, request queues, and more. Works in both Node.js and browser environments.

@example
import { ApifyClient } from 'apify-client';

const client = new ApifyClient({ token: 'my-token' });

// Start an Actor and wait for it to finish
const run = await client.actor('my-actor-id').call();

// Fetch dataset items
const { items } = await client.dataset(run.defaultDatasetId).listItems();
@see

Index

Constructors

externalconstructor

Properties

externalbaseUrl

baseUrl: string

externalhttpClient

httpClient: HttpClient

externallogger

logger: Log

externalpublicBaseUrl

publicBaseUrl: string

externalstats

stats: Statistics

externaloptionaltoken

token?: string

Methods

externalactor

  • actor(id): ActorClient
  • Returns a client for a specific Actor.

    Use this to get, update, delete, start, or call an Actor, as well as manage its builds, runs, versions, and webhooks.

    @see
    @example
    // Call an Actor and wait for it to finish
    const run = await client.actor('apify/web-scraper').call({ url: 'https://example.com' });

    Parameters

    • externalid: string

      Actor ID or username/name

    Returns ActorClient

    A client for the specific Actor

externalactors

  • actors(): ActorCollectionClient
  • Returns a client for managing Actors in your account.

    Provides access to the Actor collection, allowing you to list, create, and search for Actors.

    @see

    Returns ActorCollectionClient

    A client for the Actors collection

externalbuild

  • build(id): BuildClient
  • Returns a client for a specific Actor build.

    Use this to get details about a build, wait for it to finish, or access its logs.

    @see

    Parameters

    • externalid: string

      Build ID

    Returns BuildClient

    A client for the specified build

externalbuilds

  • builds(): BuildCollectionClient

externaldataset

  • dataset<Data>(id): DatasetClient<Data>
  • Returns a client for a specific dataset.

    Use this to read, write, and manage items in the dataset. Datasets contain structured data stored as individual items (records).

    @see
    @example
    // Push items to a dataset
    await client.dataset('my-dataset').pushItems([
    { url: 'https://example.com', title: 'Example' },
    { url: 'https://test.com', title: 'Test' }
    ]);

    // Retrieve items
    const { items } = await client.dataset('my-dataset').listItems();

    Parameters

    • externalid: string

      Dataset ID or name

    Returns DatasetClient<Data>

    A client for the specific Dataset

externaldatasets

  • datasets(): DatasetCollectionClient
  • Returns a client for managing datasets in your account.

    Datasets store structured data results from Actor runs. Use this to list or create datasets.

    @see

    Returns DatasetCollectionClient

    A client for the Datasets collection

externalkeyValueStore

  • keyValueStore(id): KeyValueStoreClient
  • Returns a client for a specific key-value store.

    Use this to read, write, and delete records in the store. Key-value stores can hold any type of data including text, JSON, images, and other files.

    @see
    @example
    // Save a record
    await client.keyValueStore('my-store').setRecord({ key: 'OUTPUT', value: { foo: 'bar' } });

    // Get a record
    const record = await client.keyValueStore('my-store').getRecord('OUTPUT');

    Parameters

    • externalid: string

      Key-value store ID or name

    Returns KeyValueStoreClient

    A client for the specific key-value store

externalkeyValueStores

  • keyValueStores(): KeyValueStoreCollectionClient
  • Returns a client for managing key-value stores in your account.

    Key-value stores are used to store arbitrary data records or files.

    @see

    Returns KeyValueStoreCollectionClient

    A client for the Key-value stores collection

externallog

  • log(buildOrRunId): LogClient
  • Returns a client for accessing logs of an Actor build or run.

    @see

    Parameters

    • externalbuildOrRunId: string

      Build ID or run ID

    Returns LogClient

    A client for accessing logs

externalrequestQueue

  • requestQueue(id, options): RequestQueueClient
  • Returns a client for a specific request queue.

    Use this to add, retrieve, and manage requests in the queue. Request queues are used by web crawlers to manage URLs that need to be visited.

    @see
    @example
    // Add requests to a queue
    const queue = client.requestQueue('my-queue');
    await queue.addRequest({ url: 'https://example.com', uniqueKey: 'example' });

    // Get and lock the next request
    const { items } = await queue.listAndLockHead({ lockSecs: 60 });

    Parameters

    • externalid: string

      Request queue ID or name

    • externaloptionaloptions: RequestQueueUserOptions

      Configuration options for the request queue client

    Returns RequestQueueClient

    A client for the specific Request queue

externalrequestQueues

  • requestQueues(): RequestQueueCollectionClient
  • Returns a client for managing request queues in your account.

    Request queues store URLs to be crawled, along with their metadata.

    @see

    Returns RequestQueueCollectionClient

    A client for the Request queues collection

externalrun

  • run(id): RunClient
  • Returns a client for a specific Actor run.

    Use this to get details about a run, wait for it to finish, abort it, or access its dataset, key-value store, and request queue.

    @see
    @example
    // Wait for a run to finish
    const run = await client.run('run-id').waitForFinish();

    // Access run's dataset
    const { items } = await client.run('run-id').dataset().listItems();

    Parameters

    • externalid: string

      Run ID

    Returns RunClient

    A client for the specified run

externalruns

  • runs(): RunCollectionClient

externalschedule

  • schedule(id): ScheduleClient
  • Returns a client for a specific schedule.

    Use this to get, update, or delete a schedule.

    @see

    Parameters

    • externalid: string

      Schedule ID

    Returns ScheduleClient

    A client for the specific Schedule

externalschedules

  • schedules(): ScheduleCollectionClient
  • Returns a client for managing schedules in your account.

    Schedules automatically start Actor or task runs at specified times.

    @see

    Returns ScheduleCollectionClient

    A client for the Schedules collection

externalsetStatusMessage

  • setStatusMessage(message, options): Promise<void>
  • Sets a status message for the current Actor run.

    This is a convenience method that updates the status message of the run specified by the ACTOR_RUN_ID environment variable. Only works when called from within an Actor run.

    @throws

    If ACTOR_RUN_ID environment variable is not set


    Parameters

    • externalmessage: string

      The status message to set

    • externaloptionaloptions: SetStatusMessageOptions

      Additional options for the status message

    Returns Promise<void>

externalstore

  • store(): StoreCollectionClient

externaltask

  • task(id): TaskClient
  • Returns a client for a specific Actor task.

    Use this to get, update, delete, or run a task with pre-configured input.

    @see
    @example
    // Run a task and wait for it to finish
    const run = await client.task('my-task').call();

    Parameters

    • externalid: string

      Task ID or username/task-name

    Returns TaskClient

    A client for the specified task

externaltasks

  • tasks(): TaskCollectionClient
  • Returns a client for managing Actor tasks in your account.

    Tasks are pre-configured Actor runs with stored input that can be executed repeatedly.

    @see

    Returns TaskCollectionClient

    A client for the task collection

externaluser

  • user(id): UserClient
  • Returns a client for accessing user data.

    By default, returns information about the current user (determined by the API token).

    @see

    Parameters

    • externaloptionalid: string

      User ID or username. Defaults to 'me' (current user)

    Returns UserClient

    A client for the user

externalwebhook

  • webhook(id): WebhookClient
  • Returns a client for a specific webhook.

    Use this to get, update, delete, or test a webhook.

    @see

    Parameters

    • externalid: string

      Webhook ID

    Returns WebhookClient

    A client for the specific webhook

externalwebhookDispatch

  • webhookDispatch(id): WebhookDispatchClient

externalwebhookDispatches

  • webhookDispatches(): WebhookDispatchCollectionClient
  • Returns a client for viewing webhook dispatches in your account.

    Webhook dispatches represent individual invocations of webhooks.

    @see

    Returns WebhookDispatchCollectionClient

    A client for the webhook dispatches collection

externalwebhooks

  • webhooks(): WebhookCollectionClient
  • Returns a client for managing webhooks in your account.

    Webhooks notify external services when specific events occur (e.g., Actor run finishes).

    @see

    Returns WebhookCollectionClient

    A client for the Webhooks collection