Apify Integration for Dify
This repository contains a plugin for the Dify.ai platform, enabling seamless integration with the Apify web scraping and automation platform.
Features
- Run Actor – Start any Apify actor by its unique with custom input.
- Run Task – Execute predefined Apify tasks with one click.
- Scrape Single URL – Quickly scrape data from a single web page without configuring a full crawl.
- Get Dataset Items – Retrieve results stored in an Apify dataset.
- Get Key-Value Store Record – Fetch a record from an Apify key-value store.
- Actor Run Finished Trigger – Trigger downstream actions in Dify when an Apify actor or task run finishes.
- Flexible Execution Modes – Choose between asynchronous (fast return) and synchronous (wait for results) execution.
- Finished Trigger (Webhook) – Trigger Dify workflows automatically upon the completion of an Apify Actor or task.
Prerequisites
Before you begin, ensure you have the following installed and configured:
- Python: Version or newer is required.
- UV: You also need pre-installed UV package manager for Python
- Apify Account: You will need an Apify account and your personal API Token. You can find your token in the Apify Console.
- Dify Account: A Dify account to test the plugin.
Installation & Setup
Follow these steps to set up the project for local development.
1. Install with Standalone Binary (macOS / Linux)
Download the right binary from the Dify Plugin CLI release page.
- macOS (ARM — Apple Silicon): e.g.
- macOS (Intel):
- Linux (amd64 or arm64):
2. Make the binary executable:
3. Run version check:
4. Rename and move it to your system PATH:
5. Confirm installation with:
6. Clone the Repository
7. Create and Activate a Virtual Environment
It is highly recommended to use a virtual environment to manage project dependencies.
And we are pretty much ready!
Debugging & Development
To enable interactive debugging, follow these steps:
-
Create an environment file
Copy to .
-
Obtain your debugging key
- Go to the Dify Plugins page.
- Click the bug icon in the upper right corner to generate a debugging key.
- Replace the default value of in your file with this key.
-
Run the project
Start the project in debug mode with:
Local debugging with Docker
To test the plugin against a local Dify instance, use Docker Compose: clone Dify, start it with from the directory, then complete the admin setup at .
Build the plugin package and upload it in Dify to test:
Then in your local Dify plugins page, upload the local package file to install the plugin and test your changes.
Usage Example: Running an Actor
This section shows how to run an Apify actor inside a Dify workflow.
We will use the Google Maps Scraper actor () as an example.
Step 1: Create a New Workflow
- Open your Dify project.
- Create a new Workflow from Blank.
- Click on the + button followed by Tools -> Apify -> Run Actor.
- Fill in the following settings:
- Actor ID:
- Input:
- Wait for Finish:
Set to if you want the workflow to return immediately after starting or to if you want to wait for the run to reach a terminal state (e.g SUCCEEDED, FAILED).
Step 3: Connect Workflow Blocks
- Select Output block in a workflow.
- Connect the Run Actor block to the Output block.
- Create a variable to store results:
- Open the output of the Output block.
- Add a variable, e.g., , that maps to the actor’s response.
Step 4: Run the Workflow
- Click the Run button.
- Dify will trigger the Apify actor.
- Run details (including run ID) are returned immediately or after completion, depending on parameter.
- You can check results in Apify Console Runs Page.
Support