This repository contains a plugin for the Dify.ai platform, enabling seamless integration with the Apify web scraping and automation platform.
- Run Actor – Start any Apify actor by its unique
actorIdwith 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.
Before you begin, ensure you have the following installed and configured:
- Python: Version
3.12or 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.
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.
dify-plugin-darwin-arm64 - macOS (Intel):
dify-plugin-darwin-amd64 - Linux (amd64 or arm64):
dify-plugin-linux-amd64
2. Make the binary executable:
chmod +x dify-plugin-<platform-arch>3. Run version check:
./dify-plugin-<platform-arch> version4. Rename and move it to your system PATH:
mv dify-plugin-<platform-arch> dify
sudo mv dify /usr/local/bin/5. Confirm installation with:
dify version6. Clone the Repository
git clone https://github.com/apify/apify-dify-integration.git
cd apify-dify-integration7. Create and Activate a Virtual Environment
It is highly recommended to use a virtual environment to manage project dependencies.
# Create the virtual environment
uv venv
# Activate it (on macOS/Linux)
uv pip install -e ".[dev]"8. Install Dependencies
This project uses a requirements.txt file to manage its dependencies.
pip install -r requirements.txtAnd we are pretty much ready!
To enable interactive debugging, follow these steps:
-
Create an environment file
Copy.env.exampleto.env. -
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
REMOTE_INSTALL_KEYin your.envfile with this key.
-
-
Run the project
Start the project in debug mode with:python -m main
This section shows how to run an Apify actor inside a Dify workflow.
We will use the Google Maps Extractor actor (2Mdma1N6Fd0y3QEjR) as an example.
- Open your Dify project.
- Create a new Workflow from Blank.
- Drag and drop the Run Actor (Apify Plugin) block onto the canvas.
- Select the Run Actor block.
- Fill in the following settings:
- Actor ID:
2Mdma1N6Fd0y3QEjR - Example Input Body (JSON):
{ "categoryFilterWords": ["abbey"], "countryCode": "af", "language": "en", "locationQuery": "New York, USA", "maxCrawledPlacesPerSearch": 1, "placeMinimumStars": "two", "searchMatching": "all", "searchStringsArray": ["restaurant"], "skipClosedPlaces": false, "website": "allPlaces" } - Wait for Finish:
Set tofalse(the workflow will return immediately without waiting for the actor to complete).
- Actor ID:
- Put End block in a workflow.
- Connect the Run Actor block to the End block.
- Create a variable to store results:
- Open the output of the End block.
- Add a variable, e.g.,
result, that maps to the actor’s response.
- Click the Run button.
- Dify will trigger the Apify actor
2Mdma1N6Fd0y3QEjR. - Since
wait_for_finish = false, the workflow will immediately return with the run details (including the run ID). - You can check results in Apify Console Runs Page.
- For Apify documentation, visit docs.apify.com.
- For Dify plugin development, check Dify Plugin Docs.