Chat with us, powered by LiveChat
← Return to MyDisct Solver

CyberSiara Token Solving

Solve CyberSiara CAPTCHA challenges and obtain valid tokens for protected web forms and API endpoints. Our solver handles the CyberSiara master token generation flow and returns a verified response token ready for immediate submission.

What is CyberSiara?

CyberSiara is a CAPTCHA and bot protection solution developed for online forms and authentication flows. It presents interactive challenges to users that require solving image-based or behavioral tasks. The CyberSiara widget communicates with a master URL endpoint to retrieve the challenge parameters, and upon successful completion, generates a signed token. This token is submitted alongside the form data to prove human interaction. Our solver completes the full CyberSiara challenge workflow — including loading the widget, solving the presented task, and retrieving the master token — then returns the final verified token for your use.

Captcha Type

Use the following captcha type identifier in your API requests:

"type": "CYBERSIARA_TOKEN"

Request Format

POST /createTask

Request Parameters

Parameter Type Required Description
auth.token string required Your API key
captcha.type string required Must be "CYBERSIARA_TOKEN"
captcha.metadata.siteUrl string required The full URL of the page where the CyberSiara CAPTCHA widget is displayed
captcha.metadata.siteKey string optional The CyberSiara API key or site identifier used in the widget initialization on the target page
captcha.payload.masterUrlUrl string optional The CyberSiara master URL endpoint that the widget uses to retrieve challenge parameters. Found in the network traffic as the first request made by the CyberSiara widget script.
captcha.payload.userAgent string optional Your browser user agent string
captcha.payload.proxy object optional Proxy configuration object
captcha.payload.proxy.protocol string required* Proxy protocol: "http", "https", "socks4", or "socks5"
captcha.payload.proxy.host string required* Proxy IP address or hostname
captcha.payload.proxy.port number required* Proxy port number
captcha.payload.proxy.username string optional Proxy authentication username
captcha.payload.proxy.password string optional Proxy authentication password

* Required only if the parent object (proxy) is provided

Finding the CyberSiara Master URL

To find the CyberSiara master URL, open your browser developer tools, visit the page with the CyberSiara widget, and filter the Network tab for requests made when the widget loads. The first API request made by the CyberSiara script (typically a GET request to a /GetCaptchaApi/ or similar endpoint) is the master URL. Providing this value as masterUrlUrl improves solving accuracy and speed.

Example Request

JSON
{
  "auth": {
    "token": "YOUR_API_KEY"
  },
  "context": {
    "source": "api",
    "version": "1.0.0"
  },
  "captcha": {
    "type": "CYBERSIARA_TOKEN",
    "metadata": {
      "siteUrl": "https://example.com/contact",
      "siteKey": "9x0Yx5eHxxxxxxxxxxxxxxxxxxx"
    },
    "payload": {
      "masterUrlUrl": "https://api.cybersiara.com/GetCaptchaApi/v1",
      "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36",
      "proxy": {
        "protocol": "http",
        "host": "1.2.3.4",
        "port": 8080,
        "username": "proxyuser",
        "password": "proxypass"
      }
    }
  }
}
JavaScript
const response = await fetch('https://solver-api.mydisct.com/createTask', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'apikey': 'YOUR_API_KEY'
  },
  body: JSON.stringify({
    auth: {
      token: 'YOUR_API_KEY'
    },
    context: {
      source: 'api',
      version: '1.0.0'
    },
    captcha: {
      type: 'CYBERSIARA_TOKEN',
      metadata: {
        siteUrl: 'https://example.com/contact',
        siteKey: '9x0Yx5eHxxxxxxxxxxxxxxxxxxx'
      },
      payload: {
        masterUrlUrl: 'https://api.cybersiara.com/GetCaptchaApi/v1',
        userAgent: 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36',
        proxy: {
          protocol: 'http',
          host: '1.2.3.4',
          port: 8080,
          username: 'proxyuser',
          password: 'proxypass'
        }
      }
    }
  })
});

const data = await response.json();
console.log('Task ID:', data.task.id);
Python
import requests

