Apify (Preview)
Apify runs web scrapers and AI agents, manages Actors and tasks, schedules and monitors runs, retrieves datasets and results, and triggers flows from webhooks. It enables end-to-end data collection, enrichment, and automation in workflows.
This connector is available in the following products and regions:
| Service | Class | Regions |
|---|---|---|
| Copilot Studio | Premium | All Power Automate regions except the following: - US Government (GCC) - US Government (GCC High) - China Cloud operated by 21Vianet - US Department of Defense (DoD) |
| Logic Apps | Standard | All Logic Apps regions except the following: - Azure Government regions - Azure China regions - US Department of Defense (DoD) |
| Power Apps | Premium | All Power Apps regions except the following: - US Government (GCC) - US Government (GCC High) - China Cloud operated by 21Vianet - US Department of Defense (DoD) |
| Power Automate | Premium | All Power Automate regions except the following: - US Government (GCC) - US Government (GCC High) - China Cloud operated by 21Vianet - US Department of Defense (DoD) |
| Contact | |
|---|---|
| Name | Apify support |
| URL | https://apify.com/contact |
| support@apify.com |
| Connector Metadata | |
|---|---|
| Publisher | Apify |
| Find more information about Apify. | https://docs.apify.com |
| Website | https://apify.com |
| Privacy policy | https://apify.com/privacy-policy |
| Categories | Data;AI |
Apify
Apify is the largest marketplace of tools for AI. The Apify connector for Power Automate lets you run web scrapers and AI agents (called Actors), execute pre-configured tasks, retrieve structured data from datasets and key-value stores, and trigger automated workflows when jobs finish. Over 30,000 ready-made Actors are available on Apify Store for common scraping and automation use cases.
Publisher
Apify Technologies s.r.o.
Prerequisites
- An Apify account - sign up for free at apify.com. A free tier with monthly platform credits is included.
- OAuth 2.0 authorization - the connector authenticates through Apify's OAuth flow. No API tokens or manual credential setup is needed from end users.
How to get credentials
The connector uses OAuth 2.0 authentication. When you add the Apify connector to a flow and create a new connection, you are automatically redirected to Apify Console to authorize access. Follow these steps:
- In your Power Automate flow, add any Apify action or trigger.
- When prompted to create a connection, click Sign in.
- You will be redirected to Apify Console authorization page at
console.apify.com. - If you are not logged in to Apify, enter your Apify account email and password (or use Google/GitHub sign-in).
- Review the requested permissions:
- profile - access to your user profile information
- full_api_access - full access to the Apify API on your behalf
- Click Authorize to grant the connector access.
- You will be redirected back to Power Automate with an active connection.
No manual entry of API tokens, client IDs, or secrets is required from end users. The connector handles token refresh automatically.
For the Microsoft certification review team
To test the connector, you will need an Apify account. You can create one for free at apify.com - no credit card is required. The free tier includes enough platform credits to run test Actors and verify all connector operations. After creating an account, follow steps 1-7 above to authorize the connector.
Supported operations
Actions
| Operation | Description |
|---|---|
| Run Actor | Runs an Apify Actor with the specified input. You can select from recently used Actors or browse Apify Store. Optionally wait up to 60 seconds for the run to finish. Returns run metadata including status, dataset ID, and key-value store ID. |
| Run task | Runs a pre-configured Actor task. Tasks store default input configurations so you can execute them without specifying input each time. Optionally override the default input with custom values. |
| Scrape single URL | Scrapes a single web page using the Apify Web Scraper Actor. Choose between adaptive (recommended), Firefox headless browser, or Cheerio (raw HTTP) crawling modes. Returns the run metadata for tracking. |
| Get dataset items | Retrieves items from an Apify dataset. Datasets store structured results from Actor runs. Supports pagination with limit and offset parameters. The response schema is dynamically inferred from the dataset contents. |
| Get key-value store record | Retrieves a record from an Apify key-value store by its key. Key-value stores hold files, configurations, and run state. The response schema is dynamically inferred from the record contents. |
Triggers
| Operation | Description |
|---|---|
| Actor run finished | Fires when a selected Actor run finishes. Subscribe to specific completion statuses: succeeded, failed, timed out, or aborted. All statuses are enabled by default. The trigger payload includes full run details and metadata. |
| Actor task finished | Fires when a selected Actor task run finishes. Same status filtering options as the Actor run finished trigger. Useful for monitoring scheduled or recurring task executions. |
Getting started
Basic workflow: Run an Actor and get results
- Add the Run Actor action to your flow.
- Select an Actor from your recently used Actors or from Apify Store.
- Provide the input JSON required by the Actor.
- Add the Get dataset items action.
- Use the Default dataset ID output from the Run Actor step as the Dataset parameter.
- Process the returned items in subsequent flow steps.
Event-driven workflow: React to completed runs
- Add the Actor run finished trigger as the flow's trigger.
- Select the Actor you want to monitor.
- Choose which completion statuses should trigger the flow (all enabled by default).
- In subsequent steps, use the trigger payload to access run details and retrieve results.
Quick scrape workflow
- Add the Scrape single URL action.
- Enter the URL you want to scrape.
- Select a crawler type (Adaptive is recommended for most sites).
- Use the Actor run finished trigger or poll for completion to get results.
Known issues and limitations
- The Wait for Finish parameter has a maximum of 60 seconds. For long-running Actors, use the Actor run finished trigger instead of waiting.
- Dataset schemas are dynamically inferred from a sample item. They may not capture all possible fields if the dataset contains items with varying structures.
- Key-value store record schemas are inferred from the record content. Binary records (images, PDFs) are returned as-is without schema inference.
- The Scrape single URL action uses a fixed Actor (Web Scraper). For advanced scraping scenarios, use Run Actor with a specialized Actor from Apify Store.
- Memory allocation options range from 128 MB to 32 GB. Start with default settings to optimize costs.
Common errors and remedies
| Error | Remedy |
|---|---|
| Unable to authenticate | Ensure you have an active Apify account. Try removing the connection and creating a new one. |
| Actor run returns FAILED status | Check the Actor run logs in Apify Console for detailed error messages. Verify the input matches the Actor's expected format. |
| Dataset is empty after run completes | Confirm the Actor run finished with SUCCEEDED status. The target website's structure may have changed. |
| Flow times out waiting for Actor | Set "Wait for Finish" to 0 and use the "Actor run finished" trigger to handle long-running Actors asynchronously. |
| Webhook trigger not firing | Verify the Actor or task ID is correct. Check that at least one event status is enabled. |
FAQ
How much does Apify cost? The connector itself is free. Apify charges for platform usage based on compute time and resources consumed. A free tier with monthly credits is included with every account. See apify.com/pricing for details.
What are Actors? Actors are serverless cloud programs that run on the Apify platform. They can perform web scraping, data extraction, AI automation, and more. Browse over 30,000 ready-made Actors at apify.com/store.
What are tasks? Tasks are saved configurations for Actors. They store default input values so you can run an Actor with pre-set parameters without re-entering them each time.
Helpful links
- Apify documentation
- Apify API reference
- Apify Store - browse Actors
- Apify pricing
- Support and contact
- Community forum
Actions
| Get dataset items |
Retrieves items from one of your Apify datasets with optional pagination parameters. |
| Get key-value store record |
Gets a value stored in the key-value store under a specific key. |
| Run Actor |
Runs an Actor and immediately returns without waiting for the run to finish. To wait for the run to finish, use the waitForFinish query parameter. |
| Run task |
Runs an Actor task and immediately returns without waiting for the run to finish. To wait for the run to finish, use the waitForFinish query parameter. |
| Scrape single URL |
Scrapes a single URL using the Web Scraper Actor. This action starts an asynchronous scrape and returns the run details immediately. Use the Actor run finished trigger to process results once the scrape is complete. |
Get dataset items
Retrieves items from one of your Apify datasets with optional pagination parameters.
Parameters
| Name | Key | Required | Type | Description |
|---|---|---|---|---|
|
Dataset
|
datasetId | True | string |
Select the dataset from which to retrieve items. |
|
Limit
|
limit | integer |
Maximum number of items to be returned. |
|
|
Offset
|
offset | integer |
Number of items to skip from the beginning of the list. |
Returns
Get key-value store record
Gets a value stored in the key-value store under a specific key.
Parameters
| Name | Key | Required | Type | Description |
|---|---|---|---|---|
|
Store
|
storeId | True | string |
Select the key-value store from which to retrieve the record. |
|
Key
|
recordKey | True | string |
Select the key from which to retrieve the record. |
Returns
Run Actor
Runs an Actor and immediately returns without waiting for the run to finish. To wait for the run to finish, use the waitForFinish query parameter.
Parameters
| Name | Key | Required | Type | Description |
|---|---|---|---|---|
|
Select Actor from
|
actorScope | True | string |
Please select the source to search Actors from. |
|
Actor
|
actorId | True | string |
Actor identifier to run. Supply Actor ID. |
|
Wait for Finish (0-60 Seconds)
|
waitForFinish | integer |
Wait for the run to finish in seconds (0-60). |
|
|
Timeout (seconds)
|
timeout | integer |
Timeout for the run in seconds. |
|
|
Build
|
build | string |
Actor build to run (tag or build number). Typically it's the 'latest'. |
|
|
Memory (MB)
|
memory | integer |
Memory limit in MB (power of 2, min 128). |
|
|
|
object |
Raw JSON object passed as INPUT to the Actor. |
Run task
Runs an Actor task and immediately returns without waiting for the run to finish. To wait for the run to finish, use the waitForFinish query parameter.
Parameters
| Name | Key | Required | Type | Description |
|---|---|---|---|---|
|
Task
|
taskId | True | string |
Task identifier to run. |
|
Wait for Finish (0-60 Seconds)
|
waitForFinish | integer |
Wait for the run to finish in seconds (0-60). |
|
|
Timeout (seconds)
|
timeout | integer |
Timeout for the run in seconds. |
|
|
Build
|
build | string |
Actor build to run (tag or build number). Typically it's the 'latest'. |
|
|
Memory (MB)
|
memory | integer |
Memory limit in MB (power of 2, min 128). |
|
|
|
object |
A raw JSON object to override the task's default input. |
Scrape single URL
Scrapes a single URL using the Web Scraper Actor. This action starts an asynchronous scrape and returns the run details immediately. Use the Actor run finished trigger to process results once the scrape is complete.
Parameters
| Name | Key | Required | Type | Description |
|---|---|---|---|---|
|
URL to Scrape
|
url | True | string |
The full URL of the single page to be scraped. Must be a valid URL format. |
|
Crawler Type
|
crawler_type | True | string |
Select the crawling engine to use for scraping the page. |
Triggers
| Actor run finished |
Creates a webhook to subscribe to Actor run events. Triggers when the selected Actor run finishes with a specific status. All statuses are enabled by default; only statuses explicitly set to false are excluded. At least one status must remain enabled. |
| Actor task finished |
Creates a webhook to subscribe to Actor task run events. Triggers when the selected Actor task run finishes with a specific status. All statuses are enabled by default; only statuses explicitly set to false are excluded. At least one status must remain enabled. |
Actor run finished
Creates a webhook to subscribe to Actor run events. Triggers when the selected Actor run finishes with a specific status. All statuses are enabled by default; only statuses explicitly set to false are excluded. At least one status must remain enabled.
Parameters
| Name | Key | Required | Type | Description |
|---|---|---|---|---|
|
Select Actor from
|
actorScope | True | string |
Please select the source to search Actors from. |
|
Statuses
|
eventTypes | array of string |
Actor run statuses to trigger on. |
|
|
Actor
|
actorId | True | string |
Actor identifier to monitor. Supply Actor ID. |
|
Trigger On Run Succeeded
|
onRunSucceeded | boolean |
Trigger when an Actor run succeeds. Defaults to true if not set. |
|
|
Trigger On Run Failed
|
onRunFailed | boolean |
Trigger when an Actor run fails. Defaults to true if not set. |
|
|
Trigger On Run Timed Out
|
onRunTimedOut | boolean |
Trigger when an Actor run times out. Defaults to true if not set. |
|
|
Trigger On Run Aborted
|
onRunAborted | boolean |
Trigger when an Actor run is aborted. Defaults to true if not set. |
Returns
Event payload sent by webhook when an Actor run finishes.
- Webhook payload
- WebhookPayloadSchema
Actor task finished
Creates a webhook to subscribe to Actor task run events. Triggers when the selected Actor task run finishes with a specific status. All statuses are enabled by default; only statuses explicitly set to false are excluded. At least one status must remain enabled.
Parameters
| Name | Key | Required | Type | Description |
|---|---|---|---|---|
|
Statuses
|
eventTypes | array of string |
Actor run statuses to trigger on. |
|
|
Task
|
actorTaskId | True | string |
Please select the Actor task to monitor for events. |
|
Trigger On Run Succeeded
|
onRunSucceeded | boolean |
Trigger when an Actor run succeeds. Defaults to true if not set. |
|
|
Trigger On Run Failed
|
onRunFailed | boolean |
Trigger when an Actor run fails. Defaults to true if not set. |
|
|
Trigger On Run Timed Out
|
onRunTimedOut | boolean |
Trigger when an Actor run times out. Defaults to true if not set. |
|
|
Trigger On Run Aborted
|
onRunAborted | boolean |
Trigger when an Actor run is aborted. Defaults to true if not set. |
Returns
Event payload sent by webhook when an Actor run finishes.
- Webhook payload
- WebhookPayloadSchema
Definitions
ActorRunResponseSchema
Complete information about an executed Actor run.
| Name | Path | Type | Description |
|---|---|---|---|
|
Actor run ID
|
id | string |
Unique identifier of the Actor run. |
|
Actor ID
|
actId | string |
Unique identifier of the Actor that was executed. |
|
User ID
|
userId | string |
Unique identifier of the user who owns the Actor run. |
|
Actor task ID
|
actorTaskId | string |
Unique identifier of the Actor task (if the run was started from a task). |
|
Started at
|
startedAt | date-time |
Timestamp when the Actor run started. |
|
Finished at
|
finishedAt | date-time |
Timestamp when the Actor run finished. |
|
Status
|
status | string |
Status of the Actor run (e.g., SUCCEEDED, FAILED, RUNNING, ABORTED). |
|
Status message
|
statusMessage | string |
Detailed status message from the Actor run, including processing summary and results. |
|
Is status message terminal
|
isStatusMessageTerminal | boolean |
Whether the status message is terminal (final) or may change during the run. |
|
Metadata
|
meta | object |
Additional metadata about the Actor run, including origin and user agent information. |
|
Pricing info
|
pricingInfo | object |
Detailed pricing information including pricing model, events, and cost breakdown. |
|
Stats
|
stats | object |
Performance statistics including runtime, memory usage, CPU usage, and network traffic. |
|
Charged event counts
|
chargedEventCounts | object |
Count of billable events that occurred during the Actor run. |
|
Options
|
options | object |
Configuration options used for the Actor run (memory, timeout, build version, etc.). |
|
Build ID
|
buildId | string |
Unique identifier of the Actor build used for this run. |
|
Exit code
|
exitCode | number |
Exit code returned by the Actor process (0 indicates success). |
|
Default key-value store ID
|
defaultKeyValueStoreId | string |
Unique identifier of the default key-value store associated with this run. |
|
Default dataset ID
|
defaultDatasetId | string |
Unique identifier of the default dataset where the Actor stored its results. |
|
Default request queue ID
|
defaultRequestQueueId | string |
Unique identifier of the default request queue used by the Actor. |
|
Build number
|
buildNumber | string |
Build number of the Actor version used for this run. |
|
Container URL
|
containerUrl | string |
URL of the container where the Actor run was executed. |
|
Is container server ready
|
isContainerServerReady | boolean |
Whether the container server is ready and accessible. |
|
Git branch name
|
gitBranchName | string |
Name of the Git branch used for this Actor run (if applicable). |
|
Usage total USD
|
usageTotalUsd | number |
Total cost of the Actor run in USD. |
WebhookPayloadSchema
Event payload sent by webhook when an Actor run finishes.
| Name | Path | Type | Description |
|---|---|---|---|
|
userId
|
userId | string |
ID of the user who owns the resource associated with the event. |
|
createdAt
|
createdAt | date-time |
The timestamp when the event occurred. |
|
eventType
|
eventType | string |
The type of the event that triggered the webhook (e.g., ACTOR.RUN.SUCCEEDED). |
|
actorId
|
eventData.actorId | string |
ID of the triggering Actor. |
|
actorRunId
|
eventData.actorRunId | string |
ID of the specific Actor run that triggered the event. |
|
Actor run response
|
resource | ActorRunResponseSchema |
Complete information about an executed Actor run. |