Website Traffic Checker: Bulk Traffic History & Trends avatar

Website Traffic Checker: Bulk Traffic History & Trends

Pricing

from $3.00 / 1,000 domain with traffic histories

Go to Apify Store
Website Traffic Checker: Bulk Traffic History & Trends

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

Vadim Bezrukov

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

1

Monthly active users

3 days ago

Last modified

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. traffic is estimated monthly organic search traffic from the public website profiles on AhrefsTop: what a site gets from its Google rankings, not total visits. cruxTier comes 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

EventPriceWhen
Domain with traffic history$0.003per domain with a monthly traffic series (OK)
Domain with Chrome tier only$0.0005per 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.

RunYou 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):

GroupDomainsMonthly traffic, 12 months or moreChrome tierEither
Large, well-known sites40383638
Mid-size SEO and content sites40233033
Small business sites2001212
Total100617883

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 pagesThis Actor
Historylast 3 months of visitsmonthly search traffic since 2015, Chrome tier yearly since 2021
Metrictotal visits (all channels)organic search traffic and its $ value; Chrome popularity tier
Batch sizevariesup to 10,000 domains per run
Small sitesoften zero or missinga Chrome tier for sites in Chrome's top million
Failed lookupsdepends on the listingnever 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.

StatusMeaningCharged
OKa monthly traffic series with at least one month of 1 visit or more$0.003
TIER_ONLYno public traffic profile, but a Chrome popularity tier$0.0005
NO_DATAneither source knows the siteno
INVALID_TARGETnot a public domain after removing scheme, path and www.no
SOURCE_FAILEDa source refused or failed after 3 attempts, or its pages changed shape or movedno
CHARGE_LIMITyour maximum cost per run was reached firstno

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 with
months 24. Sort them by trafficLatest, show yoyPct, trend6m and cruxTrend, and
list 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_ONLY or NO_DATA.
  • Either source can change or refuse requests. The Actor then reports SOURCE_FAILED and charges nothing; it never fills in numbers.

Release history

See the CHANGELOG.md.