response = requests.post(
    'https://solver-api.mydisct.com/createTask',
    headers={
        'Content-Type': 'application/json',
        'apikey': 'YOUR_API_KEY'
    },
    json={
        'auth': {'token': 'YOUR_API_KEY'},
        'context': {'source': 'api', 'version': '1.0.0'},
        'captcha': {
            'type': 'CYBERSIARA_TOKEN',
            'metadata': {
                'siteUrl': 'https://example.com/contact',
                'siteKey': '9x0Yx5eHxxxxxxxxxxxxxxxxxxx'
            },
            'payload': {
                'masterUrlUrl': 'https://api.cybersiara.com/GetCaptchaApi/v1',
                'userAgent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36',
                'proxy': {
                    'protocol': 'http',
                    'host': '1.2.3.4',
                    'port': 8080,
                    'username': 'proxyuser',
                    'password': 'proxypass'
                }
            }
        }
    }
)

data = response.json()
print('Task ID:', data['task']['id'])
cURL
curl -X POST https://solver-api.mydisct.com/createTask \
  -H "Content-Type: application/json" \
  -H "apikey: YOUR_API_KEY" \
  -d '{
    "auth": {"token": "YOUR_API_KEY"},
    "context": {"source": "api", "version": "1.0.0"},
    "captcha": {
      "type": "CYBERSIARA_TOKEN",
      "metadata": {
        "siteUrl": "https://example.com/contact",
        "siteKey": "9x0Yx5eHxxxxxxxxxxxxxxxxxxx"
      },
      "payload": {
        "masterUrlUrl": "https://api.cybersiara.com/GetCaptchaApi/v1",
        "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"
      }
    }
  }'

Response Format

Create Task Response (Processing)

{
  "success": true,
  "service": "MyDisct Solver",
  "message": "Captcha task created successfully",
  "task": {
    "id": "MyDisctSolver_abc123",
    "status": "processing"
  }
}

Fetch Result Response (Completed)

{
  "success": true,
  "service": "MyDisct Solver",
  "message": "CyberSiara captcha solved successfully",
  "task": {
    "id": "MyDisctSolver_abc123",
    "status": "completed",
    "result": {
      "token": "CAACAgIAAxkBAAIBx2R1Z3F...",
      "timestamp": "2025-10-10T12:00:00.000Z"
    }
  }
}
How to Use the CyberSiara Token

The CyberSiara token is submitted as a hidden form field alongside the rest of the form data. The field name varies by site — common names include cybersiara-response, captcha_token, or csrfToken. Inspect the form submission of the target page to find the exact field name the site uses for the CyberSiara token.

Implementation Guide

Complete JavaScript Implementation

JavaScript
async function solveCyberSiaraToken(siteUrl, siteKey, options = {}) {
  const payload = {
    userAgent: options.userAgent || 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36'
  };

  if (options.masterUrlUrl) payload.masterUrlUrl = options.masterUrlUrl;
  if (options.proxy) payload.proxy = options.proxy;

  const createResponse = await fetch('https://solver-api.mydisct.com/createTask', {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json',
      'apikey': 'YOUR_API_KEY'
    },
    body: JSON.stringify({
      auth: { token: 'YOUR_API_KEY' },
      context: { source: 'api', version: '1.0.0' },
      captcha: {
        type: 'CYBERSIARA_TOKEN',
        metadata: { siteUrl, siteKey },
        payload
      }
    })
  });

  const createData = await createResponse.json();
  if (!createData.success) throw new Error(createData.error.message);

  const taskId = createData.task.id;

  while (true) {
    await new Promise(resolve => setTimeout(resolve, 5000));

    const resultResponse = await fetch('https://solver-api.mydisct.com/fetchResult', {
      method: 'POST',
      headers: {
        'Content-Type': 'application/json',
        'apikey': 'YOUR_API_KEY'
      },
      body: JSON.stringify({ taskId })
    });

    const resultData = await resultResponse.json();
    if (resultData.task.status === 'completed') {
      return resultData.task.result.token;
    } else if (resultData.task.status === 'failed') {
      throw new Error('CyberSiara captcha solving failed');
    }
  }
}

