(New) Best Website Traffic Generator avatar

(New) Best Website Traffic Generator

Pricing

from $3.00 / 1,000 page visits

Go to Apify Store
(New) Best Website Traffic Generator

(New) Best Website Traffic Generator

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.

Pricing

from $3.00 / 1,000 page visits

Rating

5.0

(7)

Developer

Harsh Maur

Harsh Maur

Maintained by Community

Actor stats

31

Bookmarked

3.4K

Total users

77

Monthly active users

2 hours ago

Last modified

Share

Website Traffic Generator - Real Browser Visits for Load Testing

Send real Chrome browser visits to your own website. Each visit loads the full page, stays for a random time, scrolls down like a reader, and records which analytics tags fired. Use it to load test a site, check that GA4, Google Tag Manager and pixels fire on every page, warm a cache, or see how pages load from other countries.

Pay per event: you pay only for page visits that load. No monthly fee and no platform usage fees.

What does Website Traffic Generator do?

  • Real browser page views: every visit runs in headless Chrome with a real browser fingerprint. JavaScript, analytics tags, cookies and lazy-loaded content all run as they do for a person.
  • Random time on page: set a Min wait and a Max wait. Each visit stays for a random time in that range and scrolls down while it waits.
  • Automatic link discovery: give only your home page. The actor finds links on the same domain and visits them, up to the page limit you set.
  • Loops: visit the same set of pages again and again. Total visits = pages x loops.
  • Any country: send the visits through Apify Proxy (datacenter or residential, with a country) or through your own proxies.
  • Faster, lighter visits: block ads, images, fonts or any URL pattern, for example a chat widget. Analytics tags still load.
  • Analytics and tag check: each visit records which tags sent data: GA4, Google Tag Manager, Google Ads, Meta Pixel, TikTok Pixel, LinkedIn Insight, Microsoft Clarity and Hotjar.
  • Desktop or mobile visitors: choose desktop, mobile (Android) or a mix. Every visit is a new visitor with its own cookies.
  • UTM tags and referrer: tag every visit (for example utm_source=traffic-test) to find or filter the test traffic in your reports, and set a referrer to test attribution.
  • Custom HTTP headers: test a staging site behind basic auth or a firewall. The headers go only to your site, never to other domains.
  • Run summary for load tests: error rate, median and p95 load time, tag fire rates, and the slowest pages.
  • A row for every visit: URL, title, HTTP status, load time, time on page, scroll depth, tags fired, device, user agent and loop number.

Who uses a website traffic generator?

Use caseHow it helps
Load testingSee how your server, CDN and database act when many browsers load pages at the same time.
Analytics and tag QASee on which pages GA4, Google Tag Manager, Meta Pixel and other tags fire, and on which pages they do not.
Mobile QALoad every page as an Android phone to check mobile layouts, redirects and mobile analytics.
Staging testsSend a password or bypass header to test a staging site before launch.
Cache warm-upLoad every page after a deploy so the first real visitors get cached pages.
Geo checksLoad pages from another country to check redirects, prices, language and consent banners.
Uptime and broken linksFind pages that answer 404 or 500 in the output.

Use this actor only on websites that you own or have permission to test. Do not use it to inflate ad impressions, ad clicks or audience numbers. That is ad fraud, and ad networks and analytics tools detect and remove that traffic.

How to generate website traffic

  1. Add your website in Start URLs, for example https://www.example.com.
  2. Set Maximum pages and Loops. For example, 20 pages and 5 loops give 100 visits.
  3. Set Min wait and Max wait for the time on each page.
  4. Optional: choose the Device, add UTM tags, a Referrer or Custom HTTP headers.
  5. Optional: choose a Proxy to send the visits from other IPs or another country.
  6. Click Start. Each visit appears in the output table as it finishes. The run summary is ready when the run ends.

Input example

{
"startUrls": ["https://www.example.com"],
"maxPages": 20,
"multiply": 5,
"enqueueLinks": true,
"parallelize": true,
"minPageWaitSeconds": 10,
"maxPageWaitSeconds": 40,
"device": "mixed",
"utmSource": "traffic-test",
"utmCampaign": "launch-load-test",
"referrer": "https://www.google.com/",
"headers": { "X-Staging-Token": "your-token" },
"blockAds": false,
"blockImages": false,
"proxy": { "useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"], "apifyProxyCountry": "GB" }
}

To visit only the pages that you list, set "enqueueLinks": false and put every page in startUrls.

Output example

{
"dataType": "visit",
"status": "success",
"url": "https://www.example.com/pricing",
"loadedUrl": "https://www.example.com/pricing",
"title": "Pricing - Example",
"statusCode": 200,
"loop": 2,
"loadSeconds": 1.4,
"waitSeconds": 27.3,
"scrollDepthPercent": 64,
"linksFound": 48,
"analytics": {
"ga4": true,
"googleTagManager": true,
"googleAds": false,
"metaPixel": true,
"tiktokPixel": false,
"linkedinInsight": false,
"microsoftClarity": false,
"hotjar": false
},
"device": "mobile",
"userAgent": "Mozilla/5.0 (Linux; Android 14; Pixel 8) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Mobile Safari/537.36",
"viewport": "412x915",
"referrer": "https://www.google.com/",
"proxyKind": "apify_residential",
"visitedAt": "2026-10-01T09:12:44.512Z"
}

