Request-based anti-bot bypass solution for DataDome & PerimeterX.
Quick Start • Installation • Features • Code Examples • Documentation • Discord
Multiple SDKs for bypassing anti-bot protection systems including DataDome and PerimeterX. Generate valid antibot cookies through a simple request-based API without the overhead of browser automation or headless browsers.
Perfect for web scraping, automation, testing, and bot development that requires bypassing bot detection systems.
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
| Language | Package | Installation |
|---|---|---|
| Go | parallaxapis-sdk-go | go get github.com/ParallaxAPIs/parallax-sdk-go |
| TypeScript | parallaxapis-sdk-ts | npm install parallaxapis-sdk-ts |
| Python | parallaxapis-sdk-py | pip install parallaxapis-sdk-py |
| Playwright | parallaxapis-sdk-playwright | npm install parallaxapis-sdk-playwright |
We provide solutions for all challenges served by these leading anti-bot systems.
What we solve:
- ✅ Slider Captchas - Automatic slider puzzle solving
- ✅ Interstitial Pages - Solve interstitial challenge pages
- ✅ Tags Payload - Create valid tags payloads
- ✅ Cookie Generation - Valid DataDome cookies in ~200ms
- ✅ User Agent Generation - Generate matching user agents
What we solve:
- ✅ Cookie Generation - Valid _px3 cookies in ~350-400ms
- ✅ Web and Mobile supported - Generation on any device
- ✅ Challenge Solver - Automatic HoldCaptcha solving
- ✅ _pxvid, pxcts & _pxhd Tokens - Complete token generation
- 🌍 Geo-Targeting - Support for all regions worldwide
- 🔌 Proxy Support - HTTP/HTTPS/SOCKS5 compatible
- ⚡ Lightning Fast - Sub-millisecond response times for our solutions
- 🔒 Enterprise Security - End-to-end encryption
- Web Scraping - Bypass bot detection for data collection
- Automation Testing - Test websites protected by anti-bot systems
- Price Monitoring - Monitor competitor prices without detection
- SEO Tools - Build SEO tools that work with protected sites
- E-commerce Bots - Automate purchase flows on protected platforms
- Market Research - Gather market intelligence from protected websites
- Inventory Tracking - Monitor stock levels across multiple retailers
- Lead Generation - Extract business data from protected directories
- Travel Aggregation - Collect pricing data from flight and hotel booking sites
- Social Media Analytics - Access and analyze data from protected social platforms
- Real Estate Data - Scrape property listings and market trends
- Job Market Analysis - Aggregate job postings from protected career sites
|
• DataDome cookies in ~200ms • PerimeterX cookies in ~350-400ms • Request-based, no browser overhead |
• Simple REST API • 4+ language SDKs • Comprehensive documentation |
|
• End-to-end encryption • SOC 2 compliant infrastructure |
• 99.9% uptime SLA • Scalable infrastructure • 24/7 support on Discord available |
| 🌐 Browser-Based Solutions | ⚡ Request-Based (Parallax) |
|---|---|
|
Challenges:
|
Benefits:
|
|
Use When:
|
Use When:
|
Go Example
package main
import (
"fmt"
"github.com/ParallaxAPIs/parallaxapis-sdk-go"
)
func main() {
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)
}TypeScript Example
import { DatadomeSDK } from "parallaxapis-sdk-ts";
const sdk = new DatadomeSDK({ apiKey: "Key" });
const [taskData, productType] = sdk.parseChallengeUrl(
"https://www.example.com/captcha/?initialCid=initialCid&cid=cid&referer=referer&hash=hash&t=t&s=1&e=e",
"cookie_value",
);
const cookie = await sdk.generateCookie({
site: "site",
region: "com",
data: taskData,
pd: productType,
proxy: "http://user:pas@addr:port",
proxyregion: "eu"
});
console.log(cookie);Python Example
from parallaxapis_sdk_py.datadome import DatadomeSDK
from parallaxapis_sdk_py.sdk import SDKConfig
from parallaxapis_sdk_py.tasks import TaskGenerateDatadomeCookie
cfg = SDKConfig(
host="host.com", # Optional
api_key="Key",
timeout=60, # Optional: custom timeout
proxy="http://user:[email protected]:8080" # Optional: SDK-level proxy
)
with DatadomeSDK(cfg=cfg) as sdk:
challenge_url = "https://www.example.com/captcha/?initialCid=initialCid&cid=cid&referer=referer&hash=hash&t=t&s=s&e=e"
cookie = "cookie_value"
task_data, product_type = sdk.parse_challenge_url(challenge_url, cookie)
cookie_response = sdk.generate_cookie(TaskGenerateDatadomeCookie(
site="site",
region="com",
data=task_data,
pd=product_type,
proxy="http://user:pas@addr:port", # Task-level proxy (for solving)
proxyregion="eu"
))
print(cookie_response)Playwright Example
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",
})
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);Go Example
package main
import (
"fmt"
"github.com/ParallaxAPIs/parallaxapis-sdk-go"
)
func main() {
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)
//holdcaptcha
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)
}TypeScript Example
import { PerimeterxSDK } from "parallaxapis-sdk-ts";
import type { TaskGenerateHoldCaptcha, TaskGeneratePXCookies } from "parallaxapis-sdk-ts";
const sdk = new PerimeterxSDK({
apiKey: "Key",
});
const result = await sdk.generateCookies({
proxy: "http://user:pas@addr:port",
proxyregion: "eu",
region: "com",
site: "site"
} satisfies TaskGeneratePXCookies);
console.log(JSON.stringify(result))
//holdcaptcha
const holdCaptchaResult = await sdk.generateHoldCaptcha({
proxy: "http://user:pas@addr:port",
proxyregion: "eu",
region: "com",
site: "site",
data: result.data,
} satisfies TaskGenerateHoldCaptcha);
console.log(JSON.stringify(holdCaptchaResult))Python Example
from parallaxapis_sdk_py.perimeterx import AsyncPerimeterxSDK
from parallaxapis_sdk_py.sdk import SDKConfig
from parallaxapis_sdk_py.tasks import TaskGeneratePXCookies, TaskGenerateHoldCaptcha
cfg = SDKConfig(
host="host.com",
api_key="Key",
timeout=60 # Optional: custom timeout
)
async with AsyncPerimeterxSDK(cfg=cfg) as sdk:
result = await sdk.generate_cookies(TaskGeneratePXCookies(
proxy="http://user:pas@addr:port",
proxyregion="eu",
region="com",
site="site"
))
print(result)
hold_captcha_result = await sdk.generate_hold_captcha(TaskGenerateHoldCaptcha(
proxy="http://user:pas@addr:port",
proxyregion="eu",
region="com",
site="site",
data=result['data'],
POW_PRO=None
))
print(hold_captcha_result)Playwright Example
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/"
})
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);Unlock enterprise-grade performance with custom solutions, expanded limits, and expert support. Contact us to learn more.
© 2025 ParallaxSystems. All rights reserved.