const token = await solveCyberSiaraToken(
  'https://example.com/contact',
  '9x0Yx5eHxxxxxxxxxxxxxxxxxxx',
  {
    masterUrlUrl: 'https://api.cybersiara.com/GetCaptchaApi/v1'
  }
);

const submitResponse = await fetch('https://example.com/api/contact', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    name: 'John Doe',
    email: '[email protected]',
    message: 'Hello from the form',
    'cybersiara-response': token
  })
});

const result = await submitResponse.json();
console.log('Form submission result:', result);

Python Implementation

Python
import requests
import time

def solve_cybersiara_token(site_url, site_key, api_key, master_url=None,
                            user_agent=None, proxy_config=None):
    payload_data = {
        'userAgent': user_agent or 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36'
    }

    if master_url:
        payload_data['masterUrlUrl'] = master_url
    if proxy_config:
        payload_data['proxy'] = proxy_config

    create_response = requests.post(
        'https://solver-api.mydisct.com/createTask',
        headers={
            'Content-Type': 'application/json',
            'apikey': api_key
        },
        json={
            'auth': {'token': api_key},
            'context': {'source': 'api', 'version': '1.0.0'},
            'captcha': {
                'type': 'CYBERSIARA_TOKEN',
                'metadata': {
                    'siteUrl': site_url,
                    'siteKey': site_key
                },
                'payload': payload_data
            }
        }
    )

    create_data = create_response.json()
    if not create_data['success']:
        raise Exception(create_data['error']['message'])

    task_id = create_data['task']['id']
    print(f'Task created: {task_id}')

    while True:
        time.sleep(5)

        result_response = requests.post(
            'https://solver-api.mydisct.com/fetchResult',
            headers={
                'Content-Type': 'application/json',
                'apikey': api_key
            },
            json={'taskId': task_id}
        )

        result_data = result_response.json()
        if result_data['task']['status'] == 'completed':
            return result_data['task']['result']['token']
        elif result_data['task']['status'] == 'failed':
            raise Exception('CyberSiara captcha solving failed')

        print('Waiting for solution...')

token = solve_cybersiara_token(
    site_url='https://example.com/contact',
    site_key='9x0Yx5eHxxxxxxxxxxxxxxxxxxx',
    api_key='YOUR_API_KEY',
    master_url='https://api.cybersiara.com/GetCaptchaApi/v1'
)

print(f'Token: {token[:50]}...')

submit_response = requests.post(
    'https://example.com/api/contact',
    headers={'Content-Type': 'application/json'},
    json={
        'name': 'John Doe',
        'email': '[email protected]',
        'message': 'Hello from the form',
        'cybersiara-response': token
    }
)

print(f'Form submission status: {submit_response.status_code}')

Best Practices

Recommendations
  • Provide the Master URL: Extract and supply the masterUrlUrl from the page's network requests — this ensures the solver uses the exact same challenge endpoint as the site
  • Inspect Form Submission: Before implementing, inspect the form submission of the target page to find the exact field name the site uses for the CyberSiara token response
  • Token Expiry: CyberSiara tokens are time-limited — submit the form immediately after receiving the token, typically within 2 to 5 minutes
  • Single Use: CyberSiara tokens are single-use — generate a fresh token for each form submission
  • Polling Interval: Use 5-second polling intervals — CyberSiara challenges typically complete in 10 to 25 seconds

Common Issues

Issue: Token rejected by the form backend

Solution: Confirm that you are using the correct field name for the token in your form submission. Inspect a legitimate form submission to find the exact parameter name. Also verify that the site key you provided matches the one used by the page.

Issue: Solving fails without master URL

Solution: Provide the masterUrlUrl parameter by extracting it from the network requests made by the CyberSiara widget on the target page. Without it, the solver must discover the endpoint independently, which can reduce reliability.

Issue: Token appears valid but form submission still fails

Solution: Some CyberSiara integrations also validate the referrer header or require the token to be submitted within a specific time window. Ensure your form submission includes appropriate headers and that the token is being used promptly.