---
title: Apify
description: Run Apify actors and retrieve results
---

import { BlockInfoCard } from "@/components/ui/block-info-card"

<BlockInfoCard 
  type="apify"
  color="#FFFFFF"
/>

{/* MANUAL-CONTENT-START:intro */}
[Apify](https://apify.com/) is a powerful platform for building, deploying, and running web automation and web scraping actors at scale. Apify enables you to extract useful data from any website, automate workflows, and connect your data pipelines seamlessly.

With Apify, you can:

- **Run ready-made or custom actors**: Integrate public actors or develop your own, automating a wide range of web data extraction and browser tasks.
- **Retrieve datasets**: Access and manage structured datasets collected by actors in real time.
- **Scale web automation**: Leverage cloud infrastructure to run tasks reliably, asynchronously or synchronously, with robust error handling.

In Sim, the Apify integration allows your agents to perform core Apify operations programmatically:

- **Run Actor (Sync)**: Use `apify_run_actor_sync` to launch an Apify actor and wait for its completion, retrieving the results as soon as the run finishes.
- **Run Actor (Async)**: Use `apify_run_actor_async` to start an actor in the background and periodically poll for results, suitable for longer or complex jobs.

These operations equip your agents to automate, scrape, and orchestrate data collection or browser automation tasks directly inside workflows — all with flexible configuration and result handling, without the need for manual runs or external tools. Integrate Apify as a dynamic automation and data-extraction engine that programmatically powers your agents' web-scale workflows.
{/* MANUAL-CONTENT-END */}


## Usage Instructions

Integrate Apify into your workflow. Run any Apify actor or saved task with custom input, fetch dataset items, and check run status. Supports both synchronous and asynchronous execution with automatic dataset fetching.



## Actions

### `apify_run_actor_sync`

Run an APIFY actor synchronously and get results (max 5 minutes)

#### Input

| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | Yes | APIFY API token from console.apify.com/account#/integrations |
| `actorId` | string | Yes | Actor ID or username/actor-name. Examples: "apify/web-scraper", "janedoe/my-actor", "moJRLRc85AitArpNN" |
| `input` | string | No | Actor input as JSON string. Example: \{"startUrls": \[\{"url": "https://example.com"\}\], "maxPages": 10\} |
| `memory` | number | No | Memory in megabytes allocated for the actor run \(128-32768\). Example: 1024 for 1GB, 2048 for 2GB |
| `timeout` | number | No | Timeout in seconds for the actor run. Example: 300 for 5 minutes, 3600 for 1 hour |
| `build` | string | No | Actor build to run. Examples: "latest", "beta", "1.2.3", "build-tag-name" |

#### Output

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Whether the actor run succeeded |
| `runId` | string | APIFY run ID |
| `status` | string | Run status \(SUCCEEDED, FAILED, etc.\) |
| `items` | array | Dataset items \(if completed\) |

### `apify_run_actor_async`

Run an APIFY actor asynchronously with polling for long-running tasks

#### Input

| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | Yes | APIFY API token from console.apify.com/account#/integrations |
| `actorId` | string | Yes | Actor ID or username/actor-name. Examples: "apify/web-scraper", "janedoe/my-actor", "moJRLRc85AitArpNN" |
| `input` | string | No | Actor input as JSON string. Example: \{"startUrls": \[\{"url": "https://example.com"\}\], "maxPages": 10\} |
| `waitForFinish` | number | No | Initial wait time in seconds \(0-60\) before polling starts. Example: 30 |
| `itemLimit` | number | No | Max dataset items to fetch \(1-250000\). Default: 100. Example: 500 |
| `memory` | number | No | Memory in megabytes allocated for the actor run \(128-32768\). Example: 1024 for 1GB, 2048 for 2GB |
| `timeout` | number | No | Timeout in seconds for the actor run. Example: 300 for 5 minutes, 3600 for 1 hour |
| `build` | string | No | Actor build to run. Examples: "latest", "beta", "1.2.3", "build-tag-name" |

#### Output

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Whether the actor run succeeded |
| `runId` | string | APIFY run ID |
| `status` | string | Run status \(SUCCEEDED, FAILED, etc.\) |
| `datasetId` | string | Dataset ID containing results |
| `items` | array | Dataset items \(if completed\) |

### `apify_run_task`

Run a saved APIFY actor task synchronously and get dataset items (max 5 minutes)

#### Input

| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | Yes | APIFY API token from console.apify.com/account#/integrations |
| `taskId` | string | Yes | Task ID or username/task-name. Examples: "janedoe/my-task", "moJRLRc85AitArpNN" |
| `input` | string | No | JSON string that overrides the task\'s saved input. Example: \{"startUrls": \[\{"url": "https://example.com"\}\]\} |
| `itemLimit` | number | No | Max dataset items to return \(1-250000\). Example: 500 |
| `memory` | number | No | Memory in megabytes allocated for the run \(128-32768\). Example: 1024 for 1GB |
| `timeout` | number | No | Timeout in seconds for the run. Example: 300 for 5 minutes |
| `build` | string | No | Actor build to run. Examples: "latest", "beta", "1.2.3" |

#### Output

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Whether the task run succeeded |
| `status` | string | Run status \(SUCCEEDED, FAILED, etc.\) |
| `items` | array | Dataset items produced by the run |

### `apify_get_dataset_items`

Retrieve items stored in an APIFY dataset

#### Input

| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | Yes | APIFY API token from console.apify.com/account#/integrations |
| `datasetId` | string | Yes | Dataset ID to read items from. Example: "9RnD3Pql2vGZkc5H5" |
| `itemLimit` | number | No | Max items to return \(1-250000\). Default: all items. Example: 500 |
| `offset` | number | No | Number of items to skip at the start. Default: 0 |
| `fields` | string | No | Comma-separated list of fields to include. Example: "title,url,price" |

#### Output

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Whether the items were retrieved |
| `datasetId` | string | Dataset ID the items were read from |
| `items` | array | Items stored in the dataset |
| `count` | number | Number of items returned |

### `apify_get_run`

Get the status and details of an APIFY actor run

#### Input

| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | Yes | APIFY API token from console.apify.com/account#/integrations |
| `runId` | string | Yes | Actor run ID to fetch. Example: "HG7ML7M8z78YcAPEB" |

#### Output

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Whether the run was found |
| `runId` | string | APIFY run ID |
| `status` | string | Run status \(READY, RUNNING, SUCCEEDED, FAILED, etc.\) |
| `startedAt` | string | When the run started \(ISO timestamp\) |
| `finishedAt` | string | When the run finished \(ISO timestamp\) |
| `datasetId` | string | Default dataset ID for the run |
| `keyValueStoreId` | string | Default key-value store ID for the run |
| `stats` | json | Run statistics \(memory, CPU, duration\) |


