Similarweb Scraper: Website Traffic & Rank, No Login avatar

Similarweb Scraper: Website Traffic & Rank, No Login

Pricing

from $1.50 / 1,000 domain scrapeds

Go to Apify Store
Similarweb Scraper: Website Traffic & Rank, No Login

Similarweb Scraper: Website Traffic & Rank, No Login

Scrape Similarweb's free public website overview: estimated monthly visits, engagement, traffic-source split, top countries & similar sites. No login, no paid Similarweb seat. Use it as an MCP server in Claude, ChatGPT & AI agents.

Pricing

from $1.50 / 1,000 domain scrapeds

Rating

0.0

(0)

Developer

The Mine Works

The Mine Works

Maintained by Community

Actor stats

0

Bookmarked

15

Total users

6

Monthly active users

3 days ago

Last modified

Share

wikipedia.org traffic report in 27 seconds

From The Mine Works, makers of Threads Scraper and B2B Leads Finder, with over 140,000 runs across 170+ public actors.

Give it a list of website domains and it returns what Similarweb's free, logged out website overview shows for each one: global rank, category rank, country rank, estimated monthly visits and their monthly change, bounce rate, pages per visit, visit duration, the top countries by share of traffic and the similar sites Similarweb lists. One clean JSON row per domain, with no Similarweb account and no paid seat.

Why choose this actor?

  • Similarweb's free overview as clean data, without a login. On 23 September the report for wikipedia.org came back in a 27 second run: global rank 11, 3.5 billion monthly visits, a 53.4% bounce rate, 3.34 pages per visit and 5 top countries led by the United States at 26.6%. No Similarweb Pro seat and no Data API contract.
  • You pay only for a real report. Domains Similarweb has no report for come back as a no_data row and are free, and lookups that stay blocked after every retry are free too. A report costs $0.002 on the Free plan and $0.0015 on Gold and above.
  • Up to 50 domains in one run, 6 at a time, with retries built in. Similarweb's page takes a while to render: our runs took 27 to 87 seconds for one domain. When an attempt comes back unfinished, the actor retries it on a fresh session (up to 3 retries by default), as it did on 30 September, when the first attempt for wikipedia.org returned HTTP 502 and the second delivered the report.

Run it on Apify

Part of The Mine Works Marketing, SEO and reviews family: Facebook Ad Library Scraper, Google Ads Transparency Scraper, Google News Scraper, Trustpilot Reviews Scraper, Google Trends Scraper, Semrush Scraper.

Try it in one minute

Paste this into the JSON tab of the input page and press Start:

{
"domains": ["wikipedia.org", "github.com", "nytimes.com"]
}

The three domains are looked up at the same time, so the run usually finishes in one to two minutes, depending on how fast Similarweb's page renders that day.

The one required input is domains: website domains, one per line in the Console form or an array of strings in JSON. The bare domain is best (nike.com), but a pasted address also works: the actor lowercases it and removes https://, www., any path and any query string, so https://www.nike.com/in/ becomes nike.com. Duplicates are removed and up to 50 domains are kept per run. The only other input, maxRetriesPerDomain, controls how hard each domain is retried.

Apify's free plan includes $5 of credit every month, which covers about 2,200 domain reports at this actor's Free plan price ($0.002 a report plus the $0.01 start fee, in runs of 50 domains).

Copy to your AI assistant

themineworks/similarweb-scraper on Apify. Returns Similarweb's free public website overview for each domain: global, category and country rank, category, estimated monthly visits and change, bounce rate, pages per visit, visit duration, top countries and similar sites. Call ApifyClient("TOKEN").actor("themineworks/similarweb-scraper").call(run_input={...}), then client.dataset(run["defaultDatasetId"]).list_items().items. Required: domains (string[], bare domains such as "nike.com", 1 to 50 per run). Optional: maxRetriesPerDomain (integer 1 to 6, default 3; each domain gets this many retries plus the first attempt). Rows with _type "no_data" mean Similarweb has no report for that domain (never billed); rows with _type "summary" or "info" are run reports (never billed). For more than about 30 domains, pass timeout_secs=1200 to call(). Full spec: GET https://api.apify.com/v2/acts/themineworks~similarweb-scraper/builds/default (Bearer TOKEN), which returns inputSchema and readme. Token: https://console.apify.com/account/integrations

