Hyper Solutions SDK - Python Library for Bot Protection Bypass (Akamai, Incapsula, Kasada, DataDome)
A powerful Python SDK for bypassing modern bot protection systems including Akamai Bot Manager, Incapsula, Kasada, and DataDome. Generate valid cookies, solve anti-bot challenges, and automate protected endpoints with ease.
Perfect for web scraping, automation, and data collection from protected websites.
🔑 Getting API Access
Before using this SDK, you'll need an API key from Hyper Solutions:
- Visit hypersolutions.co to create your account
- Choose your plan:
- 💳 Pay-as-you-go: Perfect for testing and small-scale usage
- 📊 Subscription plans: Cost-effective for high-volume applications
- Get your API key from the dashboard
- Start bypassing bot protection with this SDK!
🚀 Quick Start
from hyper_sdk import Session, SensorInput
session = Session("your-api-key")
# Generate Akamai sensor data
sensor_data, sensor_context = session.generate_sensor_data(SensorInput(
# sensor input fields
))
print(f"Generated sensor data: {sensor_data}")
print(f"Sensor context: {sensor_context}")
✨ Features
- 🛡️ Akamai Bot Manager: Generate sensor data, handle pixel challenges, validate cookies
- 🔒 Incapsula Protection: Generate Reese84 sensors and UTMVC cookies
- ⚡ Kasada Bypass: Generate payload data (CT) and POW tokens (CD)
- 🎯 DataDome Solutions: Solve tags, slider captchas and interstitial challenges
- 🔧 Easy Integration: Simple Python API with async/await support
- ⚙️ Flexible Configuration: Custom HTTP clients and session management
📦 Installation
Install the Hyper Solutions SDK for Python using:
pip install hyper-sdk
📋 Table of Contents
- Quick Start
- Installation
- Basic Usage
- Akamai Bot Manager
- Incapsula Protection
- Kasada Bypass
- DataDome Solutions
- Documentation
- Contributing
- License
🔧 Basic Usage
Creating a Session
Initialize the SDK with your API key to start bypassing bot protection:
from hyper_sdk import Session
# Basic session
session = Session("your-api-key")
# Advanced session with custom configuration
session = Session(
api_key="your-api-key",
jwt_key="your-jwt-key",
app_key="your-app-key",
app_secret="your-app-secret",
client=custom_http_client
)
🛡️ Akamai Bot Manager
Bypass Akamai Bot Manager protection with sensor data generation, cookie validation, and challenge solving.
Generating Sensor Data
Generate sensor data for valid Akamai cookies and bot detection bypass:
sensor_data, context = await session.generate_sensor_data({
# Configure sensor parameters
})
Handling Sec-Cpt Challenges
Solve sec-cpt challenges with built-in parsing and payload generation:
from hyper_sdk.akamai import SecCptChallenge
# Parse sec-cpt challenge from HTML
challenge = SecCptChallenge.parse(html_content)
# Or parse from JSON response
challenge = SecCptChallenge.parse_from_json(json_response)
# Generate challenge response payload
payload = challenge.generate_sec_cpt_payload(sec_cpt_cookie)
# Handle challenge timing requirements
challenge.sleep()
Cookie Validation
Validate Akamai _abck cookies and session states:
from hyper_sdk.akamai import is_cookie_valid, is_cookie_invalidated
# Check if cookie is valid for the current request count
is_valid = is_cookie_valid(cookie_value, request_count)
# Check if cookie has been invalidated and needs refresh
needs_refresh = is_cookie_invalidated(cookie_value)
Pixel Challenge Solving
Handle Akamai pixel challenges for advanced bot detection bypass:
from hyper_sdk import PixelInput
from hyper_sdk.akamai import parse_pixel_html_var, parse_pixel_script_url, parse_pixel_script_var
# Parse pixel challenge data
html_var = parse_pixel_html_var(html_content)
script_url, post_url = parse_pixel_script_url(html_content)
script_var = parse_pixel_script_var(script_content)
# Generate pixel data
pixel_data = session.generate_pixel_data(PixelInput(
# pixel input fields
))
🔒 Incapsula Protection
Bypass Incapsula bot detection with Reese84 sensors and UTMVC cookie generation.
Generating Reese84 Sensors
Create Reese84 sensor data for Incapsula bypass:
from hyper_sdk import ReeseInput
sensor_data = session.generate_reese84_sensor("example.com", ReeseInput(
# reese input fields
))
UTMVC Cookie Generation
Generate UTMVC cookies for Incapsula protection bypass:
from hyper_sdk import UtmvcInput
utmvc_cookie, swhanedl = session.generate_utmvc_cookie(UtmvcInput(
# utmvc input fields
))
Script Path Parsing
Parse UTMVC script paths and generate submit paths:
from hyper_sdk.incapsula import parse_utmvc_script_path, get_utmvc_submit_path
# Parse script path from content
script_path = parse_utmvc_script_path(script_content)
# Generate unique submit path
submit_path = get_utmvc_submit_path()
Dynamic Reese Script Parsing
Parse dynamic Reese84 script paths from interruption pages:
from hyper_sdk.incapsula import parse_dynamic_reese_script
sensor_path, script_path = parse_dynamic_reese_script(html_content, "https://example.com")
⚡ Kasada Bypass
Defeat Kasada Bot Manager with payload generation and POW solving.
Generating Payload Data (CT)
Create x-kpsdk-ct tokens for Kasada bypass:
from hyper_sdk import KasadaPayloadInput
payload, headers = session.generate_kasada_payload(KasadaPayloadInput(
# kasada payload input fields
))
Generating POW Data (CD)
Solve Kasada Proof-of-Work challenges for x-kpsdk-cd tokens:
from hyper_sdk import KasadaPowInput
pow_payload = session.generate_kasada_pow(KasadaPowInput(
# kasada pow input fields
))
🤖 Vercel BotID
Bypass Vercel BotID protection by generating the required x-is-human header.
Generating the x-is-human Header
Create the x-is-human header for Vercel BotID bypass:
from hyper_sdk import BotIDHeaderInput
header = session.generate_botid_header(BotIDHeaderInput(
script=script_body, # The c.js script content
user_agent="your-user-agent",
ip="your-proxy-ip",
accept_language="en-US,en;q=0.9",
))
# Use the header in your requests
headers = {
"x-is-human": header,
# ... other headers
}
Script Path Extraction
Extract Kasada script paths from blocked pages (HTTP 429):
from hyper_sdk.kasada import parse_kasada_script_path
script_path = parse_kasada_script_path(blocked_page_html)
# Returns: /ips.js?timestamp=...
🎯 DataDome Solutions
Solve DataDome captchas including slider challenges and interstitial pages.
Interstitial Challenge Solving
Bypass DataDome interstitial pages:
from hyper_sdk import DataDomeInterstitialInput
result = session.generate_interstitial_payload(DataDomeInterstitialInput(
# interstitial input fields
))
payload = result["payload"]
headers = result["headers"]
# POST payload to https://geo.captcha-delivery.com/interstitial/
Slider Captcha Solving
Solve DataDome slider captchas automatically:
from hyper_sdk import DataDomeSliderInput
result = session.generate_slider_payload(DataDomeSliderInput(
# slider input fields
))
check_url = result["payload"]
headers = result["headers"]
# GET request to check_url
Tags Payload Generation
Generate DataDome tags payload:
from hyper_sdk import DataDomeTagsInput
tags_payload = session.generate_tags_payload(DataDomeTagsInput(
# tags input fields
))
DeviceLink URL Parsing
Extract DataDome device check URLs from blocked pages:
from hyper_sdk.datadome import parse_interstitial_device_check_link, parse_slider_device_check_link
# Parse interstitial device links
device_link = parse_interstitial_device_check_link(
html_content,
datadome_cookie,
referer_url
)
# Parse slider device links
device_link = parse_slider_device_check_link(
html_content,
datadome_cookie,
referer_url
)
Challenge Script
DataDome sometimes serves a challenge page with the challenge script in its own file instead of inlining it in the page:
<script defer src="https://ct.captcha-delivery.com/interstitial.1.33.0.202609141.js"></script>
It switches between the two forms per request, so check every challenge page. When the page uses a separate file, fetch it with your own client so the request keeps your proxy, TLS fingerprint and headers, then pass the body as script:
from hyper_sdk import DataDomeInterstitialInput
from hyper_sdk.datadome import parse_challenge_script_url
script = ""
script_url = parse_challenge_script_url(html_content)
if script_url is not None:
script = your_client.get(script_url).text
result = session.generate_interstitial_payload(DataDomeInterstitialInput(
# other interstitial input fields
html=html_content,
script=script, # empty when the page inlines the script
))
The same applies to DataDomeSliderInput. One helper covers both challenge types, since the captcha page uses the same tag. script is optional and leaving it empty keeps working.
📖 Documentation
For detailed documentation on how to use the SDK, including examples and API reference, please visit our documentation website:
Getting Help
- Check our documentation
- Join our Discord community
🤝 Contributing
If you find any issues or have suggestions for improvement, please open an issue or submit a pull request.
📄 License
This SDK is licensed under the MIT License.
Keywords: Python SDK, bot protection bypass, web scraping, Akamai bypass, Incapsula bypass, Kasada bypass, DataDome bypass, anti-bot, captcha solver, automation, reverse engineering, bot detection, web automation
Metadata
Release files for hyper-sdk 2.13.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| hyper_sdk-2.13.0.tar.gz | 24.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| hyper_sdk-2.13.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 51.5 kB
Release files / hyper_sdk-2.13.0.tar.gz
| Download URL | hyper_sdk-2.13.0.tar.gz |
|---|---|
| Size | 24.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e43e235d2fc21f60642cf653892d1b07ad2e9bdd438ba5056bd79f946f6008b8
|
|
BLAKE2b-256 checksum How to use checksums |
f393b34e90564890cb7c50975d6aca7a20f2e72d8da36c7a5fa60a798d89e67b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.3
|
Release files / hyper_sdk-2.13.0-py3-none-any.whl
| Download URL | hyper_sdk-2.13.0-py3-none-any.whl |
|---|---|
| Size | 27.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
94541784e64193d74bde8d3e1c3f0c6fef6f0c77312021df6d754d6439e5f4a9
|
|
BLAKE2b-256 checksum How to use checksums |
076449813eb7dd3fff75b247ebf8cccd46171c0a15af1bd208ca0cd88d4f8c37
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.3
|