{
  "openapi": "3.0.1",
  "info": {
    "title": "(New) Best Website Traffic Generator",
    "description": "Draw targeted traffic to your websites, mimic real user behaviour and view their stats on Google analytics. Auto discover links on the page and crawl the entire websites in few minutes while giving you complete control. Use the tool to generate page views, stress test the website.",
    "version": "0.0",
    "x-build-id": "tvkicdNA2HEwdDwIQ"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/harshmaur~website-traffic-generator/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-harshmaur-website-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/harshmaur~website-traffic-generator/runs": {
      "post": {
        "operationId": "runs-sync-harshmaur-website-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/harshmaur~website-traffic-generator/run-sync": {
      "post": {
        "operationId": "run-sync-harshmaur-website-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": [
          "startUrls"
        ],
        "properties": {
          "startUrls": {
            "title": "Start URLs",
            "type": "array",
            "description": "Pages to visit first. With 'Find new links' on, the actor also visits links on the same domain, up to 'Maximum pages'. Use only sites you own or have permission to test.",
            "items": {
              "type": "string"
            }
          },
          "multiply": {
            "title": "Loops",
            "minimum": 1,
            "maximum": 500,
            "type": "integer",
            "description": "How many times to visit each page. Loop 1 finds the pages; each extra loop visits the same pages again. Total visits = pages x loops.",
            "default": 1
          },
          "maxPages": {
            "title": "Maximum pages",
            "minimum": 1,
            "maximum": 9999999999,
            "type": "integer",
            "description": "The largest number of different pages to visit in each loop, start URLs included. Default 10.",
            "default": 10
          },
          "enqueueLinks": {
            "title": "Find new links",
            "type": "boolean",
            "description": "Also visit links on the same domain that the start pages link to.",
            "default": true
          },
          "parallelize": {
            "title": "Run in parallel",
            "type": "boolean",
            "description": "Open up to 10 pages at the same time. Turn off to visit one page at a time.",
            "default": true
          },
          "maxPageWaitSeconds": {
            "title": "Max wait",
            "minimum": 2,
            "maximum": 300,
            "type": "integer",
            "description": "The longest time to stay on a page after it loads. Default 5 seconds.",
            "default": 5
          },
          "minPageWaitSeconds": {
            "title": "Min wait",
            "minimum": 1,
            "maximum": 299,
            "type": "integer",
            "description": "The shortest time to stay on a page after it loads. Default 1 second.",
            "default": 1
          },
          "device": {
            "title": "Device",
            "enum": [
              "desktop",
              "mobile",
              "mixed"
            ],
            "type": "string",
            "description": "The browser type of each visit. Mixed picks desktop or mobile for each browser. Every visit is a new visitor with its own cookies.",
            "default": "desktop"
          },
          "utmSource": {
            "title": "UTM source",
            "type": "string",
            "description": "Added to every visit URL as utm_source. Use it to find or filter the test traffic in your analytics. Leave empty to add no UTM tags."
          },
          "utmMedium": {
            "title": "UTM medium",
            "type": "string",
            "description": "Added to every visit URL as utm_medium."
          },
          "utmCampaign": {
            "title": "UTM campaign",
            "type": "string",
            "description": "Added to every visit URL as utm_campaign."
          },
          "referrer": {
            "title": "Referrer",
            "type": "string",
            "description": "The page each visit seems to come from, for example https://www.google.com/. Use it to test how your analytics attributes traffic. Leave empty for direct visits."
          },
          "headers": {
            "title": "Custom HTTP headers",
            "type": "object",
            "description": "Extra headers for requests to your site only (never to other domains), for example a staging password or a firewall bypass token. Example: {\"Authorization\": \"Basic dXNlcjpwYXNz\"}."
          },
          "blockAds": {
            "title": "Block ads",
            "type": "boolean",
            "description": "Block ads with EasyList. Analytics tags still load, but on some sites the list also stops them.",
            "default": false
          },
          "blockImages": {
            "title": "Block images",
            "type": "boolean",
            "description": "Do not download images, fonts or video. Analytics pixels still load. Always on with Apify Residential proxy, unless you turn on Load images on Residential proxy.",
            "default": false
          },
          "blockPatterns": {
            "title": "Custom block patterns",
            "type": "array",
            "description": "Block every request whose URL contains one of these texts. For example, 'intercom' blocks a chat widget.",
            "items": {
              "type": "string"
            }
          },
          "proxy": {
            "title": "Proxy",
            "type": "object",
            "description": "Where the visits come from. No proxy uses the Apify server IP. Apify Proxy or your own proxies give other IPs and countries. Apify Residential proxy adds a charge to each visit.",
            "default": {
              "useApifyProxy": false
            }
          },
          "loadImagesOnResidential": {
            "title": "Load images on Residential proxy",
            "type": "boolean",
            "description": "Residential visits skip images, fonts and video so pages load faster. Analytics tags still run. Turn this on to load them. Each visit then costs $0.05 more, because images use much more residential traffic.",
            "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}