Key features

  • 16 fields per report. domain, url, global_rank, category, category_rank, country_rank, top_country, total_visits, visits_change_pct, bounce_rate_pct, pages_per_visit, avg_visit_duration, traffic_sources, top_countries, similar_sites and checked_at.
  • Read from the data inside the page, not from the screen. Similarweb's overview page carries its whole report as structured JSON. The actor reads that JSON directly, so the numbers are the ones Similarweb stores, not text scraped off rendered pixels, and a field is never guessed.
  • Top 10 lists. Up to 10 top countries with their share of traffic (the free page showed 5 for wikipedia.org) and up to 10 similar sites.
  • Retries that match how the page behaves. A finished report takes a while to render behind Similarweb's protection. A quick HTTP 202, a 502, a timeout, a challenge page or a page without the report data is retried on a fresh session, with 90 seconds allowed per attempt. With the default maxRetriesPerDomain of 3, each domain gets up to 4 attempts.
  • No browser, no login. Requests go through Apify's unblocking proxy, which is included in the price per report. There is no Similarweb account, cookie or API key to supply.
  • A stop switch for bad days. If 8 domains in a row stay blocked after all their retries, the run stops instead of paying for more failed attempts, and the summary row says so.

How to use it

Basic: one domain

{
"domains": ["wikipedia.org"]
}

One report row, a summary row and a short info row come back.

Several domains at once

{
"domains": ["notion.so", "clickup.com", "asana.com", "monday.com", "airtable.com", "trello.com"]
}

Six domains run side by side, so this takes about as long as the slowest one. For more than about 30 domains, raise the run timeout from the default 600 seconds to 1,200 seconds in the run options: each attempt may wait up to 90 seconds, and a domain that needs retries takes longer. If a run does reach its timeout, it ends 15 seconds early and keeps every report already delivered.

Monthly competitor traffic benchmark

{
"domains": ["yourbrand.com", "competitor-one.com", "competitor-two.com", "competitor-three.com"],
"maxRetriesPerDomain": 4
}

Save it as a task and schedule it monthly (for example 0 6 2 * *, 06:00 on the 2nd of each month). Similarweb's figures are monthly estimates: in our scheduled checks, wikipedia.org showed the same rank (11) and the same 3.5 billion visits on 16, 23 and 30 September, so checking more often than weekly mostly re-reads the same numbers. Put checked_at, total_visits and visits_change_pct in a sheet to watch the trend.

Prospect qualification for a sales list

{
"domains": ["acme-widgets.com", "brightwave.io", "northpeak.co"],
"maxRetriesPerDomain": 2
}

Use total_visits, global_rank and top_country to sort prospects by web scale and market before a call. Small sites often have no public Similarweb report; they come back as no_data rows at no charge, which is itself a useful signal of a very small web presence. Lowering maxRetriesPerDomain makes a long list finish faster at the cost of a few more blocked lookups.

Market map for a category

Feed 50 domains from one category (for example every listed company in your niche) and build a comparison table from total_visits, category_rank and top_countries. similar_sites gives you up to 10 more domains Similarweb considers comparable, which you can add to the next run to widen the map.

Input parameters

ParameterTypeDefaultWhat it does
domainsarray of strings (1 to 50)["wikipedia.org"] (also the form prefill)Website domains to look up. Lowercased, with https://, www., paths and query strings removed; duplicates removed; the first 50 kept. Each domain with a real report is one billed result.
maxRetriesPerDomaininteger (1 to 6)3How many extra attempts a domain gets, each on a fresh proxy session, when a request comes back unfinished, blocked or without the report. Total attempts per domain are this number plus one.

Run options. The default timeout is 600 seconds and the default memory is 256 MB, which is enough: the actor runs no browser. The start fee is one event at any memory up to 1 GB.

What data do you get?

One row per domain that has a Similarweb report. Fields the free overview does not show for a domain are left out of that row rather than filled with null or a guess.

