Scrape And Bypass Any Url Using Scrappey avatar
Scrape And Bypass Any Url Using Scrappey

Pricing

Pay per usage

Go to Apify Store
Scrape And Bypass Any Url Using Scrappey

Scrape And Bypass Any Url Using Scrappey

A template for scraping data from web pages using the Scrappey.com API service integrated with an Apify Actor. This actor provides a robust solution for handling complex web scraping scenarios, including sites with anti-bot protection such as Cloudflare, Datadome, PerimeterX and all other forms.

Pricing

Pay per usage

Rating

5.0

(3)

Developer

Pim

Pim

Maintained by Community

Actor stats

7

Bookmarked

146

Total users

8

Monthly active users

a day ago

Last modified

Share

Scrappey Web Scraper for Apify

Web scraping actor with automatic Cloudflare bypass, antibot solving, captcha solving, and browser automation. Powered by Scrappey.com API.

Features

  • Cloudflare Bypass - Automatically bypass Cloudflare protection and challenge pages
  • Antibot Solving - Handle Datadome, PerimeterX, Kasada, Akamai, AWS WAF, and Incapsula
  • Captcha Solving - Automatic solving for reCAPTCHA v2/v3, hCaptcha, Turnstile, FunCaptcha, and MTCaptcha
  • Browser Automation - Full browser control with 20+ action types including click, type, scroll, and JavaScript execution
  • Session Management - Maintain cookies and state across multiple requests
  • Proxy Support - Built-in proxy rotation with country selection, premium, and mobile proxy options
  • All HTTP Methods - Support for GET, POST, PUT, DELETE, and PATCH requests
  • Data Extraction - CSS selectors, regex patterns, screenshots, and video recording

Quick Start

Input Configuration

{
"scrappeyApiKey": "your-api-key",
"url": "https://example.com",
"cmd": "request.get"
}

Get your API key at https://scrappey.com

Basic GET Request

{
"scrappeyApiKey": "your-api-key",
"url": "https://httpbin.rs/get",
"cmd": "request.get"
}

POST Request with Data

{
"scrappeyApiKey": "your-api-key",
"url": "https://httpbin.rs/post",
"cmd": "request.post",
"postData": {
"username": "user",
"password": "pass"
}
}

Browser Automation

{
"scrappeyApiKey": "your-api-key",
"url": "https://example.com/login",
"browserActions": [
{ "type": "wait_for_selector", "cssSelector": "#login-form" },
{ "type": "type", "cssSelector": "#username", "text": "myuser" },
{ "type": "type", "cssSelector": "#password", "text": "mypassword" },
{ "type": "click", "cssSelector": "#submit", "waitForSelector": ".dashboard" }
]
}

Automatic Captcha Solving

{
"scrappeyApiKey": "your-api-key",
"url": "https://protected-site.com",
"automaticallySolveCaptchas": true,
"alwaysLoad": ["recaptcha", "hcaptcha", "turnstile"]
}

Geo-Targeted Scraping

{
"scrappeyApiKey": "your-api-key",
"url": "https://example.com",
"proxyCountry": "UnitedStates",
"premiumProxy": true
}

Screenshot Capture

{
"scrappeyApiKey": "your-api-key",
"url": "https://example.com",
"screenshot": true,
"screenshotUpload": true
}

Input Options

Required

OptionTypeDescription
scrappeyApiKeystringYour Scrappey API key
urlstringTarget URL to scrape

HTTP Method

OptionTypeDefaultDescription
cmdstringrequest.getHTTP method: request.get, request.post, request.put, request.delete, request.patch
postDataobject-Request body for POST, PUT, PATCH
requestTypestringbrowserbrowser for full rendering, request for HTTP-only (faster)

Proxy Configuration

OptionTypeDescription
proxystringCustom proxy URL (http://user:pass@ip:port)
proxyCountrystringRequest proxy from country (e.g., UnitedStates, Germany)
premiumProxybooleanUse premium residential proxies
mobileProxybooleanUse mobile carrier proxies

Antibot Bypass

OptionTypeDescription
cloudflareBypassbooleanEnable Cloudflare-specific bypass
datadomeBypassbooleanEnable Datadome bypass
kasadaBypassbooleanEnable Kasada bypass

Captcha Solving

OptionTypeDescription
automaticallySolveCaptchasbooleanAuto-solve detected captchas
alwaysLoadarrayCaptcha types to load: recaptcha, hcaptcha, turnstile

Response Options

OptionTypeDescription
screenshotbooleanCapture page screenshot
screenshotUploadbooleanUpload screenshot to storage
videobooleanRecord browser session
cssSelectorstringExtract content by CSS selector
innerTextbooleanInclude page text content
includeImagesbooleanInclude image URLs
includeLinksbooleanInclude link URLs

Session and Cookies

OptionTypeDescription
sessionstringSession ID for state persistence
cookiejararrayCookies to set before request
localStorageobjectLocal storage data to set

Output Data

{
"url": "https://example.com",
"cmd": "request.get",
"verified": true,
"statusCode": 200,
"currentUrl": "https://example.com",
"userAgent": "Mozilla/5.0...",
"cookies": [],
"cookieString": "",
"responseHeaders": {},
"requestHeaders": {},
"html": "<html>...</html>",
"innerText": "Page content...",
"ipInfo": {
"country": "United States",
"city": "New York"
},
"session": "session-id",
"timeElapsed": 1234,
"screenshot": "base64...",
"screenshotUrl": "https://...",
"timestamp": "2025-01-09T12:00:00.000Z"
}

Browser Actions

Execute automated browser interactions:

ActionDescription
clickClick an element
typeType text into input
waitWait for milliseconds
wait_for_selectorWait for element to appear
scrollScroll to element or bottom
hoverHover over element
keyboardPress keyboard keys
dropdownSelect dropdown option
execute_jsRun JavaScript code
solve_captchaSolve captcha manually
ifConditional execution
whileLoop execution
gotoNavigate to URL

Example: Login Flow

{
"browserActions": [
{ "type": "wait_for_selector", "cssSelector": "#login-form" },
{ "type": "type", "cssSelector": "#email", "text": "user@example.com" },
{ "type": "type", "cssSelector": "#password", "text": "password123" },
{ "type": "solve_captcha", "captcha": "turnstile" },
{ "type": "click", "cssSelector": "#submit", "waitForSelector": ".dashboard" },
{ "type": "execute_js", "code": "document.querySelector('.user-name').innerText" }
]
}

Error Codes

CodeDescriptionSolution
CODE-0001Server overloadRetry with backoff
CODE-0002Cloudflare blockedTry different proxy
CODE-0007Proxy errorCheck proxy credentials
CODE-0010Datadome blockedUse premium proxy
CODE-0029Too many sessionsWait for cleanup
CODE-0032Turnstile unsolvableRetry request

Local Development

Setup

git clone https://github.com/pim97/apify-scrappey
cd apify-scrappey
npm install

Run Locally

# Set input in storage/key_value_stores/default/INPUT.json
npm run start:dev

Run Tests

$npm test

Build

$npm run build

Deploy to Apify

apify login
apify push

CI/CD

The repository includes GitHub Actions for automatic deployment:

  1. Tests run on every push and pull request
  2. Deployment to Apify triggers on:
    • Push to main/master branch
    • New release published

Set APIFY_TOKEN secret in your repository settings.

Resources

Support

License

MIT License