# Scrape.do to Scrapfly Migration Guide

 Complete parameter mapping and code examples for migrating from Scrape.do to Scrapfly. Most teams complete migration in under 2 hours with zero downtime.

 [  Start For Free - 1,000 Credits ](https://scrapfly.io/register) [  Back to Scrape.do Alternative Page ](https://scrapfly.io/compare/scrapedo-alternative) 

 

 

 

##  [Complete Parameter Mapping](#parameter-mapping) 

 Scrape.do and Scrapfly use different parameter names. This table shows exact mappings for all features.

 | Scrape.do Parameter | Scrapfly Parameter | Notes |
|---|---|---|
| `token` | [`key`](https://scrapfly.io/docs/scrape-api/getting-started#api_param_key) | API authentication key |
| `url` | [`url`](https://scrapfly.io/docs/scrape-api/getting-started#api_param_url) | Target URL to scrape (same) |
| `render` | [`render_js`](https://scrapfly.io/docs/scrape-api/javascript-rendering#api_param_render_js) | Enable JavaScript rendering (render=true becomes render\_js=true) |
| `geoCode` | [`country`](https://scrapfly.io/docs/scrape-api/proxy#country) | 2-letter ISO country code |
| `customWait` | [`rendering_wait`](https://scrapfly.io/docs/scrape-api/javascript-rendering#rendering-wait) | Wait time before returning response |
| `waitSelector` | [`wait_for_selector`](https://scrapfly.io/docs/scrape-api/javascript-rendering#wait-for-selector) | Wait for CSS selector to appear |
| `playWithBrowser` | [`js_scenario`](https://scrapfly.io/docs/scrape-api/javascript-rendering#js-scenario) | Browser interaction scenarios (Scrapfly's JS Scenarios are more powerful) |
| `extraHeaders` | [`headers`](https://scrapfly.io/docs/scrape-api/getting-started#api_param_headers) | Pass headers directly |
| `output` | [`format`](https://scrapfly.io/docs/scrape-api/getting-started#api_param_format) | Response format (markdown, text, clean\_html, json) |
| N/A (no equivalent) | [`asp`](https://scrapfly.io/docs/scrape-api/anti-scraping-protection) | Anti-bot bypass (Scrapfly exclusive) |
| N/A | [`session`](https://scrapfly.io/docs/scrape-api/session) | Session name for persistent cookies/state (Scrapfly exclusive) |
| N/A | [`extraction_prompt`](https://scrapfly.io/docs/extraction-api/getting-started) | AI-powered data extraction (Scrapfly exclusive) |
| N/A | [`cache`](https://scrapfly.io/docs/scrape-api/cache) | Enable response caching (Scrapfly exclusive) |
| N/A | [`auto_scroll`](https://scrapfly.io/docs/scrape-api/javascript-rendering#auto-scroll) | Automatically scroll page to load lazy content (Scrapfly exclusive) |
| N/A | [`tags`](https://scrapfly.io/docs/scrape-api/getting-started#api_param_tags) | Custom tags for request tracking (Scrapfly exclusive) |
| N/A | [`webhook`](https://scrapfly.io/docs/scrape-api/webhook) | Webhook name for async notifications (Scrapfly exclusive) |

 

 

 

 

##  [Migration Code Examples](#code-examples) 

 Side-by-side code examples showing how to migrate from Scrape.do to Scrapfly. Select your language below.

  [  Python ](#python-example) [  JavaScript ](#javascript-example) [  cURL ](#curl-example) 

 ###  Scrape.do

 ```
import requests

url = "https://api.scrape.do"

params = {
    "token": "YOUR_SCRAPEDO_TOKEN",
    "url": "https://web-scraping.dev/products",
    "render": "true",
    "super": "true",
    "geoCode": "us"
}

response = requests.get(url, params=params)

print(response.text)
```

 

 

###  Scrapfly

 ```
from scrapfly import ScrapflyClient, ScrapeConfig

client = ScrapflyClient(key="YOUR_SCRAPFLY_KEY")

result = client.scrape(ScrapeConfig(
    url="https://web-scraping.dev/products",
    render_js=True,
    asp=True,  # Anti-bot bypass
    country="us",
    proxy_pool="public_residential_pool"
))

print(result.content)
```

 

 

 

 

###  Scrape.do

 ```
const axios = require('axios');

const apiUrl = 'https://api.scrape.do';
const params = {
  token: 'YOUR_SCRAPEDO_TOKEN',
  url: 'https://web-scraping.dev/products',
  render: 'true',
  super: 'true',
  geoCode: 'us'
};

axios.get(apiUrl, { params })
  .then(response => {
    console.log(response.data);
  });
```

 

 

###  Scrapfly

 ```
const { ScrapflyClient } = require('scrapfly-sdk');

const client = new ScrapflyClient({
    key: 'YOUR_SCRAPFLY_KEY'
});

const result = await client.scrape({
    url: 'https://web-scraping.dev/products',
    render_js: true,
    asp: true,  // Anti-bot bypass
    country: 'us',
    proxy_pool: 'public_residential_pool'
});

console.log(result.result.content);
```

 

 

 

 

###  Scrape.do

 ```
curl "https://api.scrape.do\
?token=YOUR_SCRAPEDO_TOKEN\
&url=https%3A%2F%2Fexample.com\
&render=true\
&super=true\
&geoCode=us"
```

 

 

###  Scrapfly

 ```
curl "https://api.scrapfly.io/scrape\
?key=YOUR_SCRAPFLY_KEY\
&url=https%3A%2F%2Fexample.com\
&render_js=true\
&asp=true\
&country=us\
&proxy_pool=public_residential_pool"
```

 

 

 

 

 

 

 

 

##  [AI Migration Assistant](#ai-migration) 

 Use Claude or ChatGPT to automatically convert your Scrape.do code to Scrapfly. Copy this prompt and paste it along with your existing code.

####  Copy This Prompt

 ```
I'm migrating from Scrape.do to Scrapfly. Here's my current code using Scrape.do's API.
Please convert it to use Scrapfly's Python SDK (or JavaScript SDK if my code is in JavaScript).

Key parameter mappings:
- token → key
- render=true → render_js=True
- super=true → asp=True (Scrapfly's ASP is much more capable)
- geoCode → country (2-letter ISO code)
- waitUntil → rendering_wait
- sessionId → session
- customHeaders → headers (pass directly)
- output → format
- playWithBrowser → js_scenario (Scrapfly's JS Scenarios)

Important additions for Scrapfly:
- Add asp=True for anti-bot bypass (Scrapfly's key feature)
- Use proxy_pool="public_residential_pool" for residential proxies
- Use wait_for_selector for waiting on specific elements

Scrapfly SDK Docs (markdown for LLM): https://scrapfly.io/docs/sdk/python?view=markdown
Scrapfly API Docs (markdown for LLM): https://scrapfly.io/docs/scrape-api/getting-started?view=markdown

My current Scrape.do code:
[PASTE YOUR CODE HERE]
```

 

  **How to Use:**1. Copy the prompt above
2. Open [Claude](https://claude.ai) or [ChatGPT](https://chat.openai.com)
3. Paste the prompt and replace `[PASTE YOUR CODE HERE]` with your Scrape.do code
4. Review the generated Scrapfly code and test it with your free 1,000 credits
 
 **Developer Tools:** Use our [cURL to Python converter](https://scrapfly.io/web-scraping-tools/curl-python) and [selector tester](https://scrapfly.io/web-scraping-tools/css-xpath-tester) to speed up development.

 

 

 

 

 

##  [Scrapfly Exclusive Features](#exclusive-features) 

 Features available in Scrapfly that aren't available in Scrape.do.

 [####  Anti-Scraping Protection (ASP)

Industry-leading anti-bot bypass for Cloudflare, DataDome, PerimeterX, and more. 98% success rate on protected sites with default settings.

 ](https://scrapfly.io/docs/scrape-api/anti-scraping-protection) [####  Extraction API

AI-powered data extraction with pre-built models for products, articles, jobs, and more. Use LLM prompts for custom extraction without CSS selectors.

 ](https://scrapfly.io/products/extraction-api) [####  Proxy Saver

Bandwidth optimization that cuts residential proxy costs by 50%. Blocks junk traffic, stubs images/CSS, and caches responses.

 ](https://scrapfly.io/products/proxy-saver) [####  Official SDKs

First-class SDKs for Python, JavaScript/TypeScript, Go, and Scrapy. No manual HTTP client setup required.

 ](https://scrapfly.io/docs/sdk) [####  Advanced JS Scenarios

More powerful browser interactions than Scrape.do's playWithBrowser: clicks, form fills, scrolls, and conditional logic.

 ](https://scrapfly.io/products/web-scraping-api) [####  Crawler API

Automated multi-page crawling with intelligent link discovery, sitemap support, and per-URL extraction rules.

 ](https://scrapfly.io/products/crawler-api) 

 

 

 

##  [Frequently Asked Questions](#faq) 

  #### How do I handle Scrape.do's `super=true` parameter?

Scrape.do's "super" mode uses premium proxies for anti-bot bypass. In Scrapfly, anti-bot bypass and proxy selection are separate concerns:

 ```
# Scrape.do
super = "true"

# Scrapfly
asp = True  # Anti-bot bypass (much more capable)
proxy_pool = "public_residential_pool"  # For residential proxies
```

 

Scrapfly's [ASP technology](https://scrapfly.io/docs/scrape-api/anti-scraping-protection) goes beyond proxy rotation, it matches real browser TLS fingerprints, HTTP/2 signatures, and JavaScript environments for much higher success rates.

 

   #### How do I migrate Scrape.do's `playWithBrowser` interactions?

Scrapfly's [JS Scenarios](https://scrapfly.io/docs/scrape-api/javascript-rendering) are more powerful than Scrape.do's playWithBrowser:

 ```
# Scrapfly JS Scenario example - login form automation
result: ScrapeApiResponse = client.scrape(ScrapeConfig(
    url="https://web-scraping.dev/login",
    render_js=True,
    screenshots={"test": "fullpage"},
    js_scenario=[
        {"fill": {"selector": "input[name='username']", "clear": True, "value": "user123"}},
        {"fill": {"selector": "input[name='password']", "clear": True, "value": "password"}},
        {"click": {"selector": "form > button[type='submit']"}},
        {"wait_for_navigation": {"timeout": 5000}}
    ],
    headers={"cookie": "cookiesAccepted=true"}
))
```

 

JS Scenarios support clicks, form fills, scrolls, keyboard input, navigation waits, screenshots, and more.

 

   #### Does Scrapfly support Scrape.do's `geoCode` targeting?

Yes. Scrapfly uses the `country` parameter with the same 2-letter ISO codes:

 ```
# Scrape.do
geoCode = "us"

# Scrapfly
country = "us"  # Same 2-letter ISO code
```

 

Scrapfly supports [50+ countries](https://scrapfly.io/docs/scrape-api/proxy) with both residential and datacenter proxies included in all plans.

 

   #### How do I test my migration?

1. **Sign up for free:** Get 1,000 API credits with no credit card required
2. **Run parallel testing:** Keep Scrape.do running while testing Scrapfly
3. **Compare results:** Verify that Scrapfly returns the same data (likely with higher success rate)
4. **Gradual migration:** Switch traffic gradually (e.g., 10% → 50% → 100%)
 
 

  

 

 

 

## Start Your Migration Today

Test Scrapfly on your targets with 1,000 free API credits. No credit card required.

- 1,000 free API credits
- Full API access
- Official SDKs included
- Same-day response from our team
 
 [  Start For Free ](https://scrapfly.io/register) Need help with migration? [Contact our team ](mailto:support@scrapfly.io)