---
title: "Moving from Apify · Scrape.ly Docs"
description: "Bring your Apify tasks, schedules, and integrations over in one step, and get 25% off your first month."
url: https://scrape.ly/docs/move-from-apify
markdown: https://scrape.ly/docs/move-from-apify.md
---

# Moving from Apify

> Bring your Apify tasks, schedules, and integrations over in one step, and get 25% off your first month.

If you use Apify today, **Move from Apify** in the [dashboard](https://my.scrape.ly/import/apify) brings your setup over in one step. It reads your Apify account, shows what it becomes on Scrape.ly, and sets it up under your account when you confirm. Your tasks become saved inputs, your schedules become automations, and your integrations become webhooks or automation messages.

You can start it in three places:

- the **Move from Apify** page, at `/import/apify` in the dashboard;
- the link **Moving from Apify? Bring your tasks and schedules over** under **Settings** → **API & Integrations**;
- the [AI chat](https://scrape.ly/docs/ai-chat.md): ask it to move your setup from Apify (see [In the AI chat](#in-the-ai-chat)).

On the Free plan, a bar at the top of the dashboard also offers the move with 25% off your first month. **Move now** opens the page.

## Connect your Apify account

Choose one:

- **Connect Apify** (recommended): you sign in to Apify and approve access. There is no token to find or paste.
- **Paste an API token instead**: copy your token from Apify Console → **Settings** → **API & Integrations** and paste it.

Either way, Scrape.ly only reads your setup and, after the move, pauses the Apify schedules that moved. Nothing else on your Apify account is changed. Apify's sign-in grants full API access (it has no narrower option), and Scrape.ly uses it for these two things only.

The token is kept encrypted for at most 24 hours so you never have to enter it twice, and it is deleted as soon as the move is done. It is never sent to the AI.

## Reading your account

Scrape.ly reads your Apify account, tasks, schedules, and integrations, and the runs of the last 30 days to see which Actors you use and how. A progress bar shows each step; a big account takes about a minute.

You can read an Apify account up to 10 times an hour. The preview it builds stays valid for 30 minutes. If it expires before you move, read your account again.

## What moves

| On Apify | On Scrape.ly |
| --- | --- |
| Task | A [saved input](https://scrape.ly/docs/integrations.md) on the matching Scrape.ly Actor. |
| Schedule | An [automation](https://scrape.ly/docs/automations.md) with the same cron expression and time zone, switched on if it was on at Apify. A seconds field is dropped, so it runs on the minute. |
| Webhook to your own URL | A [webhook](https://scrape.ly/docs/api-webhooks.md) to the same URL for the same run events, with its payload and headers templates. |
| Slack message, email, or Google Drive integration | A Slack or email message in the task's automation. Google Drive files arrive by email at your account address. These need a schedule to move. |
| Actors you run from your own code | Nothing to set up: change one line in your client (see [Your code and AI agent](#your-code-and-ai-agent)). |

Inputs carry over field by field. Fields that the Scrape.ly Actor doesn't have are left out, and the row says which ones. Apify proxy settings are always left out, because Scrape.ly Actors choose their own proxy. Some Apify options become a second step in the automation. For example, Google Maps reviews are collected by a second scraper that runs on the places the first one found.

Notes on a row tell you what needs a step from you. For example, connect Slack once under **Settings** → **Connections**, or open the confirmation email before messages go to a new address.

### What stays on Apify

- **Your own Actors.** Only Store Actors with a matching Scrape.ly Actor move.
- **Tasks and schedules whose scraper isn't on Scrape.ly yet.** If the scraper ran in the last 30 days or is on a schedule that is switched on, the move sends the Scrape.ly team a request to build it, and the preview marks it **We're building it**. If it wasn't used lately, it isn't moved.
- **Webhooks that start another run on Apify.** The row says that the follow-up run isn't moved.
- **Zapier, Make, and similar flows that read results from Apify.** The row asks you to switch the flow's Apify step to Scrape.ly.
- **GitHub issue integrations.** Connect GitHub on Scrape.ly and add it to the automation yourself.
- **Past runs and their results.** They aren't copied.

## Move it

The preview shows what moves, what stays, and one or two buttons.

**Move to Scrape.ly** is shown when your setup fits your current Scrape.ly plan. It sets up everything at once.

When your setup needs more automations, saved inputs, or concurrent runs than your plan has, and a bigger plan has room for it, you get two buttons:

- **Upgrade to Starter & move** (named after the smallest plan that fits your setup) upgrades you to that plan, then moves everything. If you get the [switch offer](#25-off-your-first-month), the button adds **25% off first month**. You pay by card at checkout, and the payment page shows the discount. After paying, you return to the Move from Apify page and the move finishes on its own, even if you close the tab. Your preview is held for 24 hours while you pay.
- **Move what fits now** moves what your current plan has room for. A schedule that doesn't fit is set up as a saved input without a schedule, and the summary offers the upgrade for the rest.

### On Apify

Once the move is done, the Apify schedules that moved are paused, so nothing runs twice. They aren't deleted: switch one back on in Apify Console if you need it. If a schedule couldn't be paused, the summary says so and links to your Apify schedules so you can turn it off yourself. Schedules that didn't move stay as they are.

If you're on a paid Apify plan, the summary links to Apify's billing page. Scrape.ly can't cancel your Apify plan for you.

### Your code and AI agent

The summary shows the one change your code needs: point your `ApifyClient` at the Scrape.ly API and use your Scrape.ly token. For JavaScript or Python it looks like this:

```js
const client = new ApifyClient({
    token: process.env.SCRAPELY_TOKEN,
    baseUrl: 'https://api.scrape.ly',
});
```

```python
client = ApifyClient(
    os.environ["SCRAPELY_TOKEN"],
    api_url="https://api.scrape.ly")
```

For plain HTTP calls, replace `https://api.apify.com/v2/` with `https://api.scrape.ly/v2/`. The [JavaScript](https://scrape.ly/docs/client-js.md#migrating-from-apify-client) and [Python](https://scrape.ly/docs/client-python.md#migrating-from-apify-client) clients explain the switch in more detail.

The summary also lists the Scrape.ly name of each Actor your code runs, and **Copy prompt for your AI agent** copies a prompt that connects your AI agent to Scrape.ly over [MCP](https://scrape.ly/docs/mcp.md).

## In the AI chat

Ask the [AI chat](https://scrape.ly/docs/ai-chat.md) to move your setup from Apify. It shows a **Connect Apify** card, or you paste your Apify API token into the chat. A pasted token is taken out of your message before the AI sees it, and it isn't saved in the chat.

The chat then shows the same preview as a card with the same buttons. You can also reply "yes" instead of pressing a button: that runs the move without an upgrade (**Move to Scrape.ly**, or **Move what fits now** when your plan is too small). The upgrade button works as on the page and brings you back to the chat after paying.

## 25% off your first month

When you move from Apify, you get 25% off the first payment of any paid Scrape.ly plan. You get it when:

- your Apify account is in use: at least one run in the last 30 days, or at least one task or schedule;
- the move has something to do on Scrape.ly: a task, schedule, or integration to set up, Actors your code runs that have a match here, or a scraper to build for you;
- you're not on a paid Scrape.ly plan yet.

It is given once per Scrape.ly account and once per Apify account. The preview shows it when you qualify. It is added to your account when you move or press the upgrade button, and it applies to your first card payment for a plan, whether you pay from the Move from Apify page, the chat, or **Billing**. Your plan renews at the full price.

Questions about moving: [hello@scrape.ly](mailto:hello@scrape.ly).

---

- Previous: [Use Actors](https://scrape.ly/docs/use-actors.md)
- Next: [Find Actors in the Store](https://scrape.ly/docs/store.md)
- All docs: [Docs index](https://scrape.ly/docs.md), [llms.txt](https://scrape.ly/llms.txt)
