Operational
API Documentation

DataDome Bypass

A precise, self-hosted service for solving DataDome challenges and returning the cookies you need — designed with the elegance of a native app.

Base URL https://hackerssdatadomesss.up.railway.app
Overview

Built for developers.

Seven endpoints. One purpose: solve DataDome challenges programmatically and return the cookies that make protected requests possible.

Setup

Getting the dd_key.

Every request needs the DataDome hsh value from the target site. Here's how to grab it in under a minute.

  1. Open the protected site in Chrome or Edge.
  2. Press F12 and click the Console tab.
  3. Paste the snippet below and press Enter.
  4. Copy the hex string that appears — that's your dd_key.
(function(){if(typeof dd!=='undefined'&&dd.hsh){console.log('%cKey:','color:green;',dd.hsh);return dd.hsh}const s=document.querySelectorAll('script');for(const x of s){const m=x.textContent.match(/"hsh":"([a-f0-9]+)"/);if(m){console.log('%cKey:','color:green;',m[1]);return m[1]}}return null})()
Endpoint

Health check.

GET /health

Returns 200 if the service is running. Use this for monitoring and uptime checks.

cURL
curl https://hackerssdatadomesss.up.railway.app/health
Endpoint

Service status.

GET /status

Returns service status and runtime statistics.

cURL
curl https://hackerssdatadomesss.up.railway.app/status
Endpoint

Solve a challenge.

POST /solve

Solve a DataDome challenge and return the cookie. The fastest path to a usable session.

Parameters
FieldRequiredDescription
siteYesTarget website URL
keyYesDataDome hsh value
cURL
curl -X POST https://hackerssdatadomesss.up.railway.app/solve \
  -H "Content-Type: application/json" \
  -d '{"site":"https://seatgeek.com","key":"YOUR_KEY"}'
Endpoint

Solve with verification.

POST /solve?verify=true

Solve the challenge and verify the returned cookie actually works against the target.

Parameters
FieldRequiredDescription
siteYesTarget website URL
keyYesDataDome hsh value
verifyYesSet to true
cURL
curl -X POST https://hackerssdatadomesss.up.railway.app/solve \
  -H "Content-Type: application/json" \
  -d '{"site":"https://seatgeek.com","key":"YOUR_KEY","verify":true}'
Endpoint

Two-phase solve.

POST /solve (two_phase)

Tries a lightweight method first and falls back to a headless browser if needed. Balanced for speed and reliability.

Parameters
FieldRequiredDescription
siteYesTarget website URL
keyYesDataDome hsh value
two_phaseYesSet to true
delayNoDelay in seconds (default: 5)
cURL
curl -X POST https://hackerssdatadomesss.up.railway.app/solve \
  -H "Content-Type: application/json" \
  -d '{"site":"https://seatgeek.com","key":"YOUR_KEY","two_phase":true,"delay":5}'
Endpoint

Solve and fetch.

POST /fetch

Solves the challenge and fetches the target page content in a single round trip.

Parameters
FieldRequiredDescription
siteYesTarget website URL
keyYesDataDome hsh value
urlYesURL to fetch after solving
methodNoHTTP method: GET, POST, etc.
cURL
curl -X POST https://hackerssdatadomesss.up.railway.app/fetch \
  -H "Content-Type: application/json" \
  -d '{"site":"https://seatgeek.com","key":"YOUR_KEY","url":"https://seatgeek.com/","method":"GET"}'
Endpoint

Encrypt the key.

POST /encrypt

Encrypts the dd_key using DataDome's internal algorithm.

Parameters
FieldRequiredDescription
siteYesTarget website URL
keyYesDataDome hsh value
cURL
curl -X POST https://hackerssdatadomesss.up.railway.app/encrypt \
  -H "Content-Type: application/json" \
  -d '{"site":"https://seatgeek.com","key":"YOUR_KEY"}'
Examples

Python, three ways.

Drop-in snippets for the most common patterns.

Basic Solve

import requests

resp = requests.post(
    "https://hackerssdatadomesss.up.railway.app/solve",
    json={"site": "https://seatgeek.com", "key": "YOUR_KEY"}
)
cookie = resp.json()
print(cookie["value"])

Fetch Content

import requests

resp = requests.post(
    "https://hackerssdatadomesss.up.railway.app/fetch",
    json={
        "site": "https://seatgeek.com",
        "key": "YOUR_KEY",
        "url": "https://seatgeek.com/",
        "method": "GET"
    }
)
data = resp.json()
print(data["content"])

Two-Phase Solve

import requests

resp = requests.post(
    "https://hackerssdatadomesss.up.railway.app/solve",
    json={
        "site": "https://seatgeek.com",
        "key": "YOUR_KEY",
        "two_phase": True,
        "delay": 5
    }
)
cookie = resp.json()
Important

Read before shipping.

!
Legal Notice Use this API only on websites you own or have explicit permission to test. Bypassing bot protection without authorization may violate terms of service and applicable laws.
i
Performance Solving challenges typically takes 5–30 seconds depending on the target. The two-phase endpoint trades a small amount of latency for higher reliability.