Build an interactive competitive-traffic report for any company and its rivals — monthly visits (SimilarWeb), organic search traffic and Domain Rating (Ahrefs) — as one self-contained HTML page with r…
Library skill — the default version is maintained in GitHub; edits you make live in your own clone.
Three metrics, three different questions. Do not average them or treat one as a proxy for another:
| Metric | Source | Answers |
|---|---|---|
| Monthly visits | SimilarWeb | total demand, every channel |
| Organic traffic | Ahrefs | how much of it search is producing |
| Domain Rating | Ahrefs | backlink authority — the structural position |
Visits and organic move on a single viral page. DR does not, which is why a gap in DR says more about where a company actually sits than a good traffic month does.
export AHREFS_API_KEY=... # required
export BRANDDEV_API_KEY=... # optional, for logos
S=skills/competitor-traffic-report/scripts
node $S/fetch-traffic.js acme.com rival1.com,rival2.com,rival3.com --out /tmp/data.json
node $S/build-report.js /tmp/data.json "AI presentation tools, ranked" --out /tmp/report.html
Open the HTML, or publish it with the Artifact tool. It is self-contained — logos inlined as data URIs, no external requests — so it survives a strict CSP.
The focus domain is coloured orange and ranked in every chart; competitors take a five-step blue ramp ordered by rank, so colour carries magnitude instead of being decoration.
Whoever asked usually names three or four. Fill the set out to 20–40 before running: a five-company chart cannot show where anyone sits, and the interesting findings (how much of the market one player holds, how many are shrinking) need the tail. Sources for names, cheapest first:
X alternatives / best X tools SERP, read deep enough to reach the top 100;competitors_overview for domains ranking on the same keywords.Drop anything that is not a real peer: a general-purpose giant (Adobe, Google) dominates every chart while competing for none of the same buyers, and its presence compresses everyone else into the bottom decile. Same for a friendly company the requester does not consider a rival — ask.
Subdomains are already counted. SimilarWeb's root-domain figure includes them, so listing both
acme.com and app.acme.com double-counts and buries the real number. (Verified: wikipedia.org
3.53B vs en.wikipedia.org 0.88B.) List the root only.
X-Extension-Version header is mandatory; a browser User-Agent
alone returns 403.0 means "below SimilarWeb's detection floor", not "no traffic". The template
drops those from the charts rather than ranking a live site last. For a domain you own, read
Search Console instead.mode=subdomains. Domain mode silently excludes the www. host, which
reads as an empty site for anyone whose canonical is www..The Ahrefs licence (ahrefs.com/legal/domain-rating-license) grants a royalty-free right to
display and publish DR data provided the attribution Domain Rating by Ahrefs
appears next to it with a live link. The template ships that line; do not remove it. The same
licence prohibits reselling the data or using it to build something that competes with Ahrefs.
The report shows position. The story is usually in a gap between two of the three metrics:
brand.app at DR 87 vs brand.com.ai at 38)
is a copycat domain, not a competitor.State the denominator and the window beside any figure taken from this report. Both sources are modelled estimates, least reliable exactly where it matters most — the small end.