Identity: domain (as looked up), url (the Similarweb overview page for it), category (Similarweb's category, made readable, for example Dictionaries and Encyclopedias), checked_at.

Ranks: global_rank, category_rank (rank inside its category), country_rank (rank in its top country), top_country.

Traffic and engagement: total_visits (estimated monthly visits, formatted such as 3.5B, 12.4M or 830.2K), visits_change_pct (month over month change as text such as +1.0%), bounce_rate_pct (a number such as 53.4), pages_per_visit, avg_visit_duration (hh:mm:ss).

Where visitors come from: top_countries (a list of country and share_pct), traffic_sources (an object of channel name to percentage, holding only the channels the free page discloses a percentage for). In every run we have on record, the free page disclosed one channel, organic search (organic: 76.9 for wikipedia.org), so do not expect a full channel split from this field.

Similar sites: similar_sites, up to 10 domains Similarweb lists as similar or competing.

Other rows: a domain Similarweb has no report for gets a _type: "no_data" row with domain, url and scraped_at, and is not charged. A domain that stays blocked after all its attempts gets no row; it is counted in the summary's blocked_count and is not charged. Every run ends with a _type: "summary" row (domains_requested, delivered, charged_for, blocked_count, no_data_count, waf_challenge_seen, cost_guard_tripped) and, when at least one report was delivered, a _type: "info" row. None of these rows is charged. Skip rows that have a _type field when you load reports.

Stable fields for automations

domain, url and checked_at are in every report row. The other fields below were present in every report row we sampled (our scheduled checks of wikipedia.org on the live build); for a smaller site, Similarweb's free page may leave some ranks or lists out, and then the field is absent.

FieldWhat it holds
domainThe domain looked up, cleaned (lowercase, no www.)
urlSimilarweb overview URL for the domain
checked_atISO timestamp of the lookup
global_rankSimilarweb global rank (number)
categorySimilarweb category, readable text
category_rankRank inside that category (number)
country_rankRank in the top country (number)
top_countryCountry with the largest share of traffic
total_visitsEstimated monthly visits, formatted text such as 3.5B
visits_change_pctMonthly change in visits, text such as +1.0%
bounce_rate_pctBounce rate as a number, for example 53.4
pages_per_visitAverage pages per visit (number)
avg_visit_durationAverage visit duration, hh:mm:ss
top_countriesList of country and share_pct
similar_sitesList of similar domains

We will not rename these fields. New fields may be added over time; existing ones keep their names.

Output examples

Real rows from our own scheduled run of the live build on 30 September 2026.

A full report (wikipedia.org; this run's first attempt got HTTP 502 and the second delivered):

{
"domain": "wikipedia.org",
"url": "https://www.similarweb.com/website/wikipedia.org",
"global_rank": 11,
"category": "Dictionaries and Encyclopedias",
"category_rank": 1,
"country_rank": 14,
"top_country": "United States",
"total_visits": "3.5B",
"visits_change_pct": "+1.0%",
"bounce_rate_pct": 53.4,
"pages_per_visit": 3.34,
"avg_visit_duration": "00:03:14",
"traffic_sources": { "organic": 76.9 },
"top_countries": [
{ "country": "United States", "share_pct": 26.6 },
{ "country": "Japan", "share_pct": 6.2 },
{ "country": "United Kingdom", "share_pct": 5.8 },
{ "country": "Germany", "share_pct": 5.3 },
{ "country": "France", "share_pct": 4.1 }
],
"similar_sites": ["wikidata.org", "wiktionary.org", "baike.baidu.com", "dict.naver.com", "weblio.jp", "wordreference.com", "kotobank.jp", "glosbe.com", "yourdictionary.com", "lexilogos.com"],
"checked_at": "2026-09-30T11:05:29.297Z"
}

The summary row of the same run (never charged):

{
"_type": "summary",
"domains_requested": 1,
"delivered": 1,
"charged_for": 1,
"blocked_count": 0,
"no_data_count": 0,
"waf_challenge_seen": false,
"cost_guard_tripped": false,
"charged": 1,
"charge_failures": 0,
"scraped_at": "2026-09-30T11:05:29.692Z"
}

The info row that follows it (never charged; its one line message field is left out here):

{
"_type": "info",
"delivered": 1,
"schedule_tip": "Want this refreshed automatically? Apify Console -> this Actor -> Schedules -> Add schedule -> pick how often (e.g. daily) -> Save. It reruns with the same input on autopilot, no code required.",
"scraped_at": "2026-09-30T11:05:29.924Z"
}

Pricing

Pay per event: you pay for each domain report delivered, plus a small start fee per run.

EventFreeBronzeSilverGold and above
domain-scraped, per report$0.002$0.002$0.0018$0.0015
domain-scraped, per 1,000 reports$2.00$2.00$1.80$1.50
apify-actor-start, per run$0.01 per GB of run memory, minimum one eventsamesamesame

The start fee, exactly. Apify's apify-actor-start event is charged once when a run starts, at $0.01 for each GB of memory the run uses, with a minimum of one event. This actor runs on 256 MB by default, so a default run pays one event: $0.01. Raising memory does not make it faster and, above 1 GB, raises the start fee.

Worked examples. 50 domains on the Free plan: 50 x $0.002 = $0.10, plus $0.01: $0.11. The same run on Gold: $0.075 plus $0.01. A monthly check of 10 competitors on the Free plan costs $0.03 a month.

Never charged: domains Similarweb has no report for (no_data rows), domains that stay blocked after every attempt, duplicate domains in your list, domains past the 50th, retries, and the summary, info and skipped rows. A run that delivers no report pays only the start fee.

There is no scheduled price change for this actor. The Pricing tab on this page always shows the rate for your plan; if it and this table ever differ, the Pricing tab is right.

FAQ

What is Similarweb, and which part of it does this read? Similarweb estimates how much traffic websites get and where it comes from. This actor reads only its free website overview page, similarweb.com/website/<domain>, the same page anyone sees without logging in. It does not touch Similarweb's paid platform, its keyword reports, its benchmarking tools or its Data API, and it never will.

How accurate are the numbers? They are Similarweb's own estimates, returned exactly as its page stores them. Similarweb models traffic from panels and other signals, so treat the figures as estimates for comparing sites and spotting trends, not as a site's own analytics. This actor adds no numbers of its own.

How many domains can I check? Up to 50 per run, 6 at a time. For longer lists, split them into runs of 50 by hand, with a loop over the Apify API, or from Make, Zapier or n8n.

How long does a run take? A single domain took 27 to 87 seconds in our runs on the live build, because Similarweb's page takes time to render behind its protection. With 6 domains processed at once, 50 domains take several minutes. Give runs of more than about 30 domains a timeout of 1,200 seconds.

How fresh is the data? Each run reads the page live. The figures themselves are Similarweb's monthly estimates, so they change about once a month, which is why a monthly or weekly schedule is enough.

Why is traffic_sources only showing organic search? The free overview page disclosed a percentage for one channel, organic search, in every run we have on record. The actor includes a channel only when the page gives it a number, rather than guessing the rest. If Similarweb shows more channels on the free page in future, they will appear in the same object.

What happens when Similarweb has no report for a domain? You get a _type: "no_data" row with the domain and its Similarweb URL, and you are not charged. Very small or new sites, and domains that do not exist, have no public report. That answer is not retried, since retrying will not change it.

What if a domain stays blocked? After all its attempts (4 by default) the domain is skipped without a row and without a charge, and it is counted in the summary's blocked_count. Run those domains again later, or raise maxRetriesPerDomain. If 8 domains in a row stay blocked, the run stops early and cost_guard_tripped is true in the summary; domains it did not reach may appear as _type: "skipped" rows.

Do I need a Similarweb account, cookies or a proxy? No. You need only an Apify account. The actor sends its requests through Apify's unblocking proxy, and that cost is included in the price per report.

How do I export the data? From the run's Storage tab as JSON, CSV, Excel, XML or HTML, or through the Apify API. top_countries, traffic_sources and similar_sites are nested; in CSV they are flattened into numbered columns.

Can I use it from Claude, ChatGPT or another AI assistant?

  • Connector URL: https://mcp.apify.com/?tools=themineworks/similarweb-scraper.
  • Claude: Settings > Connectors > Add custom connector, paste the URL, sign in with Apify.
  • ChatGPT: developer mode, add an MCP connector with the URL, sign in with Apify.
  • Cursor or VS Code: add it as an HTTP MCP server with that URL.
  • Claude Code: claude mcp add -t http similarweb-scraper "https://mcp.apify.com/?tools=themineworks/similarweb-scraper".

Is it legal to scrape Similarweb? The actor reads only Similarweb's public overview page, which anyone can open without an account, and it returns traffic estimates about websites, not data about people. It does not log in or get past a paywall. You are responsible for how you use the data, including Similarweb's terms and data protection laws such as GDPR and CCPA. This is general information, not legal advice.

Integrations

  • Google Sheets: export a run to a sheet, or use Apify's Google Sheets integration to append each monthly run to a tracking sheet.
  • Make, Zapier and n8n: use the Apify app or node to start a run with domains from your CRM or a sheet, then write total_visits and global_rank back to each record.
  • Webhooks: have Apify call your URL when a run succeeds, then read the dataset.
  • API and client libraries: start runs and read datasets from Python, JavaScript or any HTTP client. The "Copy to your AI assistant" block above has the exact call.
  • MCP clients: Claude, ChatGPT, Cursor, VS Code and Claude Code can call the actor as a tool through https://mcp.apify.com.

For a second view of the same domains, Semrush Scraper returns Authority Score and backlink counts, and Tech Stack Detector lists the technologies a site runs on.

More from The Mine Works

Marketing, SEO and reviews

Social media and video

Leads and business directories

LinkedIn

Real estate

Science, health and government data

Jobs and hiring

E-commerce and marketplaces

Company and business data

Food and local services

Developer and AI tools

More tools

Support

Found a domain that returns the wrong figures, or a field you need? Open an issue on the Issues tab of this page with the domain and the run ID, and we will reply there. To ask for a new data source, email dmineworks@gmail.com. A guide for this actor also lives at themineworks.com.

Similarweb Scraper turns Similarweb's free website overview into one clean row per domain, and charges only for domains that have a report.