A failed visit has "status": "failed", an errorCode (for example http_404 or timeout) and an error message. Failed visits are free.

A tag counts as fired only when it sent data (for example a GA4 /g/collect hit or a Meta Pixel /tr hit), not only when its script loaded.

Load test report

When the run ends, the Run summary (record SUMMARY in the key-value store) shows the whole run:

{
"visits": 500,
"succeeded": 494,
"failed": 6,
"errorRatePercent": 1.2,
"medianLoadSeconds": 1.3,
"p95LoadSeconds": 4.8,
"maxLoadSeconds": 11.2,
"byStatusCode": { "200": 494, "503": 6 },
"byErrorCode": { "load_failed": 6 },
"analyticsFiredRatePercent": { "ga4": 98.4, "googleTagManager": 100 },
"pagesTotal": 25,
"pages": [
{ "url": "https://www.example.com/search", "visits": 20, "failed": 4, "medianLoadSeconds": 3.9, "p95LoadSeconds": 11.2, "maxLoadSeconds": 11.2 }
]
}

Pages are sorted slowest first. A GA4 rate below 100% means some pages or visits did not send a GA4 hit.

How much does it cost to generate website traffic?

This actor uses pay-per-event pricing. You pay only for these events:

EventPrice
Page visit (loads, then stays up to 30 seconds)$0.003
Each extra 30 seconds on a page$0.002
Residential proxy surcharge, per visit (only with Apify Residential proxy)$0.15
Residential images surcharge, per visit (only with Load images on Residential proxy)$0.05
Run start, per GB of memory$0.005

Examples:

  • 1,000 visits with the default wait (1-5 seconds) and no proxy: $3, plus $0.005 for the run start at the default 1 GB.
  • 1,000 visits that stay 45 seconds each: 1,000 x ($0.003 + $0.002) = $5.
  • 1,000 visits through Apify Residential proxy: 1,000 x ($0.003 + $0.15) = $153.

Your own proxies and Apify datacenter proxy add no charge. Visits through Apify Residential proxy skip images, fonts and video, and reuse the scripts and styles that earlier visits in the run downloaded. Pages load faster, and analytics tags still run. To load images too, turn on Load images on Residential proxy. Images use much more residential traffic, so each of these visits costs $0.05 more. Visits that fail (HTTP 4xx or 5xx, timeouts) are not charged. When your spending limit for the run is reached, the actor stops by itself.

Tips for realistic load tests

  • Concurrency: "Run in parallel" opens up to 10 pages at the same time. To get more load, start several runs at the same time.
  • Time on page: analytics tools count a visit as engaged after about 10 seconds. Set Min wait to 10 or more to test engagement events.
  • Faster runs: block images and ads when you test only HTML and server response.
  • Memory: the default 1 GB is enough for most sites. Use 2 GB (the maximum) for heavy pages with many parallel visits. The run start costs $0.005 for each GB.

FAQ

How do I keep the test visits out of my analytics reports?

Set UTM source (the form suggests traffic-test). Every visit URL then carries utm_source=traffic-test. In Google Analytics, filter or compare by session source to see only the test traffic, or to remove it.

Why does a tag show false when I know my site has it?

Turn off Block ads. The actor lets the tags in the list above through the ad blocker, but on some sites the ad-block list still stops them. Also check the cookie banner. Tags that wait for consent do not fire, because the actor does not accept cookie banners.

Can I simulate tablets or iPhones?

Not yet. The visits use Chrome, so the device choices are desktop and Android mobile.

Will the visits show in Google Analytics?

Yes, in most cases. The visits run full JavaScript in Chrome, so analytics tags fire, and the analytics field shows if GA4 sent its hit. Google Analytics removes traffic that it identifies as bots, so use the visits to test your setup, not to count audience.

Can I choose the country of the visits?

Yes. In Proxy, select Apify Proxy, choose the Residential group and a country. Or add your own proxy URLs from any provider.

Does the actor click on ads?

No. The actor does not click ads or links. It loads pages, waits and scrolls. You can also block ads with Block ads.

Sending test traffic to a site that you own or have permission to test is normal load testing. Sending fake traffic to inflate ad revenue or to deceive advertisers or buyers is fraud. You are responsible for how you use the actor.

Why did my visit fail?

See the errorCode in the output. http_404 means the page does not exist. timeout means the page did not load in 60 seconds. Failed visits are free.

I used this actor before. Do my saved inputs still work?

Yes. All input fields keep their names, and old inputs and schedules still run. One change: visits through Apify Residential proxy now skip images, fonts and video. Turn on Load images on Residential proxy to load them again, for $0.05 more per visit.

More scrapers from the same developer

Questions or a feature request? Open an issue on the Issues tab.