Zapier app
Run Actors from Zaps, send results to other apps, and start Zaps when runs finish.
The Scrape.ly app for Zapier connects Actors to thousands of other apps without code. Start a run when something happens in another app, send results to a spreadsheet or CRM when a run finishes, or react to builds of your own Actors.
Connect your account
- Open the Scrape.ly invite link and accept it. The app is private, so it only appears in Zapier after you accept.
- In a Zap, add a Scrape.ly step and click Sign in.
- Paste a Scrape.ly API key. Create one in the dashboard under Settings → API & Integrations → API keys.
Zapier shows the connection under your Scrape.ly username. A scoped key works too, as long as it has the scopes of the steps you use (see Scopes).
Triggers
| Trigger | Starts the Zap when | Type |
|---|---|---|
| Actor Run Event | A run of the Actor you pick starts, succeeds, fails, times out, or is aborted. Leave the Actor empty to trigger on runs of every Actor in your account. | Instant |
| Task Run Event | The same, for a saved task. | Instant |
| Actor Build Event | A build of one of your own Actors starts, succeeds, fails, times out, or is aborted. | Instant |
| New Dataset Item | A new item is added to the dataset you pick. | Every few minutes |
Events in the instant triggers picks which outcomes start the Zap. Empty means every finished state: succeeded, failed, timed out, and aborted.
Instant triggers use webhooks. Turning the Zap on creates a webhook in your account, and turning it off deletes it. They count toward your webhook limit, and you see them under Automations → Webhooks. Each trigger only fires for your own runs.
The trigger's data is the run (or build), with eventType added. Use defaultDatasetId in a Find Dataset Item step to read the run's results.
Actions
| Action | What it does |
|---|---|
| Run Actor | Starts a run. Its input fields come from the Actor's input form, plus an Input JSON field for anything else. |
| Run Task | Starts a run of a saved task. The Actor's input fields (all optional) and Input overrides replace matching fields of its saved input. |
| Run Actor and Get Results | Runs an Actor, waits up to 20 seconds, and returns its results. |
| Run Task and Get Results | The same for a saved task. |
| Abort Run | Stops a running run, optionally gracefully. |
| Resurrect Run | Restarts a finished run with the same storages. |
| Build Actor | Starts a build of one of your Actors. |
| Create Task | Saves an Actor with an input and options as a task. |
| Update Task Input | Replaces a task's saved input. |
| Push Items to Dataset | Adds one item (a JSON object) or several (a JSON array) to a dataset. Give a name instead of picking one to create the dataset if it doesn't exist. |
| Set Key-Value Store Record | Saves a JSON or text value, or a file such as an image or PDF, under a key. Give a store name to create the store if it doesn't exist. |
| Create Schedule | Runs an Actor or task on a cron schedule. |
Run Actor and Run Task take Build, Memory, and Timeout for the run, and Wait for finish (up to 20 seconds). For Actors that charge per result or per event, Max charged results and Max cost (USD) cap what the run can cost. The "and Get Results" actions also take Results to return (up to 1,000, default 100), which limits only what the step returns, not what the run scrapes or charges.
Searches
| Search | Finds |
|---|---|
| Find Dataset Item | Items of a dataset, as one result with an items list and itemsCount. Set Limit (up to 1,000), Offset, and Fields. |
| Find Run Log | A run's log: the last line, the last 10,000 characters (where a failed run's error is), and the whole log as a file. |
| Find Last Run | The latest run of an Actor or task, optionally with a given status. |
| Find Run | A run by its ID. |
| Find Actor | An Actor by its ID or username/actor-name. |
| Find Task | A saved task by its ID. |
| Find Key-Value Store Record | The value under a key. JSON values are also spread into separate fields; files such as screenshots and PDFs come back as a file you can pass to other apps. |
When nothing is found, the search returns no result, so you can use Zapier's If nothing is found options.
Long runs
Zapier gives each step about 30 seconds. Run Actor and Get Results and Run Task and Get Results only work for runs that finish within 20 seconds; a longer run keeps running and the step reports that it is still running.
For longer runs, split the work into two Zaps:
- Zap 1: your trigger → Run Actor (or Run Task).
- Zap 2: Actor Run Event (Succeeded) → Find Dataset Item with the trigger's
defaultDatasetId→ send the results where you need them.
Scopes
A scoped API key needs these scopes for each step:
| Steps | Scopes |
|---|---|
| Sign in | any key |
| Instant triggers | webhooks:write, actors:run, runs:read, run permission Actor's own permission level, no Actor restriction or spending cap |
| New Dataset Item, Find Dataset Item, Push Items to Dataset | datasets:read, or datasets:write to push |
| Run Actor, Run Task, Run Actor and Get Results, Run Task and Get Results, Resurrect Run | actors:run, runs:read, plus datasets:read to get results |
| Abort Run | runs:write |
| Find Run, Find Run Log, Find Last Run | runs:read |
| Build Actor | actors:build |
| Create Task, Update Task Input, Find Task | tasks:write or tasks:read |
| Find / Set Key-Value Store Record | keyValueStores:read or keyValueStores:write |
| Create Schedule | schedules:write, actors:run |
| Dropdowns and Find Actor | actors:read, tasks:read, datasets:read, keyValueStores:read, runs:read |