Browser-based Playwright integration for bypassing DataDome and PerimeterX anti-bot protection.
Perfect for developers who prefer browser automation over request-based approaches. This SDK seamlessly integrates with Playwright, automatically handling cookie generation and injection while you focus on your automation logic.
- 🎭 Native Playwright Integration: Works directly with your existing Playwright workflows
- 🔄 Automatic Cookie Handling: Transparent cookie generation and injection - set it and forget it
- 🖥️ Full Browser Context: Real browser environment for sites requiring complex JavaScript execution
- ⚡ Zero Configuration: Simple
.init()method handles all setup automatically - 🎯 Flexible Options: Supports custom browser launch options, contexts, and proxy configurations
- 🛠️ Production-Ready: Battle-tested with complex SPAs and JavaScript-heavy websites
Get started with ParallaxAPIs SDK's in under 5 minutes:
- Join our Discord - Connect with our community
- Create a ticket - Request your API key
- Get your free trial - Start testing immediately
- Install the SDK - Choose your preferred language
- Solve all anti-bots in seconds - Start bypassing DataDome, PerimeterX & more
npm install parallaxapis-sdk-playwrightInit methods in sdk will create a browser, and plug solvers for you. You can just create them with our SDK and you are ready to go!
import { PerimeterxHandler } from 'parallaxapis-sdk-playwright'; async function main() { const [page, browser] = await PerimeterxHandler.init({ apiKey: "PX-KEY", apiHost: "parallaxhost.com", proxy: `http://user:password@host:port`, proxyRegion: "eu", region: "com", site: "website", websiteUrl: "https://www.website.com/" }) await page.goto('https://www.website.com/'); ... You can use your browser solution however you want, parallax will handle everything for you. ... await browser.close(); } main().catch(console.error);You can also provide any browser, and context options which you need
import { PerimeterxHandler } from 'parallaxapis-sdk-playwright'; async function main() { const [page, browser] = await PerimeterxHandler.init({ apiKey: "PX-KEY", apiHost: "parallaxhost.com", proxy: `http://user:password@host:port`, proxyRegion: "eu", region: "com", site: "website", websiteUrl: "https://www.website.com/" }, { browserLaunchOptions: { executablePath: "/home/user/chrome/executable" // ...... More options }, contextLaunchOptions: { isMobile: true // ...... More options } }) await page.goto('https://www.website.com/'); ... You can use your browser solution however you want, parallax will handle everything for you. ... await browser.close(); } main().catch(console.error);You can configure SDK-level settings using the sdkConfig option in the initialization config. This allows you to customize request timeouts and use custom dispatchers.
import { PerimeterxHandler } from 'parallaxapis-sdk-playwright'; import { ProxyAgent } from 'undici'; async function main() { const [page, browser] = await PerimeterxHandler.init({ apiKey: "PX-KEY", apiHost: "parallaxhost.com", proxy: `http://user:password@host:port`, proxyRegion: "eu", region: "com", site: "website", websiteUrl: "https://www.website.com/", sdkConfig: { timeout: 30000, // Request timeout in milliseconds (optional) bodyTimeout: 10000, // Body timeout in milliseconds (optional) dispatcher: new ProxyAgent('http://custom-proxy:8080') // Custom proxy dispatcher (optional) } }) await page.goto('https://www.website.com/'); ... await browser.close(); } main().catch(console.error);- timeout (optional): Maximum time in milliseconds for the entire request to complete
- bodyTimeout (optional): Maximum time in milliseconds to wait for the response body
- dispatcher (optional): Custom undici
Dispatcherinstance for advanced HTTP client configurations (connection pooling, pipelining, etc.)
import DatadomeHandler from 'parallaxapis-sdk-playwright'; async function main() { const [page, browser] = await DatadomeHandler.init({ apiKey: "DD-KEY", apiHost: "parallaxhost.com", proxy: `http://user:password@host:port`, proxyRegion: "eu", region: "com", site: "website", }) await page.goto('https://www.website.com/'); ... You can use your browser solution however you want, parallax will handle everything for you. ... await browser.close(); } main().catch(console.error);You can also provide any browser, and context options which you need
import DatadomeHandler from 'parallaxapis-sdk-playwright'; async function main() { const [page, browser] = await DatadomeHandler.init({ apiKey: "DD-KEY", apiHost: "parallaxhost.com", proxy: `http://user:password@host:port`, proxyRegion: "eu", region: "com", site: "website", }, { browserLaunchOptions: { executablePath: "/home/user/chrome/executable" // ...... More options }, contextLaunchOptions: { isMobile: true // ...... More options } }) await page.goto('https://www.website.com/'); ... You can use your browser solution however you want, parallax will handle everything for you. ... await browser.close(); } main().catch(console.error);import DatadomeHandler from 'parallaxapis-sdk-playwright'; import { Agent } from 'undici'; async function main() { const [page, browser] = await DatadomeHandler.init({ apiKey: "DD-KEY", apiHost: "parallaxhost.com", proxy: `http://user:password@host:port`, proxyRegion: "eu", region: "com", site: "website", sdkConfig: { timeout: 30000, // Request timeout in milliseconds bodyTimeout: 10000, // Body timeout in milliseconds dispatcher: new Agent({ connections: 100, pipelining: 10 }) } }, { browserLaunchOptions: { executablePath: "/home/user/chrome/executable" }, contextLaunchOptions: { isMobile: true } }) await page.goto('https://www.website.com/'); ... await browser.close(); } main().catch(console.error);- Full API docs & support: Discord
Got feedback or found a bug? Feel free to open an issue or send us a pull request!
Unlock enterprise-grade performance with custom solutions, expanded limits, and expert support. Contact us to learn more.
MIT
DataDome bypass • PerimeterX bypass • Anti-bot bypass • Bot detection bypass • CAPTCHA solver • Playwright anti-bot • Browser automation • Playwright web scraping • DataDome Playwright SDK • PerimeterX Playwright SDK • Automated browser bypass • Playwright CAPTCHA solver • Browser fingerprinting bypass • Headless browser anti-bot • Playwright automation • Challenge solver Playwright • Browser-based bypass • Playwright bot detection