Skip to content

ParallaxAPIs/parallaxapis-sdk-go

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

45 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Parallax Logo ParallaxAPIs Go SDK: Datadome & PerimeterX

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

πŸ“– Overview

ParallaxAPIs provides a request-based solution for bypassing DataDome and PerimeterX anti-bot systems. Instead of relying on slow, resource-heavy browser automation, our API generates valid cookies and tokens in 200-400ms through direct HTTP requests.

What We Solve:

  • βœ… DataDome - Slider captchas, interstitial pages, cookie generation, tags payload
  • βœ… PerimeterX - Cookie generation (_px3), challenge solver, vid & cts tokens

Key Benefits:

  • ⚑ Lightning Fast - 200-400ms response times vs 5-10+ seconds for browsers
  • πŸ”§ Simple Integration - Clean API with comprehensive documentation, no browser management required
  • πŸš€ Highly Scalable - Handle thousands of concurrent requests with minimal resources
  • βš™οΈ Flexible Configuration - Custom timeouts, HTTP clients, and proxy settings
  • πŸ’° Cost Effective - Lightweight infrastructure, minimal proxy usage
  • πŸ”„ 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

go get github.com/parallaxapis/parallaxapis-sdk-go

Go Get Demo


πŸ§‘β€πŸ’» Datadome Usage

⚑ SDK Initialization

import (
    "time"
    "github.com/ParallaxAPIs/parallaxapis-sdk-go"
)

// Basic initialization with API key
sdk := parallaxsdk.NewDatadomeSDK("Key", "")

// Custom host
sdk := parallaxsdk.NewDatadomeSDK("Key", "https://example.host.com")

// With custom timeout (default is 30 seconds)
sdk := parallaxsdk.NewDatadomeSDK("Key", "", parallaxsdk.WithCustomTimeout(60*time.Second))

// With HTTP proxy for client requests
sdk := parallaxsdk.NewDatadomeSDK("Key", "", parallaxsdk.WithClientProxy("http://user:pass@proxy.example.com:8080"))

// Multiple options combined
sdk := parallaxsdk.NewDatadomeSDK("Key", "https://example.host.com",
    parallaxsdk.WithCustomTimeout(45*time.Second),
    parallaxsdk.WithClientProxy("http://user:pass@proxy.example.com:8080"))

πŸ•΅οΈβ€β™‚οΈ Generate New User Agent

sdk := parallaxsdk.NewDatadomeSDK("Key", "")

userAgent, err := sdk.GenerateUserAgent(parallaxsdk.TaskGenUserAgent{
    Region: "com",
    Site: "site",
})
if err != nil {
    panic(err)
}

fmt.Println(userAgent)

πŸ” Get Task Data

sdk := parallaxsdk.NewDatadomeSDK("Key", "")

challengeURL := "https://www.example.com/captcha/?initialCid=initialCid&cid=cid&referer=referer&hash=hash&t=t&s=1&e=e"
cookie := "cookie_value"

taskData, productType, err := parallaxsdk.ParseChallengeURL(challengeURL, cookie)
if err != nil {
    panic(err)
}

fmt.Println(taskData, productType)

πŸ“„ Parse Challenge HTML

htmlBody := "<html><script>dd={example:1}</script></html>"
prevCookie := "cookie_value"

taskData, productType, err := parallaxsdk.ParseChallengeHTML(htmlBody, prevCookie)
if err != nil {
    panic(err)
}

fmt.Println(taskData, productType)

πŸͺ Generate Cookie

sdk := parallaxsdk.NewDatadomeSDK("Key", "")

challengeURL := "https://www.example.com/captcha/?initialCid=initialCid&cid=cid&referer=referer&hash=hash&t=t&s=1&e=e"
cookie := "cookie_value"

taskData, productType, err := parallaxsdk.ParseChallengeURL(challengeURL, cookie)
if err != nil {
    panic(err)
}

