Website Traffic Checker: Bulk Traffic History & Trends
Pricing
from $3.00 / 1,000 domain with traffic histories
Website Traffic Checker: Bulk Traffic History & Trends
Check website traffic history for up to 10,000 domains per run: monthly organic search traffic since 2015 from public website profiles plus the Chrome popularity tier, with month-over-month, year-over-year, 6-month trend and peak. $0.003 per domain with history.
Pricing
from $3.00 / 1,000 domain with traffic histories
Rating
0.0
(0)
Developer
Vadim Bezrukov
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Paste a list of websites and get each one's monthly organic search traffic since 2015, with month-over-month and year-over-year change, a 6-month trend, the peak month, the top countries and its rank in your list, plus the site's Chrome popularity tier (top 1K ... top 1M) for every year since 2021. One run checks up to 10,000 domains, from a pasted list or another Actor's Dataset.
Built for three jobs:
- SEO agencies and analysts comparing the same competitor set every month.
- Website buyers checking a site's traffic trend before an acquisition.
- Sales teams sorting a lead list by website size and growth.
What the numbers mean.
trafficis estimated monthly organic search traffic from the public website profiles on AhrefsTop: what a site gets from its Google rankings, not total visits.cruxTiercomes from the Chrome UX Report top lists: the site's place among the most visited sites in Chrome, all channels included, in tiers (top 1,000, 5,000, 10,000, 50,000, 100,000, 500,000, 1 million). Use both to compare sites and see trends, not to match someone's analytics account.
Quick start: 5 domains, 24 months
{"targets": ["semrush.com", "ahrefs.com", "moz.com", "backlinko.com", "zapier.com"],"months": 24}
Each domain becomes one row. This is moz.com from 2026-11-01, shortened to two of its 24 months:
{"domain": "moz.com","status": "OK","latestMonth": "2026-10","trafficLatest": 944502,"trafficValueLatest": 2142268,"momPct": -4.1,"yoyPct": -17.9,"trend6m": "flat","peakMonth": "2025-06","peakTraffic": 1951844,"months": [{ "month": "2024-11", "traffic": 1181705, "trafficValue": 2466179 },{ "month": "2026-10", "traffic": 944502, "trafficValue": 2142268 }],"topCountries": [{ "country": "US", "traffic": 662236, "share": 0.701 },{ "country": "IN", "traffic": 81559, "share": 0.086 }],"cruxTier": 500000,"cruxMonth": "2026-09","cruxTier24mAgo": 100000,"cruxTrend": "down"}
trafficValue is what that traffic would cost as Google Ads clicks, in US dollars. Open the Traffic by domain view for the table, or switch Output rows to long for one row per domain and month, ready for Google Sheets and charts.
What it costs
| Event | Price | When |
|---|---|---|
| Domain with traffic history | $0.003 | per domain with a monthly traffic series (OK) |
| Domain with Chrome tier only | $0.0005 | per domain without a public profile that still has a Chrome tier (TIER_ONLY) |
Never charged: NO_DATA, INVALID_TARGET, SOURCE_FAILED, CHARGE_LIMIT. No run fee; platform usage is included. It works on the Apify free plan too.
| Run | You pay |
|---|---|
| 5 well-known sites | $0.015 |
| 100 domains, 61 with history and 22 with a tier only | $0.194 |
| 1,000 domains with history | $3.00 |
Set Maximum cost per run to bound the bill. When it is reached, the run stops reading new profiles, keeps every delivered row, marks the rest CHARGE_LIMIT and still succeeds.
Coverage: what we measured
On 2026-11-01 we checked a fixed set of 100 domains (40 large sites, 40 mid-size SEO and content sites, 20 small business sites):
| Group | Domains | Monthly traffic, 12 months or more | Chrome tier | Either |
|---|---|---|---|---|
| Large, well-known sites | 40 | 38 | 36 | 38 |
| Mid-size SEO and content sites | 40 | 23 | 30 | 33 |
| Small business sites | 20 | 0 | 12 | 12 |
| Total | 100 | 61 | 78 | 83 |
Traffic profiles exist for sites in AhrefsTop's list of top websites; smaller sites get a Chrome tier when they are among Chrome's top million, and NO_DATA (free) otherwise. Tiers do move: 39% of the domains changed tier between September 2024 and September 2026, and mid-size SEO publishers fell the most (moz.com, searchenginejournal.com and neilpatel.com from the top 100,000 to the top 500,000).
How it compares
| Traffic scrapers based on Similarweb pages | This Actor | |
|---|---|---|
| History | last 3 months of visits | monthly search traffic since 2015, Chrome tier yearly since 2021 |
| Metric | total visits (all channels) | organic search traffic and its $ value; Chrome popularity tier |
| Batch size | varies | up to 10,000 domains per run |
| Small sites | often zero or missing | a Chrome tier for sites in Chrome's top million |
| Failed lookups | depends on the listing | never charged |
Need total visits for the last few months rather than a multi-year trend? A Similarweb-based scraper is the better fit.
More inputs
Read domains from another Actor's Dataset
Run it after a lead scraper or any Actor that writes websites into a Dataset:
{"datasetId": "YOUR_DATASET_ID","targetField": "domain","months": 12}
With the default domain column, rows without it fall back to website, then url. Dot paths such as company.website work too. In an Apify integration set datasetId to {{resource.defaultDatasetId}}; the run gets read access to that Dataset only. A run reads up to 10,000 rows, and RUN_SUMMARY.nextDatasetOffset says where the next run should start.
A fixed period
Set dateFrom and dateTo (yyyy-mm, from 2015-01) instead of months. Empty dateTo means the last finished month.
Traffic only
Set includeTier to false to skip the Chrome lists; the run is about 20 seconds faster, and sites without a traffic profile become NO_DATA.
Run it every month
The natural repeat is the same list once a month: save it as a Task and add an Apify schedule such as 0 6 3 * * (06:00 UTC on the 3rd). Each run adds the newest month next to the old ones. Profiles read in the last 7 days come from your account's cache: same rows and price, faster.
Output and statuses
Every input gets a row; duplicates are checked once.
| Status | Meaning | Charged |
|---|---|---|
OK | a monthly traffic series with at least one month of 1 visit or more | $0.003 |
TIER_ONLY | no public traffic profile, but a Chrome popularity tier | $0.0005 |
NO_DATA | neither source knows the site | no |
INVALID_TARGET | not a public domain after removing scheme, path and www. | no |
SOURCE_FAILED | a source refused or failed after 3 attempts, or its pages changed shape or moved | no |
CHARGE_LIMIT | your maximum cost per run was reached first | no |
Main columns: domain (normalized host, subdomains kept), input, latestMonth, trafficLatest, trafficValueLatest, momPct, yoyPct (needs 13 months), trend6m (up, flat, down), peakMonth, peakTraffic, firstMonthWithData, rankInSet (by latest traffic in this run), months, topCountries, cruxTier, cruxTier24mAgo, cruxTrend, cruxHistory, fromCache, checkedAt, sources, error, fingerprint.
The run ends FAILED only when no domain could be answered for a source-side reason, or when the input has no domain at all; nothing is charged then. RUN_SUMMARY in the Key-Value Store has the counts per status, cache hits, profile requests, the Chrome list months read and the charged events.
Use with AI agents through Apify MCP
Add this Actor to an MCP client such as Claude or Cursor:
https://mcp.apify.com?tools=automa-flow/website-traffic-history-checker
Example prompt:
Run automa-flow/website-traffic-history-checker for these competitor domains withmonths 24. Sort them by trafficLatest, show yoyPct, trend6m and cruxTrend, andlist TIER_ONLY and NO_DATA domains separately. Keep maxTotalChargeUsd at 1.
An agent can predict the bill before the run: at most $0.003 per domain.
Sources and limitations
- Traffic: public website profiles on AhrefsTop, read once per domain at a polite pace (at most 5 requests a second). This Actor is not affiliated with Ahrefs.
- Tiers: Chrome UX Report top lists as published monthly in zakird/crux-top-lists.
- Traffic is search traffic, not visits; a site that lives on direct, social or email traffic looks smaller than it is. Tiers are coarse.
- Only sites in AhrefsTop's list have traffic; very small sites can be
TIER_ONLYorNO_DATA. - Either source can change or refuse requests. The Actor then reports
SOURCE_FAILEDand charges nothing; it never fills in numbers.
Release history
See the CHANGELOG.md.