JSPM

parallaxapis-sdk-playwright

1.0.1
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 106
  • Score
    100M100P100Q82356F
  • License MIT

ParallaxAPIs SDK

Package Exports

    This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (parallaxapis-sdk-playwright) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

    Readme

    Parallax Logo ParallaxAPIs Playwright SDK: Datadome & PerimeterX

    Playwright SDK for bypassing DataDome and PerimeterX anti-bot protection.

    📖 Overview

    ParallaxAPIs Playwright SDK provides seamless browser automation without anti-bot barriers. While browser automation is required, we handle all the complexity of bypassing DataDome and PerimeterX protection systems automatically, so you can focus on your automation logic.

    What We Solve:

    • DataDome - Slider captchas, interstitial pages, automatic cookie injection
    • PerimeterX - Automatic cookie generation and injection (_px3), challenge solving

    Key Benefits:

    • Seamless Integration - Effortlessly plug in handlers that work out of the box with your existing Playwright setup
    • 🌉 Best of Both Worlds - Bridge between browser automation and request-based anti-bot solutions
    • 🔧 Simple API - Clean interface with comprehensive documentation
    • 🌐 Full Browser Context - Real browser environment for JavaScript-heavy sites
    • ⚙️ Flexible Configuration - Custom browser options, contexts, and proxy settings
    • 🍪 Automatic Cookie Handling - Set it and forget it - we inject cookies seamlessly
    • 🔄 Always Updated - We handle all reverse engineering and updates for you

    🚀 Quick Start

    Get started with ParallaxAPIs SDK's in under 5 minutes:

    1. Join our Discord - Connect with our community
    2. Create a ticket - Request your API key
    3. Get your free trial - Start testing immediately
    4. Install the SDK - Choose your preferred language
    5. Solve all anti-bots in seconds - Start bypassing DataDome, PerimeterX & more

    📦 Installation

    npm install parallaxapis-sdk-playwright

    NPM Install Playwright Demo


    🧑‍💻 PX Usage

    ⚡ SDK Initialization and usage

    Initialization methods within the SDK will establish a browser environment and configure the necessary solvers. Once you've created these components with our SDK, you're fully prepared to proceed.

    import { PerimeterxHandler } from "parallaxapis-sdk-playwright";
    
    async function main() {
      const [page, browser] = await PerimeterxHandler.init({
        apiKey: "PX-KEY",
        apiHost: "parallaxhost.com", //optional
        proxy: `http://user:password@host:port`,
        proxyRegion: "eu",
        region: "com",
        site: "website",
        websiteUrl: "https://www.website.com/",
        disableLogging: true, // Optional: disable SDK logging
      });
    
      await page.goto("https://www.website.com/");
    
      /*
    
            You can use your browser solution however you want, ParallaxAPIs
            will handle the rest for you.
    
        */
    
      await browser.close();
    }
    
    main().catch(console.error);

    Custom browser or context options

    Additionally, you have the flexibility to provide your own browser configuration and context options as needed.

    import { PerimeterxHandler } from "parallaxapis-sdk-playwright";
    
    async function main() {
      const [page, browser] = await PerimeterxHandler.init(
        {
          apiKey: "PX-KEY",
          apiHost: "parallaxhost.com", //optional
          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, ParallaxAPIs
            will handle the rest for you.
    
        */
    
      await browser.close();
    }
    
    main().catch(console.error);

    ⚙️ SDK Configuration Options

    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", //optional
            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);
    

    Configuration Options

    Core Options:

    • disableLogging (optional): Set to true to disable SDK logging output (default: false)

    SDK Config Options:

    • 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 Dispatcher instance for advanced HTTP client configurations (connection pooling, pipelining, etc.)

    🧑‍💻 Datadome Usage

    import DatadomeHandler from "parallaxapis-sdk-playwright";
    
    async function main() {
      const [page, browser] = await DatadomeHandler.init({
        apiKey: "DD-KEY",
        apiHost: "parallaxhost.com", //optional
        proxy: `http://user:password@host:port`,
        proxyRegion: "eu",
        region: "com",
        site: "website",
        disableLogging: true, // Optional: disable SDK logging
      });
    
      await page.goto("https://www.website.com/");
    
      /*
    
            You can use your browser solution however you want, ParallaxAPIs
            will handle the rest for you.
    
        */
    
      await browser.close();
    }
    
    main().catch(console.error);

    The system supports providing custom browser implementations and context options tailored to your requirements.

    import DatadomeHandler from "parallaxapis-sdk-playwright";
    
    async function main() {
      const [page, browser] = await DatadomeHandler.init(
        {
          apiKey: "DD-KEY",
          apiHost: "parallaxhost.com", //optional
          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, ParallaxAPIs
            will handle the rest for you.
    
        */
    
      await browser.close();
    }
    
    main().catch(console.error);

    Datadome with SDK Configuration

    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", //optional
            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);
    

    📚 Documentation & Help

    🌟 Contributing

    Got feedback or found a bug? Feel free to open an issue or send us a pull request!

    🏢 Enterprise

    Unlock enterprise-grade performance with custom solutions, expanded limits, and expert support. Contact us to learn more.

    📝 License

    MIT


    🔑 Keywords

    DataDome bypassPerimeterX bypassAnti-bot bypassBot detection bypassCAPTCHA solverPlaywright anti-botBrowser automationPlaywright web scrapingDataDome Playwright SDKPerimeterX Playwright SDKAutomated browser bypassPlaywright CAPTCHA solverBrowser fingerprinting bypassHeadless browser anti-botPlaywright automationChallenge solver PlaywrightBrowser-based bypassPlaywright bot detection