# Advanced Website Traffic Generator (Human Like) (`antique_fusetar/human-web-traffic-generator`) Actor

Generates realistic website traffic and get their stats on Google analytics with configurable visits, device profiles, geo-targeting, scroll/click behavior, and proxy rotation.

- **URL**: https://apify.com/antique\_fusetar/human-web-traffic-generator.md
- **Developed by:** [Prathvi Patil](https://apify.com/antique_fusetar) (community)
- **Categories:** Automation, SEO tools
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: 5.00 out of 5 stars

## Pricing

from $0.10 / 1,000 views

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

## Traffic Simulation Actor

An Apify Actor that drives realistic human-like traffic to your websites using headless Chromium browsers, residential proxy rotation, and configurable behavioral profiles. Also compatible with Google Analytics (GA). Built with love ❤️ from an Ethical Hacker.

### What it does

Each visit is an isolated browser session with a unique IP, device fingerprint, and behavioral pattern. The actor loads the target URL, scrolls the page, optionally clicks links or ad elements (if configured to do so), and records the result. Visits are distributed evenly across all provided URLs and run concurrently up to your configured limit.

### Features

- **Geo-targeted traffic** - send traffic from 70+ countries, each visit looks like it's coming from that country with right timezone and local browser language (configurable).
- **Device profiles** - visits come from a mix of Windows, macOS, Android, and iOS devices, not just one (configurable).
- **Behavior modes** - three visit styles: bounce (quick look), normal (scrolls + likely clicks), deep (full scroll, always clicks, browses multiple pages) (configurable).
- **Click targeting** - configure exactly which links, buttons, or ad elements get clicked during a visit (how often clicks happen across visits is configurable, or clicking can be disabled entirely).
- **Proxy rotation** - different real residential IP per visit, no IP is ever reused.
- **Speed control** - choose how fast visits run, from 2x up to 10x, to save cost without affecting how the page loads. Setting it to higher than 4x is discouraged.
- **Ad impression support** - visitor stays on the ad or target element long enough for the ad network or metrics to count it as a real impression before clicking.
- **Stealth** - visits are undetectable as bot traffic; each browser session mimics a real human visitor with a unique fingerprint, realistic browser headers, and no automation signals at the browser or TCP/IP network layer that ad networks or analytics tools can flag.
- **Traffic source control** - set where your traffic appears to come from by adding a Referer header in input Advanced → Custom HTTP Headers. For example, to make visits look like they came from Facebook, set the following:
```json
{
  "referer": "https://www.facebook.com"
}
````

### Why use this over a basic HTTP traffic tool

Most traffic tools send bare HTTP requests. This actor runs a real Chromium browser, executes JavaScript, renders the full page, and performs mouse-driven scroll and click interactions, the same signals a real visitor produces. Combined with residential proxies and per-country identity profiles, the traffic is indistinguishable from organic visits at the browser fingerprint and network level.

# Actor input Schema

## `start_urls` (type: `array`):

List of URLs to send traffic to. Visits will be distributed evenly across all URLs.

## `total_visits` (type: `integer`):

Total number of simulated visits across all start URLs.

## `duration_minutes` (type: `integer`):

Spread visits over this many minutes.

## `concurrency` (type: `object`):

Min and max parallel browser sessions.

## `proxyConfiguration` (type: `object`):

Select which Apify proxy group to use. Residential proxies recommended.

## `proxy` (type: `object`):

Enable/disable proxy and set target countries.

## `device_distribution` (type: `object`):

Probability weights for each device type.

## `country_device_map` (type: `array`):

Override device type mix per proxy country. One entry shows by default - fill it and a new one appears automatically. Countries not configured here use the global Device distribution above.

## `behavior_distribution` (type: `object`):

Probability weights for browsing behavior types.

## `click_targets` (type: `object`):

Each click target type can be enabled/disabled with its own probability and matching rules.

## `headers` (type: `object`):

Additional HTTP headers sent with each request.

## `speed` (type: `string`):

Reduce visit duration by dividing all behavioral waits (scroll pauses, idle time, dwell time, post-click browse) by the selected factor. Page loads and proxy checks are not affected. 1x = full human-like timing. 4x = quarter time. 10x = fastest (minimal waits, saves rental cost).

## `div_dwell_seconds` (type: `integer`):

How many seconds each div ad element stays in the viewport before clicking. This is the time the ad network needs to register an impression. NOT affected by speed mode - this is a network requirement, not a behavioral timing. Minimum 1s, maximum 30s.

## `headless` (type: `boolean`):

Run browsers in headless mode. Uses significantly less RAM, allowing higher concurrency on the same machine. Some anti-bot systems may detect headless mode more easily.

## `max_request_retries` (type: `integer`):

Max retry attempts for a failed visit. Each retry uses a fresh proxy, browser context, and identity. Total attempts per visit = retries + 1. Failures include dead/suspect proxies, IP reuse, budget exceeded, or crashes.

## `abort_on_tail` (type: `boolean`):

When enabled, retries are skipped once the number of remaining visits drops below the concurrency setting. During the main burst phase all retries run normally. Only the slow 'tail' - where a few leftover retries run one at a time at low concurrency - is cut. Saves significant run time with poor proxy countries without reducing retries during the burst.

## Actor input object example

```json
{
  "start_urls": [
    {
      "url": "https://example.com"
    }
  ],
  "total_visits": 50,
  "duration_minutes": 2,
  "concurrency": {
    "min": 1,
    "max": 3
  },
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  },
  "proxy": {
    "use": true,
    "countries": [
      "US",
      "IN",
      "GB"
    ]
  },
  "device_distribution": {
    "windows": 0.4,
    "mac": 0.3,
    "linux": 0.1,
    "android": 0.1,
    "ios": 0.1
  },
  "country_device_map": [
    {
      "country": "US",
      "windows": 20,
      "mac": 0,
      "linux": 0,
      "android": 80,
      "ios": 0
    }
  ],
  "behavior_distribution": {
    "bounce": 0.15,
    "normal": 0.65,
    "deep": 0.2
  },
  "headers": {
    "accept-language": "en-US,en;q=0.9"
  },
  "speed": "1x",
  "div_dwell_seconds": 6,
  "headless": true,
  "max_request_retries": 2,
  "abort_on_tail": false
}
```

# Actor output Schema

## `summary` (type: `string`):

No description

## `metrics` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "start_urls": [
        {
            "url": "https://example.com"
        }
    ],
    "proxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "RESIDENTIAL"
        ]
    },
    "country_device_map": [
        {
            "country": "US",
            "windows": 20,
            "mac": 0,
            "linux": 0,
            "android": 80,
            "ios": 0
        }
    ],
    "headers": {
        "accept-language": "en-US,en;q=0.9"
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("antique_fusetar/human-web-traffic-generator").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "start_urls": [{ "url": "https://example.com" }],
    "proxyConfiguration": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["RESIDENTIAL"],
    },
    "country_device_map": [{
            "country": "US",
            "windows": 20,
            "mac": 0,
            "linux": 0,
            "android": 80,
            "ios": 0,
        }],
    "headers": { "accept-language": "en-US,en;q=0.9" },
}

# Run the Actor and wait for it to finish
run = client.actor("antique_fusetar/human-web-traffic-generator").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "start_urls": [
    {
      "url": "https://example.com"
    }
  ],
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  },
  "country_device_map": [
    {
      "country": "US",
      "windows": 20,
      "mac": 0,
      "linux": 0,
      "android": 80,
      "ios": 0
    }
  ],
  "headers": {
    "accept-language": "en-US,en;q=0.9"
  }
}' |
apify call antique_fusetar/human-web-traffic-generator --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=antique_fusetar/human-web-traffic-generator",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Advanced Website Traffic Generator (Human Like)",
        "description": "Generates realistic website traffic and get their stats on Google analytics with configurable visits, device profiles, geo-targeting, scroll/click behavior, and proxy rotation.",
        "version": "0.1",
        "x-build-id": "2YTFjnpbRJKtM4mWs"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/antique_fusetar~human-web-traffic-generator/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-antique_fusetar-human-web-traffic-generator",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/antique_fusetar~human-web-traffic-generator/runs": {
            "post": {
                "operationId": "runs-sync-antique_fusetar-human-web-traffic-generator",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/antique_fusetar~human-web-traffic-generator/run-sync": {
            "post": {
                "operationId": "run-sync-antique_fusetar-human-web-traffic-generator",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "required": [
                    "start_urls"
                ],
                "properties": {
                    "start_urls": {
                        "title": "Start URLs",
                        "type": "array",
                        "description": "List of URLs to send traffic to. Visits will be distributed evenly across all URLs.",
                        "items": {
                            "type": "object",
                            "required": [
                                "url"
                            ],
                            "properties": {
                                "url": {
                                    "type": "string",
                                    "title": "URL of a web page",
                                    "format": "uri"
                                }
                            }
                        }
                    },
                    "total_visits": {
                        "title": "Total visits",
                        "minimum": 1,
                        "maximum": 1000000,
                        "type": "integer",
                        "description": "Total number of simulated visits across all start URLs.",
                        "default": 50
                    },
                    "duration_minutes": {
                        "title": "Duration",
                        "minimum": 1,
                        "maximum": 1440,
                        "type": "integer",
                        "description": "Spread visits over this many minutes.",
                        "default": 2
                    },
                    "concurrency": {
                        "title": "Concurrency",
                        "type": "object",
                        "description": "Min and max parallel browser sessions.",
                        "properties": {
                            "min": {
                                "title": "Min concurrency",
                                "type": "integer",
                                "description": "Minimum parallel browser sessions.",
                                "default": 1,
                                "minimum": 1,
                                "maximum": 50,
                                "editor": "number"
                            },
                            "max": {
                                "title": "Max concurrency",
                                "type": "integer",
                                "description": "Maximum parallel browser sessions.",
                                "default": 3,
                                "minimum": 1,
                                "maximum": 50,
                                "editor": "number"
                            }
                        },
                        "default": {
                            "min": 1,
                            "max": 3
                        }
                    },
                    "proxyConfiguration": {
                        "title": "Proxy configuration",
                        "type": "object",
                        "description": "Select which Apify proxy group to use. Residential proxies recommended."
                    },
                    "proxy": {
                        "title": "Proxy options",
                        "type": "object",
                        "description": "Enable/disable proxy and set target countries.",
                        "properties": {
                            "use": {
                                "title": "Enable proxy",
                                "type": "boolean",
                                "description": "Route traffic through proxies. If off, uses Actor's own IP.",
                                "default": true,
                                "editor": "checkbox"
                            },
                            "countries": {
                                "title": "Target countries",
                                "type": "array",
                                "description": "Each visit randomly picks a country. 2-letter ISO codes.",
                                "editor": "select",
                                "default": [
                                    "US",
                                    "IN",
                                    "GB"
                                ],
                                "items": {
                                    "type": "string",
                                    "enumSuggestedValues": [
                                        "AD",
                                        "AE",
                                        "AR",
                                        "AT",
                                        "AU",
                                        "AW",
                                        "BB",
                                        "BE",
                                        "BH",
                                        "BM",
                                        "BN",
                                        "BR",
                                        "BS",
                                        "CA",
                                        "CH",
                                        "CL",
                                        "CO",
                                        "CY",
                                        "CZ",
                                        "DE",
                                        "DK",
                                        "EE",
                                        "ES",
                                        "EU",
                                        "FI",
                                        "FO",
                                        "FR",
                                        "GB",
                                        "GL",
                                        "GR",
                                        "GU",
                                        "GY",
                                        "HK",
                                        "HR",
                                        "HU",
                                        "ID",
                                        "IE",
                                        "IL",
                                        "IM",
                                        "IN",
                                        "IS",
                                        "IT",
                                        "JE",
                                        "JP",
                                        "KR",
                                        "KW",
                                        "KY",
                                        "LT",
                                        "LU",
                                        "LV",
                                        "MO",
                                        "MT",
                                        "MX",
                                        "MY",
                                        "NC",
                                        "NL",
                                        "NO",
                                        "NZ",
                                        "PH",
                                        "PL",
                                        "PR",
                                        "PT",
                                        "QA",
                                        "RO",
                                        "RU",
                                        "SA",
                                        "SE",
                                        "SG",
                                        "SI",
                                        "SK",
                                        "SX",
                                        "TH",
                                        "TR",
                                        "TW",
                                        "UA",
                                        "US",
                                        "UY",
                                        "VI",
                                        "VN",
                                        "ZA"
                                    ],
                                    "enumTitles": [
                                        "Andorra",
                                        "UAE",
                                        "Argentina",
                                        "Austria",
                                        "Australia",
                                        "Aruba",
                                        "Barbados",
                                        "Belgium",
                                        "Bahrain",
                                        "Bermuda",
                                        "Brunei",
                                        "Brazil",
                                        "Bahamas",
                                        "Canada",
                                        "Switzerland",
                                        "Chile",
                                        "Colombia",
                                        "Cyprus",
                                        "Czech Republic",
                                        "Germany",
                                        "Denmark",
                                        "Estonia",
                                        "Spain",
                                        "European Union",
                                        "Finland",
                                        "Faroe Islands",
                                        "France",
                                        "United Kingdom",
                                        "Greenland",
                                        "Greece",
                                        "Guam",
                                        "Guyana",
                                        "Hong Kong",
                                        "Croatia",
                                        "Hungary",
                                        "Indonesia",
                                        "Ireland",
                                        "Israel",
                                        "Isle of Man",
                                        "India",
                                        "Iceland",
                                        "Italy",
                                        "Jersey",
                                        "Japan",
                                        "South Korea",
                                        "Kuwait",
                                        "Cayman Islands",
                                        "Lithuania",
                                        "Luxembourg",
                                        "Latvia",
                                        "Macau",
                                        "Malta",
                                        "Mexico",
                                        "Malaysia",
                                        "New Caledonia",
                                        "Netherlands",
                                        "Norway",
                                        "New Zealand",
                                        "Philippines",
                                        "Poland",
                                        "Puerto Rico",
                                        "Portugal",
                                        "Qatar",
                                        "Romania",
                                        "Russia",
                                        "Saudi Arabia",
                                        "Sweden",
                                        "Singapore",
                                        "Slovenia",
                                        "Slovakia",
                                        "Sint Maarten",
                                        "Thailand",
                                        "Turkey",
                                        "Taiwan",
                                        "Ukraine",
                                        "United States",
                                        "Uruguay",
                                        "US Virgin Islands",
                                        "Vietnam",
                                        "South Africa"
                                    ]
                                }
                            }
                        },
                        "default": {
                            "use": true,
                            "countries": [
                                "US",
                                "IN",
                                "GB"
                            ]
                        }
                    },
                    "device_distribution": {
                        "title": "Device distribution",
                        "type": "object",
                        "description": "Probability weights for each device type.",
                        "properties": {
                            "windows": {
                                "title": "Windows",
                                "type": "number",
                                "description": "Weight for Windows desktop.",
                                "default": 0.4,
                                "minimum": 0,
                                "maximum": 1,
                                "editor": "number"
                            },
                            "mac": {
                                "title": "Mac",
                                "type": "number",
                                "description": "Weight for macOS desktop.",
                                "default": 0.3,
                                "minimum": 0,
                                "maximum": 1,
                                "editor": "number"
                            },
                            "linux": {
                                "title": "Linux",
                                "type": "number",
                                "description": "Weight for Linux desktop.",
                                "default": 0.1,
                                "minimum": 0,
                                "maximum": 1,
                                "editor": "number"
                            },
                            "android": {
                                "title": "Android",
                                "type": "number",
                                "description": "Weight for Android mobile.",
                                "default": 0.1,
                                "minimum": 0,
                                "maximum": 1,
                                "editor": "number"
                            },
                            "ios": {
                                "title": "iOS",
                                "type": "number",
                                "description": "Weight for iOS mobile.",
                                "default": 0.1,
                                "minimum": 0,
                                "maximum": 1,
                                "editor": "number"
                            }
                        },
                        "default": {
                            "windows": 0.4,
                            "mac": 0.3,
                            "linux": 0.1,
                            "android": 0.1,
                            "ios": 0.1
                        }
                    },
                    "country_device_map": {
                        "title": "Per-country device mix",
                        "type": "array",
                        "description": "Override device type mix per proxy country. One entry shows by default - fill it and a new one appears automatically. Countries not configured here use the global Device distribution above.",
                        "items": {
                            "type": "object",
                            "properties": {
                                "country": {
                                    "title": "Country",
                                    "type": "string",
                                    "description": "Select the proxy country for this device mix.",
                                    "editor": "select",
                                    "enum": [
                                        "AD",
                                        "AE",
                                        "AR",
                                        "AT",
                                        "AU",
                                        "AW",
                                        "BB",
                                        "BE",
                                        "BH",
                                        "BM",
                                        "BN",
                                        "BR",
                                        "BS",
                                        "CA",
                                        "CH",
                                        "CL",
                                        "CO",
                                        "CY",
                                        "CZ",
                                        "DE",
                                        "DK",
                                        "EE",
                                        "ES",
                                        "EU",
                                        "FI",
                                        "FO",
                                        "FR",
                                        "GB",
                                        "GL",
                                        "GR",
                                        "GU",
                                        "GY",
                                        "HK",
                                        "HR",
                                        "HU",
                                        "ID",
                                        "IE",
                                        "IL",
                                        "IM",
                                        "IN",
                                        "IS",
                                        "IT",
                                        "JE",
                                        "JP",
                                        "KR",
                                        "KW",
                                        "KY",
                                        "LT",
                                        "LU",
                                        "LV",
                                        "MO",
                                        "MT",
                                        "MX",
                                        "MY",
                                        "NC",
                                        "NL",
                                        "NO",
                                        "NZ",
                                        "PH",
                                        "PL",
                                        "PR",
                                        "PT",
                                        "QA",
                                        "RO",
                                        "RU",
                                        "SA",
                                        "SE",
                                        "SG",
                                        "SI",
                                        "SK",
                                        "SX",
                                        "TH",
                                        "TR",
                                        "TW",
                                        "UA",
                                        "US",
                                        "UY",
                                        "VI",
                                        "VN",
                                        "ZA"
                                    ],
                                    "enumTitles": [
                                        "Andorra",
                                        "UAE",
                                        "Argentina",
                                        "Austria",
                                        "Australia",
                                        "Aruba",
                                        "Barbados",
                                        "Belgium",
                                        "Bahrain",
                                        "Bermuda",
                                        "Brunei",
                                        "Brazil",
                                        "Bahamas",
                                        "Canada",
                                        "Switzerland",
                                        "Chile",
                                        "Colombia",
                                        "Cyprus",
                                        "Czech Republic",
                                        "Germany",
                                        "Denmark",
                                        "Estonia",
                                        "Spain",
                                        "European Union",
                                        "Finland",
                                        "Faroe Islands",
                                        "France",
                                        "United Kingdom",
                                        "Greenland",
                                        "Greece",
                                        "Guam",
                                        "Guyana",
                                        "Hong Kong",
                                        "Croatia",
                                        "Hungary",
                                        "Indonesia",
                                        "Ireland",
                                        "Israel",
                                        "Isle of Man",
                                        "India",
                                        "Iceland",
                                        "Italy",
                                        "Jersey",
                                        "Japan",
                                        "South Korea",
                                        "Kuwait",
                                        "Cayman Islands",
                                        "Lithuania",
                                        "Luxembourg",
                                        "Latvia",
                                        "Macau",
                                        "Malta",
                                        "Mexico",
                                        "Malaysia",
                                        "New Caledonia",
                                        "Netherlands",
                                        "Norway",
                                        "New Zealand",
                                        "Philippines",
                                        "Poland",
                                        "Puerto Rico",
                                        "Portugal",
                                        "Qatar",
                                        "Romania",
                                        "Russia",
                                        "Saudi Arabia",
                                        "Sweden",
                                        "Singapore",
                                        "Slovenia",
                                        "Slovakia",
                                        "Sint Maarten",
                                        "Thailand",
                                        "Turkey",
                                        "Taiwan",
                                        "Ukraine",
                                        "United States",
                                        "Uruguay",
                                        "US Virgin Islands",
                                        "Vietnam",
                                        "South Africa"
                                    ]
                                },
                                "windows": {
                                    "title": "Windows %",
                                    "type": "integer",
                                    "description": "Weight for Windows desktop (0–100)",
                                    "default": 0,
                                    "minimum": 0,
                                    "maximum": 100,
                                    "editor": "number"
                                },
                                "mac": {
                                    "title": "Mac %",
                                    "type": "integer",
                                    "description": "Weight for macOS desktop (0–100)",
                                    "default": 0,
                                    "minimum": 0,
                                    "maximum": 100,
                                    "editor": "number"
                                },
                                "linux": {
                                    "title": "Linux %",
                                    "type": "integer",
                                    "description": "Weight for Linux desktop (0–100)",
                                    "default": 0,
                                    "minimum": 0,
                                    "maximum": 100,
                                    "editor": "number"
                                },
                                "android": {
                                    "title": "Android %",
                                    "type": "integer",
                                    "description": "Weight for Android mobile (0–100)",
                                    "default": 0,
                                    "minimum": 0,
                                    "maximum": 100,
                                    "editor": "number"
                                },
                                "ios": {
                                    "title": "iOS %",
                                    "type": "integer",
                                    "description": "Weight for iOS mobile (0–100)",
                                    "default": 0,
                                    "minimum": 0,
                                    "maximum": 100,
                                    "editor": "number"
                                }
                            }
                        }
                    },
                    "behavior_distribution": {
                        "title": "Behavior distribution",
                        "type": "object",
                        "description": "Probability weights for browsing behavior types.",
                        "properties": {
                            "bounce": {
                                "title": "Bounce",
                                "type": "number",
                                "description": "Quick visit - minimal scroll, no click.",
                                "default": 0.15,
                                "minimum": 0,
                                "maximum": 1,
                                "editor": "number"
                            },
                            "normal": {
                                "title": "Normal",
                                "type": "number",
                                "description": "Medium scroll, likely clicks a link.",
                                "default": 0.65,
                                "minimum": 0,
                                "maximum": 1,
                                "editor": "number"
                            },
                            "deep": {
                                "title": "Deep",
                                "type": "number",
                                "description": "Deep scroll, always clicks, browses after.",
                                "default": 0.2,
                                "minimum": 0,
                                "maximum": 1,
                                "editor": "number"
                            }
                        },
                        "default": {
                            "bounce": 0.15,
                            "normal": 0.65,
                            "deep": 0.2
                        }
                    },
                    "click_targets": {
                        "title": "Click targets",
                        "type": "object",
                        "description": "Each click target type can be enabled/disabled with its own probability and matching rules.",
                        "properties": {
                            "main_links_enabled": {
                                "title": "Main links - Enabled",
                                "type": "boolean",
                                "description": "Click <a> links on the page.",
                                "default": true,
                                "editor": "checkbox"
                            },
                            "main_links_probability": {
                                "title": "Main links - Probability",
                                "type": "number",
                                "description": "Weight for clicking main links (relative to other targets).",
                                "default": 0.94,
                                "minimum": 0,
                                "maximum": 1,
                                "editor": "number"
                            },
                            "main_links_patterns": {
                                "title": "Main links - URL patterns",
                                "type": "array",
                                "description": "Only click links whose href contains one of these strings. Leave empty to click any link.",
                                "default": [
                                    "manual_redirect.php"
                                ],
                                "editor": "stringList",
                                "items": {
                                    "type": "string"
                                }
                            },
                            "main_links_domains": {
                                "title": "Main links - Domains",
                                "type": "array",
                                "description": "Only click links pointing to one of these domains. Leave empty to allow all domains.",
                                "default": [
                                    "www.profitablecpmratenetwork.com"
                                ],
                                "editor": "stringList",
                                "items": {
                                    "type": "string"
                                }
                            },
                            "div_ids_enabled": {
                                "title": "Div clicks - Enabled",
                                "type": "boolean",
                                "description": "Click specific div elements by their HTML ID.",
                                "default": false,
                                "editor": "checkbox"
                            },
                            "div_ids_probability": {
                                "title": "Div clicks - Probability",
                                "type": "number",
                                "description": "Weight for clicking div elements (relative to other targets).",
                                "default": 0.03,
                                "minimum": 0,
                                "maximum": 1,
                                "editor": "number"
                            },
                            "div_ids_list": {
                                "title": "Div clicks - Element IDs",
                                "type": "array",
                                "description": "HTML IDs of div elements to click (without #). Example: atContainer-1d9b72232985152b0bb812d355eacf14",
                                "default": [
                                    "atContainer-1d9b72232985152b0bb812d355eacf14"
                                ],
                                "editor": "stringList",
                                "items": {
                                    "type": "string"
                                }
                            },
                            "iframe_enabled": {
                                "title": "Iframe clicks - Enabled",
                                "type": "boolean",
                                "description": "Click inside iframe elements on the page.",
                                "default": false,
                                "editor": "checkbox"
                            },
                            "iframe_probability": {
                                "title": "Iframe clicks - Probability",
                                "type": "number",
                                "description": "Weight for clicking iframes (relative to other targets).",
                                "default": 0.03,
                                "minimum": 0,
                                "maximum": 1,
                                "editor": "number"
                            }
                        }
                    },
                    "headers": {
                        "title": "Custom HTTP headers",
                        "type": "object",
                        "description": "Additional HTTP headers sent with each request."
                    },
                    "speed": {
                        "title": "Speed mode",
                        "enum": [
                            "1x",
                            "2x",
                            "3x",
                            "4x",
                            "5x",
                            "6x",
                            "7x",
                            "8x",
                            "9x",
                            "10x"
                        ],
                        "type": "string",
                        "description": "Reduce visit duration by dividing all behavioral waits (scroll pauses, idle time, dwell time, post-click browse) by the selected factor. Page loads and proxy checks are not affected. 1x = full human-like timing. 4x = quarter time. 10x = fastest (minimal waits, saves rental cost).",
                        "default": "1x"
                    },
                    "div_dwell_seconds": {
                        "title": "Div ad dwell time",
                        "minimum": 1,
                        "maximum": 30,
                        "type": "integer",
                        "description": "How many seconds each div ad element stays in the viewport before clicking. This is the time the ad network needs to register an impression. NOT affected by speed mode - this is a network requirement, not a behavioral timing. Minimum 1s, maximum 30s.",
                        "default": 6
                    },
                    "headless": {
                        "title": "Headless browser",
                        "type": "boolean",
                        "description": "Run browsers in headless mode. Uses significantly less RAM, allowing higher concurrency on the same machine. Some anti-bot systems may detect headless mode more easily.",
                        "default": true
                    },
                    "max_request_retries": {
                        "title": "Max retries per visit",
                        "minimum": 0,
                        "maximum": 20,
                        "type": "integer",
                        "description": "Max retry attempts for a failed visit. Each retry uses a fresh proxy, browser context, and identity. Total attempts per visit = retries + 1. Failures include dead/suspect proxies, IP reuse, budget exceeded, or crashes.",
                        "default": 2
                    },
                    "abort_on_tail": {
                        "title": "Skip retry tail",
                        "type": "boolean",
                        "description": "When enabled, retries are skipped once the number of remaining visits drops below the concurrency setting. During the main burst phase all retries run normally. Only the slow 'tail' - where a few leftover retries run one at a time at low concurrency - is cut. Saves significant run time with poor proxy countries without reducing retries during the burst.",
                        "default": false
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
