Traffic Generator β YouTube, Web, Etsy, Behance & more
Pricing
from $0.35 / 1,000 results
Traffic Generator β YouTube, Web, Etsy, Behance & more
Not sure your analytics, pages and load times hold up under real visits? Send test visits to sites, YouTube videos, Etsy shops or Behance pages you own and get one row per visit: status, analytics hits seen, Core Web Vitals and stress-test latency.
Pricing
from $0.35 / 1,000 results
Rating
0.0
(0)
Developer
Crawl Craft
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Security
Limited permissionsShare
Traffic Generator β visit results, analytics hits and load timings
Traffic Generator sends real visits to web pages, YouTube videos, Etsy shops and Behance profiles that you own or are allowed to test, and returns one data row per visit. Each row shows the HTTP status, whether a bot wall blocked the visit, load timings and Core Web Vitals, which analytics tags are on the page and which of them received a hit, time on page, scroll depth, pages clicked and the visitor used. Every response is structured JSON β ready to pass directly to an LLM, index into a vector store, or feed a monitoring pipeline. Use it to check that your analytics really count visits and to load test your own site.
Why Choose This Traffic Generator?
- One row per visit: you see what happened instead of being told to check a dashboard.
- Honest counters: a visit is marked as counted by analytics only when a real analytics hit was seen, and a YouTube visit whose player shows an error is never reported as a view.
- Three modes: browser visits, fast HTTP visits and a stress test with p50, p90 and p99 latency.
- Bulk input: paste a long list of URLs, set visits per URL and the run ends by itself.
- Visits appear in the Output tab while the run is still going, split into separate tables (the per-URL table is filled when the run ends).
- Starts without a proxy and moves to stronger proxies on its own if the target refuses visits.
Key Features
- Generate pageviews with a real browser: varied devices and screen sizes, referrers, languages, scrolling, mouse movement and time on page.
- Click through internal pages: set pages per visit to open the landing page plus pages inside the site.
- Play YouTube videos and report how many seconds really played.
- Platform facts: YouTube title, channel and view count, Etsy shop sales, Behance followers and views.
- Website stress test: many parallel requests with latency percentiles and requests per second.
- Core Web Vitals per visit: TTFB, DOM ready, load, FCP, LCP and CLS.
- Analytics check: GA4, Tag Manager, Meta Pixel, Hotjar, Clarity, LinkedIn, TikTok, Plausible and many more are recognised on the page and in the hits sent.
- Kill switch, failure guard and screenshots per visit.
Input
{"urls": ["https://blog.apify.com/", "https://www.youtube.com/watch?v=jNQXAC9IVRw", "https://www.behance.net/tubik"],"mode": "browser","visits_per_url": 2,"dwell_seconds": "15-40","pages_per_visit": 2,"proxyConfiguration": { "useApifyProxy": false }}
| Field | What it does |
|---|---|
urls (required) | Pages, videos or profiles to visit, one per line. Bulk lists are welcome. |
mode | browser (counted by analytics), http (fast, server logs only) or stress (load test). |
visits_per_url | Visits every URL gets. Total visits = URLs Γ this number. Free plan: up to 10 visits per run in total. |
dwell_seconds | Time on page per visit: a number or a range such as 15-40 (browser mode). |
pages_per_visit | 1 = landing page only, 3 = landing page plus 2 clicked pages (browser mode). |
scroll, youtube_autoplay | Scroll and move the mouse like a reader; press play on YouTube videos. |
device_mix, mobile_share, locales, referrers | Which devices, languages and traffic sources the visitors use. |
concurrency, stress_concurrency | Parallel visitors (browser and HTTP) and parallel requests (stress test). |
headless, retry_blocked_headful, browser_channel, screenshot | Browser behaviour: hidden or visible window, retry blocked visits in a visible window, browser build, screenshots. |
block_resource_types, block_url_patterns | Skip files or addresses to save bandwidth. |
timeout_seconds, max_retries, end_after_seconds, max_consecutive_failures | Timeouts, retries, the kill switch and the failure guard. |
proxyConfiguration | Optional. Runs start without a proxy; stronger proxies are used on their own if visits are refused. |
Output
Each visit is one row. This is a real browser-mode row, shortened:
{"visit": 1,"url": "https://blog.apify.com/","final_url": "https://blog.apify.com/","platform": "web","mode": "browser","route": "direct","headful": false,"started_at": "2026-10-25T12:34:06+00:00","duration_seconds": 23.2,"status_code": 200,"ok": true,"blocked": false,"error": null,"page": { "title": "Apify Blog: Guides to the largest marketplace of tools for AI", "language": "en", "h1": "Apify Blog", "word_count": 1090, "internal_links": 62, "external_links": 64 },"timing_ms": { "ttfb": 43, "dom_content_loaded": 4068, "load": 10897, "fcp": 3344, "lcp": 3972, "cls": 0.001 },"network": { "requests": 395, "failed_requests": 34, "transfer_bytes": 418841, "console_errors": 2 },"analytics": {"tags_on_page": { "ga4": ["G-62P18XN9NS"], "google_tag_manager": ["GTM-MNGXGGB"] },"beacons_fired": ["Google Analytics", "HubSpot", "Microsoft Clarity"],"scripts_loaded": ["Google Tag Manager", "Segment"],"pageview_counted": true},"engagement": { "dwell_seconds": 9.9, "scroll_depth_pct": 36, "pages_visited": ["https://blog.apify.com/", "https://blog.apify.com/tag/thought-leadership/"], "clicks": 1 },"visitor": { "device": "Desktop Chrome HiDPI", "device_type": "desktop", "viewport": "1280x720", "locale": "en-US", "referrer": "direct", "proxy": null },"platform_data": null}
| Table | What it holds |
|---|---|
| Visits | The full row above, one per visit. |
| Performance | Timings, Core Web Vitals, request counts and bytes. |
| Pages | The landing page and every page clicked inside a visit. |
| Analytics | Tags on the page, hits that fired, libraries that only loaded, counted yes/no. |
| Engagement | Time on page, scroll depth, pages visited, clicks. |
| Visitors | Device, viewport, language, referrer and proxy address. |
| Platform data | YouTube, Etsy and Behance facts. |
| Per URL | Visits, successes, blocks and average timings for each URL. |
The Visits table has one view per section (page, timings, network, analytics, engagement, visitor, platform data), and the key-value store record OUTPUT holds the whole run in one file: {"summary": {...}, "visits": [...]}.
The run summary (success rate, status codes, TTFB and load percentiles, requests per second in stress mode) is saved as RUN_SUMMARY in the key-value store. In HTTP mode no scripts run, so pageview_counted stays false and the row says why. Stress rows keep only the fields a load test needs.
π How to Use (Apify Console)
- Log in at https://console.apify.com and open Actors.
- Find Traffic Generator and open it.
- Add your URLs, pick a mode and set visits per URL. Leave the proxy as it is unless you want to start with one.
- Click Start.
- Watch the log: one line per finished visit while the tables fill.
- Open the Output tab when the run completes.
- Export to JSON, CSV or Excel.
π€ Use via API / MCP
curl -X POST "https://api.apify.com/v2/actors/<ACTOR_ID>/runs" \-H "Authorization: Bearer $APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"urls":["https://example.com/"],"mode":"http","visits_per_url":5}'
Replace <ACTOR_ID> with the ID shown on the Actor page. For AI agents, add the Apify server with claude mcp add --transport http apify "https://mcp.apify.com"; the agent finds this Actor through the server's search, details and call tools.
Best Use Cases
- Check that GA4, Meta Pixel or Tag Manager count visits on a site you own.
- Measure load speed and Core Web Vitals from many different visitor setups.
- Load test a staging site or your own site before a campaign.
- Confirm that a YouTube embed or an Etsy or Behance page loads for real visitors.
Pricing
This Actor uses pay-per-event pricing. A visit that succeeds is saved and billed as one result. Blocked or failed visits are saved so you can see what happened and are not billed. If you set a maximum cost per run, the Actor stops cleanly when it is reached.
Frequently Asked Questions
Does every visit count in my analytics? Only browser-mode visits run scripts, so only they can be counted. The pageview_counted field is true only when a real analytics hit was seen during that visit. HTTP and stress visits are visible in server logs and CDN counters only.
Can it raise my YouTube view count? The Actor reports whether the video streamed and how many seconds played. YouTube alone decides whether a view counts, and a rate-limited address often gets a player that does not start; those rows are marked as failed with the reason.
Why was my visit blocked? Some sites show a bot wall or rate limit to automated visitors. The Actor can retry in a visible window (when that option is on) and then moves to stronger proxies on its own. Rows that stayed blocked have blocked: true.
What does the stress test report? One row per request with status and timings, and a summary with p50, p90 and p99 latency and requests per second. Parallel requests are capped at 50.
How do I stop a run early? Set end_after_seconds, or abort the run: everything collected so far is already saved.
Is the layout of a platform page fixed? No. Platforms change their pages from time to time; when a field cannot be read it is null and the log says that some platform fields may be empty.
Which sites can I use it on? Only sites you own or are authorised to test. Platform rules for YouTube, Etsy, Behance and other sites apply to you as the user.
Support and Feedback
Found a page where a field stays empty or a visit is wrongly marked as blocked? Open an issue from the Actor page with the URL, the mode and the run link.