DEV Community

Mena489
Mena489

Posted on

How to Analyse Competitor Website Traffic (Without a $200/Month Tool)

Knowing how much traffic a competitor gets, where it comes from, and which keywords drive it is the foundation of any serious SEO or market-entry decision. The tools that provide it — Similarweb, Semrush, Ahrefs — start around $130–$500 per month. This guide shows how to get the same core metrics for $10.

Short answer: feed domains to the Website Traffic Analysis tool and get global rank, monthly visits, engagement metrics, traffic-source breakdown and top keywords per domain.

What the data actually tells you

Traffic estimates are estimates. No third-party tool sees a competitor's analytics. What they do see is panel data, clickstream samples and public signals, modelled into a number. Treat the absolute figure as approximate and the relative figures as reliable — if the tool says competitor A gets 3× competitor B, that ratio holds up far better than either raw number.

With that caveat, four metrics carry most of the decision-making weight:

  • Traffic sources. A site that is 80% paid search is a fundamentally different business from one that is 80% organic. The first stops the day the ad budget stops.
  • Engagement. Bounce rate and pages-per-visit tell you whether that traffic is qualified or bought cheap.
  • Top keywords. The terms actually sending them traffic — your keyword research, already done.
  • Trend direction. Three months of visit history shows whether they are growing or sliding.

Step 1 — Give it domains

{
    "urls": [
        "https://docs.apify.com/",
        "https://competitor-one.com",
        "https://competitor-two.com"
    ]
}
Enter fullscreen mode Exit fullscreen mode

That is the whole input. Pass one domain or a list of fifty.

Step 2 — Read the results

{
    "SiteName": "docs.apify.com",
    "Title": "Apify Documentation",
    "Category": "computers_electronics_and_technology/programming_and_developer_software",
    "GlobalRank": { "Rank": 68321 },
    "CountryRank": { "Country": 840, "CountryCode": "US", "Rank": 41902 },
    "EstimatedMonthlyVisits": {
        "2026-04-01": 812340,
        "2026-05-01": 798120,
        "2026-06-01": 803455
    },
    "Engagments": {
        "Visits": "803455",
        "TimeOnSite": "214.7",
        "PagePerVisit": "3.42",
        "BounceRate": "0.41"
    },
    "TrafficSources": {
        "Direct": 0.41,
        "Search": 0.44,
        "Social": 0.03,
        "Referrals": 0.11,
        "Mail": 0.01
    },
    "TopCountryShares": [ { "Country": 840, "CountryCode": "US", "Value": 0.22 } ]
}
Enter fullscreen mode Exit fullscreen mode

Two things to note: Engagments is spelled that way in the output (an upstream quirk — match it exactly in your code), and TimeOnSite is in seconds, so 214.7 means about three and a half minutes.

Reading it like an analyst

Compute traffic per source, not just share. A 44% search share on 800k visits is 352k organic sessions. Against a competitor with a 70% search share on 90k visits — 63k sessions — you are looking at a site with a smaller organic footprint despite the higher percentage. Percentages mislead; multiply them out.

for site in results:
    visits = float(site["Engagments"]["Visits"])
    for source, share in site["TrafficSources"].items():
        print(f'{site["SiteName"]:30} {source:10} {int(visits * share):>10,}')
Enter fullscreen mode Exit fullscreen mode

Watch the trend, not the snapshot. EstimatedMonthlyVisits gives you three months. A domain sliding 5% a month is losing to someone — worth knowing who before you copy their playbook.

Cross-reference bounce rate with source. High paid share plus high bounce rate is a site buying traffic that does not convert. That is an opening, not a threat.

Calling it from your own code

Python

from apify_client import ApifyClient

client = ApifyClient("<YOUR_APIFY_TOKEN>")
run = client.actor("mina_safwat/website-traffic-analysis").call(
    run_input={"urls": ["https://competitor-one.com", "https://competitor-two.com"]}
)

for site in client.dataset(run["defaultDatasetId"]).iterate_items():
    visits = float(site["Engagments"]["Visits"])
    organic = visits * site["TrafficSources"]["Search"]
    print(f'{site["SiteName"]}: {organic:,.0f} organic visits/mo')
Enter fullscreen mode Exit fullscreen mode

cURL

curl -X POST "https://api.apify.com/v2/acts/mina_safwat~website-traffic-analysis/run-sync-get-dataset-items?token=<YOUR_APIFY_TOKEN>" \
  -H "Content-Type: application/json" \
  -d '{"urls":["https://competitor-one.com"]}'
Enter fullscreen mode Exit fullscreen mode

What it costs

$10 per month, flat, with unlimited domains. Not per lookup, not per credit — a flat monthly rental. Analysing 500 competitor domains costs the same as analysing one.

That is where the economics differ from the incumbents: Similarweb and Semrush price per seat and gate the interesting data behind higher tiers. If all you need is the traffic and keyword layer, you are paying for a whole suite to use one panel of it.

Common use cases

  • Market entry. Size the players in a category before committing to it.
  • Competitive SEO. Pull rivals' top keywords and find the terms you are absent from.
  • Investment due diligence. Sanity-check the traffic claims in a pitch deck.
  • Partner and acquisition screening. Verify a prospective partner's reach is real.
  • Client reporting. Drop competitor benchmarks into a monthly deck automatically.

FAQ

How accurate are the traffic estimates?
They are modelled, not measured, and are most reliable for sites above roughly 50k monthly visits. Below that, sample sizes get thin and error bars widen considerably. Use them comparatively.

Does it work for any domain?
Any public site. Very small or brand-new domains may return sparse data simply because there is not enough signal to model.

Can I schedule it?
Yes — schedule the run in Apify Console and have it write to the same dataset each month for a rolling trend of your whole competitive set.

Does it give backlinks?
No. This is traffic, engagement, sources and keywords. Backlink graphs are a different product.

Is this legal?
Yes. You are reading publicly published traffic estimates about public websites — no personal data, no login, no protected content.


Try it: Website Traffic Analysis on Apify Store — $10/month, unlimited domains.

Top comments (0)