Alexa Rank Is Dead. Here's What Replaces It in 2026 (Free API)
On May 1, 2022, Amazon shut down Alexa.com. For roughly 25 years it had been the default shorthand for "how big is this site" — a single integer between 1 and ~30 million that every SEO deck and media kit cited as if it were ground truth. Then it was gone. Nearly four years later, in 2026, we still don't have a direct replacement.
Instead, the space fragmented. If you want to know how popular a domain is today, you pick from five or six datasets with different methodologies, coverage, cadences, and prices. Some are free but cover only the top 10,000. Some are paywalled at $1,000+ per month. Some aren't really "rank" at all — they're Core Web Vitals dressed up in a ranking shirt.
This post is a practical guide for people who still need a number to plug into a spreadsheet: SEO analysts, competitive intelligence teams, affiliate marketers, VCs doing diligence, and compliance teams deduping blocklists. It explains what replaced Alexa Rank, why Tranco is the closest true successor for most free-tier workflows, and how to pull Tranco ranks via an Apify actor we maintain.
Why This Matters (The Gap Alexa Left Behind)
The absence of a free, open, broadly-covered ranking API creates real friction in workflows that used to run on autopilot:
- Affiliate marketers negotiating ad rates need a third-party popularity signal that publishers can't self-report. "We're a top 50,000 site" used to be an objective claim.
- VCs and M&A analysts sizing up a target want a sanity check on claimed traffic numbers. A founder can hand you a Google Analytics screenshot; a Tranco rank is harder to forge.
- SEO agencies doing competitive audits need to rank a client against peers. Without a common yardstick, every comp analysis turns into a subjective argument about which paid tool to trust.
- Journalists fact-checking "the #X site on the internet" claims need a citable source. Alexa was a Wikipedia-grade reference; its absence has degraded the quality of such citations.
-
Compliance teams deduping domain blocklists by popularity want to know whether
example.cnis a global top-10k domain before they sinkhole it. - Security researchers studying phishing rely on "popularity of the impersonated domain" as a feature in detection models. Alexa was the default corpus in hundreds of papers until 2019.
None of these workflows died when Alexa died. They just got worse, hackier, and more expensive.
The Grounding Numbers
A quick reality check on scale:
- Alexa Rank at peak tracked ~30 million domains, daily updates from toolbar telemetry and crawl data.
- Tranco covers a top 1 million list, updated daily, aggregated from four independent sources.
- Cloudflare Radar exposes a ranked API but caps at the top 10,000 globally.
- Similarweb tracks 100 million+ domains with engagement metrics, API starts at ~$1,000/month.
- CrUX covers millions of origins but surfaces Core Web Vitals (LCP, CLS, etc.) rather than rank.
- OpenPageRank is still online but deprecated; scores haven't refreshed in years.
The closest direct substitute for Alexa — daily-updated, programmatically accessible, free, with hundreds of thousands of domains — is Tranco. Everything else covers a narrower slice, charges a lot more, or measures something different.
Comparison: The Five Alexa Alternatives That Actually Matter
| Source | Price | Coverage | Update Cadence | Primary Signal | Commercial Use? |
|---|---|---|---|---|---|
| Tranco | Free | Top 1M | Daily (30-day averaged) | DNS queries + browser telemetry + web graph | Yes, with attribution |
| Similarweb API | $1,000+/mo | 100M+ | Monthly aggregates | Panel + ISP + scraping | Yes (commercial license) |
| Cloudflare Radar | Free API | Top 10k | Daily | 1.1.1.1 DNS resolver traffic | Yes (fair use) |
| CrUX BigQuery | Free (GCP egress) | Millions of origins | Monthly | Real-user Chrome telemetry | Yes |
| SEMrush / Ahrefs Rank | $100-$500+/mo | Tens of millions | Weekly-ish | Organic traffic estimates | Yes (commercial tier) |
A few calls on when each makes sense:
- Pure "how big is this site" for free? Tranco.
- Need engagement metrics (visits, bounce rate, avg session duration)? Similarweb. There is no free equivalent that is remotely close.
- Only care about the top few thousand globally famous domains? Cloudflare Radar is fine and often fresher than Tranco.
- Optimizing Core Web Vitals and want a popularity weight so you don't waste budget on obscure origins? CrUX.
- Doing keyword-level SEO competitive work? Ahrefs/SEMrush — but note their "rank" is traffic-weighted, not popularity-weighted, and will disagree with Tranco on many domains.
Tranco in Depth
Tranco deserves its own section because it's the one most people should start with, and because its methodology is unusually well-documented.
Tranco was introduced in a 2019 NDSS paper by Le Pochat et al.: "Tranco: A Research-Oriented Top Sites Ranking Hardened Against Manipulation." The motivating observation was that every public domain ranking at the time — Alexa, Cisco Umbrella, Majestic Million, Quantcast — was manipulable, volatile, or both. Security researchers were publishing results on "the Alexa top 1M" that didn't reproduce a week later because the underlying list had churned by 30%.
Tranco fixes this by doing two things:
-
Aggregating four independent sources using Dowdall's rule, a positional voting method that weights top positions more heavily than tail positions. The four sources are:
- Cisco Umbrella 1M — ranks based on DNS queries to Cisco's OpenDNS resolvers (billions/day).
- Chrome User Experience Report — real-user browser telemetry from opted-in Chrome users.
- Majestic Million — based on the number of unique referring subnets linking to a domain.
- Farsight DNSDB — passive DNS observations across a large sensor network.
- Applying a 30-day rolling average so a domain's rank reflects sustained popularity rather than a single-day spike. This makes Tranco very hard to "game" by flooding DNS queries for a day — the primary failure mode of Cisco Umbrella and Alexa.
Tranco gives you an integer between 1 and 1,000,000 for the vast majority of domains you'd care about, updated every 24 hours, via a stable list ID you can pin for reproducibility.
Main caveats: global aggregate only (no country sub-rankings), long-tail cutoff at 1M (anything below doesn't appear), and a ~24-hour publishing lag.
The tranco-rank-lookup Actor
Tranco itself publishes CSV files and a simple HTTP endpoint, but the ergonomics for day-to-day work are rough: you have to download the daily list, parse 1M rows, do your own historical diffing, and write your own similar-domain logic if you want peer suggestions.
We built tranco-rank-lookup on Apify to wrap all of that into a single actor call. It does three things on top of the raw Tranco data:
- Point-in-time and historical ranks. Pass a list of domains, get back current rank plus a 30-day history series per domain. Useful for MoM deltas without managing your own storage.
- Similar-domain suggestions. For each input domain, surface a curated list of peer domains in the same category band. (Honest caveat: the similarity path uses a curated category mapping today rather than parsing the full 1M CSV for nearest-rank neighbors — see limitations below.)
- Bulk lookup with caching. The actor caches daily snapshots so repeat calls in the same day don't re-download the full Tranco list. For a 1,000-domain comp set this takes a run from minutes to seconds.
Architecture
┌───────────────┐ ┌───────────────────────┐ ┌─────────────────────┐ ┌────────────────────┐
│ Domain list │───▶│ tranco-rank-lookup │───▶│ ranks + history + │───▶│ BigQuery / Sheets │
│ (CSV / array) │ │ (Apify actor) │ │ similar domains │ │ / Airtable sink │
└───────────────┘ └───────────────────────┘ └─────────────────────┘ └────────────────────┘
│
▼
┌──────────────────┐
│ Tranco CSV + │
│ 30-day cache │
└──────────────────┘
The sink layer is optional — you can read from the dataset directly via the Apify client — but most teams push to a warehouse or a Google Sheet for dashboarding.
Code Example
from apify_client import ApifyClient
client = ApifyClient("APIFY_TOKEN")
competitors = ["competitor-a.com", "competitor-b.com", "competitor-c.com"]
run = client.actor("nexgendata/tranco-rank-lookup").call(run_input={
"domains": competitors,
"include_history": True,
"history_days": 30,
"include_similar": True,
})
for d in client.dataset(run["defaultDatasetId"]).iterate_items():
print(f"{d['domain']}: rank {d['current_rank']:,} (Δ30d: {d['rank_delta_30d']:+,})")
Output for a typical comp run looks like this:
competitor-a.com: rank 47,812 (Δ30d: -3,104)
competitor-b.com: rank 112,490 (Δ30d: +18,772)
competitor-c.com: rank 9,988 (Δ30d: -214)
Negative deltas mean the rank number got smaller — i.e., the domain moved up. This convention matches Alexa's original interpretation and is what most analysts expect.
Worked Example: SEO Agency Quarterly Competitive Brief
A realistic use case: an SEO agency is preparing a quarterly brief for a direct-to-consumer skincare client with ~50 meaningful competitors. They need to identify who's gaining ground, who's losing it, and where to focus next quarter's content investment.
Pre-2022 this would have been a 20-minute job in Alexa. Post-2022 it's been a recurring headache — the agency was paying for Similarweb just to run this one report.
With Tranco via the actor, the flow is:
- Define the comp set. A Google Sheet with ~50 domains tagged by category (direct / aspirational / marketplace).
- Run the actor weekly. A scheduled Apify run pulls current rank plus 30-day history; results land in BigQuery via a small ETL step.
- Compute deltas in SQL. MoM rank delta, QoQ delta, and a volatility score (stdev of daily rank).
-
Surface the outliers. In the most recent quarter the agency identifies:
- 3 fast risers whose rank improved by >500,000 positions MoM. All three launched sustained influencer campaigns in Q1 — confirmed by cross-referencing Facebook Ad Library.
- 2 decliners whose rank dropped by >1,000,000 positions. One was acquired and had traffic redirected to the parent brand; the other had a technical SEO regression after a site migration.
- 5 steady-state leaders whose rank fluctuated by <5,000 positions — durable category leaders worth benchmarking against.
- Build the brief. The deck leads with a competitive landscape chart (rank over time for the top 10 comps), drills into each fast riser's tactics, and recommends content and paid investments.
The whole pipeline costs ~$3-5/month in Apify compute plus a trivial BigQuery bill, versus $1,000+/month for Similarweb. Operational note: the 30-day trend is more useful than any single-day rank. Single-day Tranco rank is noisy for mid-tail domains (200k-800k). Show trend lines, not point estimates.
What Alexa Rank Measured vs What Tranco Measures
A common trap when migrating from Alexa to Tranco is assuming the two numbers are interchangeable. They are not, and the methodological differences explain most of the disagreements you'll see when you look up a domain in both services (via Alexa's historical archives).
Alexa's signal was primarily the Alexa Toolbar, which created two well-known biases:
- English-speaking, technical power users. The toolbar was disproportionately installed by SEO professionals and webmasters. Sites popular with those audiences ranked higher than real global traffic justified; sites popular with non-English audiences ranked lower.
- Manipulation via toolbar botnets. Each install contributed a meaningful fraction of observed traffic for long-tail domains. A coordinated install campaign could push an Alexa rank up by hundreds of thousands of positions — a visible cottage industry from 2010-2016.
Tranco's signal is fundamentally different:
- Authoritative DNS query volume (Cisco Umbrella, Farsight) measures how often anyone resolves a domain, regardless of browser or language.
- Chrome User Experience Report adds real-user browser telemetry at massive scale — Chrome has ~65% global browser share.
- Web graph data (Majestic) captures importance via unique referring subnets, which is slower-moving and harder to spoof.
- 30-day averaging defeats single-day manipulation. Sustained attack over a month stops being manipulation and starts being actual traffic.
Practically: domains inflated on Alexa because they catered to Western webmasters have more conservative Tranco ranks. Domains serving non-English audiences tend to rank higher on Tranco than on Alexa. Migrating a historical report from Alexa to Tranco numbers? Expect some of the "rankings changed" to be "measurement got better," not real movement.
Other Sources Worth Combining with Tranco
Tranco is the spine, but for a complete competitive-intelligence stack you'll want to pair it with one or two of these:
Cloudflare Radar API
Free, rate-limited. Covers the top 10,000 domains based on 1.1.1.1 DNS resolver traffic. Value-add over Tranco is traffic category data — share-of-traffic breakdowns by category over time, useful for "is this category growing?" questions. Useless below top 10k.
CrUX (via BigQuery or the API)
Free with GCP egress costs. Not a rank source, but the chrome-ux-report.all.origin table tells you which domains are in the dataset — a coarse popularity threshold. Also gives Core Web Vitals per domain for technical-SEO benchmarking.
OpenPageRank
Historical archive only. Useful for pre-2022 longitudinal studies. Don't use it for anything current.
DataForSEO
Paid but pennies per lookup instead of thousands per month. Reasonable middle ground between free Tranco and enterprise Similarweb if you need commercial-grade data at scale without engagement metrics.
Ahrefs Rank
Traffic-weighted organic search rank. Conceptually different from Tranco — a domain can rank well on Tranco (direct/DNS traffic) while ranking poorly on Ahrefs (little organic search), and vice versa. Use Ahrefs when the question is specifically about SEO performance.
Limitations of Any Ranking Approach
Whichever source you pick, keep these caveats in mind:
- Regional bias. Tranco is global-aggregate and under-weights country-concentrated traffic. A top-100 Indonesian site may rank in the hundreds of thousands on Tranco. Cloudflare Radar and CrUX publish country breakdowns; Tranco doesn't.
- Freshness lag. Tranco publishes today's list tomorrow — 24-48 hour blind spot for viral spikes.
- Long-tail dropout. Below rank 1M, no data. Hard cutoff. Niche players get partial coverage.
- Bot traffic contamination. DNS methods include bot queries. Multi-source aggregation mitigates this but doesn't eliminate it.
- Ecosystem gaps. App-first sites (TikTok, Instagram) and aggressive Cloudflare-proxied domains are under-represented in web-graph signals.
Report ranks as ranges or trends, not GPS coordinates.
FAQ
Is Tranco legally usable for commercial purposes?
Yes, with attribution. The Tranco list is distributed under a permissive academic license that explicitly allows commercial use. The standard practice is to cite the paper (Le Pochat et al., NDSS 2019) and include a link to the list URL used, along with the list ID for reproducibility. Talk to your counsel if you're building a paid product on top of it, but the license does not prohibit that.
How accurate is the 30-day history?
The history reflects Tranco's own 30-day rolling aggregation, so each day's data point is already a smoothed value. For domains in the top 100k, day-over-day volatility is typically under 5%. For mid-tail domains (rank 200k-800k), daily noise is much larger — plus or minus 20-30k positions is normal. Trust the trend, not the point.
Does the actor cache results?
Yes. The actor pulls the latest Tranco list once per day and caches it internally. Subsequent lookups in the same 24-hour window use the cached snapshot. This keeps runs fast and minimizes load on Tranco's infrastructure. If you need a specific historical list ID (for reproducible research), you can pass it via input.
Can I pull the full 1M list?
Not through the current actor input — it's designed for targeted lookups of a user-supplied domain set. If you need the full list, pull it directly from the Tranco website. We've considered adding a bulk-export mode; if you have a use case, open an issue on the actor page.
How do I convert Tranco rank to estimated traffic?
You can't, cleanly. Rank and traffic are not linearly related — the top 10 sites have orders of magnitude more traffic than rank 100, which has orders of magnitude more than rank 10,000. Any published conversion heuristic (Zipf-based or otherwise) has huge error bars. If you need traffic numbers, pay for Similarweb or triangulate with SimilarWeb's free digital overview + Ahrefs.
Is there a free tier for the actor?
Yes — Apify's free tier gives you enough compute to run small batches (up to a few hundred domains/month) without paying. Scale beyond that and you're in the low single digits of dollars per month for most realistic workloads. See the actor page for current pricing.
How does Cloudflare Radar compare for top-10 analysis?
For the genuinely top-10 global domains (the Googles, YouTubes, Facebooks of the world), Cloudflare Radar is often more useful because it gives you traffic share percentages and category context. Tranco will just tell you Google is #1 — Radar tells you Google accounts for roughly X% of all DNS queries observed by 1.1.1.1 in the last 24 hours, broken down by category. For anything below the top 100, Tranco is better.
When should I just pay for Similarweb?
When you need engagement metrics (sessions, session duration, pages per visit, bounce rate) alongside rank. Tranco gives you popularity; Similarweb gives you behavior. If your workflow requires "which of my competitors has stickier users?" or "how is on-site conversion behavior trending?" — Similarweb is the answer and there is no free substitute. Also worth it if you need country-level breakdowns at scale.
Conclusion
Alexa Rank is dead, but the need it served — a single, quotable, third-party popularity number for any domain — is not. For 80% of the use cases that used to rely on Alexa, Tranco is the right successor: free, daily, methodologically defensible, and commercially usable. For the other 20% (engagement metrics, country-level depth, real-time data), you'll still end up paying someone.
If you just want to get ranks into a spreadsheet without downloading CSVs or writing your own cache layer, grab the tranco-rank-lookup actor and run the Python example above against your comp set. Most teams are running useful competitive dashboards within an afternoon, and the whole stack costs less per month than a single Similarweb seat.
Top comments (0)