cookieResp, err := sdk.GenerateDatadomeCookie(parallaxsdk.TaskDatadomeCookie{
    Site: "site",
    Region: "com",
    Data: *taskData,
    Pd: productType,
    Proxy: "http://user:pas@addr:port",
    Proxyregion: "eu",
})
if err != nil {
    panic(err)
}

fmt.Println(cookieResp)

🏷️ Generate Tags Cookie

sdk := parallaxsdk.NewDatadomeSDK("Key", "")

cookieResp, err := sdk.GenerateDatadomeTagsCookie(parallaxsdk.TaskDatadomeTagsCookie{
    Site: "site",
    Region: "com",
    Proxy: "http://user:pas@addr:port",
    Proxyregion: "eu",
    Cid: "cookie_value"
})
if err != nil {
    panic(err)
}

fmt.Println(cookieResp)

πŸ” Detect and Parse Challenge

sdk := parallaxsdk.NewDatadomeSDK("Key", "")

responseBody := "<html>...</html>" // Response body from website
prevCookie := "cookie_value"

isBlocked, taskData, productType, err := parallaxsdk.DetectChallengeAndParse(responseBody, prevCookie)
if err != nil {
    panic(err)
}

if isBlocked {
    cookieResp, err := sdk.GenerateDatadomeCookie(parallaxsdk.TaskDatadomeCookie{
        Site: "site",
        Region: "com",
        Data: *taskData,
        Pd: productType,
        Proxy: "http://user:pas@addr:port",
        Proxyregion: "eu",
    })
    if err != nil {
        panic(err)
    }

    fmt.Println(cookieResp)
}

πŸ›‘οΈ Perimeterx Usage

⚑ SDK Initialization

import (
    "time"
    "github.com/ParallaxAPIs/parallaxapis-sdk-go"
)

// Basic initialization with API key
sdk := parallaxsdk.NewPerimeterxSDK("Key", "")

// Custom host
sdk := parallaxsdk.NewPerimeterxSDK("Key", "example.host.com")

// With custom timeout (default is 30 seconds)
sdk := parallaxsdk.NewPerimeterxSDK("Key", "", parallaxsdk.WithCustomTimeout(60*time.Second))

// With HTTP proxy for client requests
sdk := parallaxsdk.NewPerimeterxSDK("Key", "", parallaxsdk.WithClientProxy("http://user:pass@proxy.example.com:8080"))

// Multiple options combined
sdk := parallaxsdk.NewPerimeterxSDK("Key", "example.host.com",
    parallaxsdk.WithCustomTimeout(45*time.Second),
    parallaxsdk.WithClientProxy("http://user:pass@proxy.example.com:8080"))

πŸͺ Generate PX Cookie

sdk := parallaxsdk.NewPerimeterxSDK("Key", "")

result, err := sdk.GenerateCookies(parallaxsdk.TaskGeneratePXCookies{
    Proxy: "http://user:pas@addr:port",
    Proxyregion: "eu",
    Region: "com",
    Site: "site",
})
if err != nil {
    panic(err)
}

fmt.Printf(result)


holdCaptchaResult, err := sdk.GenerateHoldCaptcha(parallaxsdk.TaskGenerateHoldCaptcha{
    Proxy: "http://user:pas@addr:port",
    Proxyregion: "eu",
    Region: "com",
    Site: "site",
    Data: result.Data,
    PowPro: "",
})
if err != nil {
    panic(err)
}

fmt.Printf(holdCaptchaResult)

πŸ“š 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 bypass β€’ PerimeterX bypass β€’ Anti-bot bypass β€’ Bot detection bypass β€’ CAPTCHA solver β€’ Cookie generator β€’ Go web scraping β€’ Go bot automation β€’ Golang anti-bot β€’ DataDome Go SDK β€’ PerimeterX Go SDK β€’ Headless browser alternative β€’ Request-based bypass β€’ Go automation β€’ Web scraping Go β€’ Bot mitigation bypass β€’ Sensor data generation β€’ Challenge solver

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages