Request a tool
All toolsAutomationsGuidesMCP serverRequest a toolPlatformsCategories
Similarweb Traffic and Rank Scraper icon

Similarweb Traffic and Rank Scraper

Get public Similarweb traffic, rank, engagement, geography and category data for any domain. No Similarweb API key needed.

101 runs on Apify $0.0024 per domain ($2.4 / 1,000)
Run this in the cloudRun on Apify →

Developer & Research Tools

How it works

  1. 1
    Open it on Apify

    Hit Run on Apify — it opens the tool in the cloud, no install.

  2. 2
    Set the inputs

    Adjust domains, domain, maxConcurrency (sensible defaults are pre-filled).

  3. 3
    Click Run

    The tool runs on Apify’s cloud and collects the data for you.

  4. 4
    Export the results

    Download as JSON, CSV or Excel, or pipe straight into your app, Google Sheets, or an AI agent.

Pricing

$0.0024 per domain = $2.4 per 1,000

You are charged forWhenPrice
DomainOne domain successfully resolved: global and country rank, visits, traffic sources and engagement. Domains that cannot be resolved are returned but never charged.$0.0024

Pay-per-event pricing: you are billed per result, not per subscription. Billing is handled by Apify on your own account. These are the live Apify store prices, in effect since 2026-08-22, and they are what you are actually charged.

Inputs

FieldWhat it doesType
domainsPublic domains or HTTP(S) URLs. Up to 100 domains; duplicates are removed.array
domainOptional shortcut for one domain.string
maxConcurrencyParallel domain requests, 1-10.integer
requestTimeoutSecsTimeout for each Similarweb request, 5-30 seconds.integer
retryWithProxyRetry a blocked or rate-limited direct request through the optional Apify proxy configuration.boolean

What you get

A structured dataset — each result includes fields like:

domainokglobalRankcountryRankcategoryRanktotalVisitsbounceRatepagesPerVisitvisitDurationtrafficSourcesproxyUsedretrievedAt

Export every run as JSON, CSV or Excel, or send it to your app, a database, Google Sheets, or an AI agent.

Related tools in Developer & Research Tools

Other ready-to-run tools in the same category — all pay-per-use on the Apify cloud.

GitHub Scraper iconDeveloper & Research Tools

GitHub Scraper

Search GitHub repos and users: stars, forks, language, topics, licence, plus user bio, company and followers. No token needed. $0.90 per 1,000 rows.

18 use cases

Stack Overflow / Stack Exchange Scraper iconDeveloper & Research Tools

Stack Overflow / Stack Exchange Scraper

Search Stack Overflow and Stack Exchange by keyword or tag. Score, answer count, views, reputation and body text. $2 per 1,000 questions.

2 use cases

Package Registry Scraper (npm + PyPI) iconDeveloper & Research Tools

Package Registry Scraper (npm + PyPI)

Get npm and PyPI package metadata as JSON. Version, license, author, repo, keywords and npm monthly downloads. $2 per 1,000 packages.

2 use cases

arXiv Scraper iconDeveloper & Research Tools

arXiv Scraper

Search arXiv papers by title, author, abstract or category. Get full abstracts, authors, categories, DOI, dates and PDF links. $2 per 1,000 papers.

2 use cases

OpenAlex Scholarly Works Scraper iconDeveloper & Research Tools

OpenAlex Scholarly Works Scraper

Search 250M+ OpenAlex papers with no API key. Get titles, authors, venue, year, citations, DOI, OA links and full abstracts. $2.00 per 1,000 papers.

2 use cases

Crossref Scholarly Works Scraper iconDeveloper & Research Tools

Crossref Scholarly Works Scraper

Search 150M+ papers on Crossref: DOI, title, authors, journal, publisher, date, citations and abstract. No API key. $1.00 per 1,000 works.

2 use cases

See all Developer & Research Tools →

Similarweb Traffic and Rank Scraper: visits, ranks and traffic mix for any domain

Give it a list of domains and get back the public Similarweb snapshot for each one: global, country and category rank, monthly visits, bounce rate, pages per visit, time on site, where the traffic came from and which countries it came from. No Similarweb account and no API key.

This is the public snapshot, which means it is a monthly figure and it lags. The row tells you which month it describes in snapshotDate, so check that field before you treat a number as current.

InputDomains or URLs, up to 100 per run
OutputOne row per domain
Ceiling100 domains per run
Account neededNone, and no Similarweb API key
Price$2.40 per 1,000 domains on the free plan, down to $0.65 per 1,000 on Diamond

🔍 What Similarweb Traffic and Rank Scraper does

You paste domains. It normalises each one, drops duplicates, and asks Similarweb's public data endpoint for the snapshot it publishes for that site. What comes back is the same set of numbers you see on a Similarweb site overview page: the three ranks, estimated visits, the four engagement figures, the traffic-source split and the top countries.

Domains are fetched in parallel, three at a time by default, and you can push that to ten. Every domain produces a row whether it worked or not, so a list of 100 gives you 100 rows and you never have to work out which ones silently vanished.

It does not invent numbers. When Similarweb answers with something that is not usable data, the row says so in errorCode and leaves the metrics out rather than filling them with zeros.

📥 What you give it

{
  "domains": ["nasa.gov", "github.com", "apify.com"],
  "maxConcurrency": 3,
  "requestTimeoutSecs": 15
}
FieldDefaultWhat it is
domainsemptyDomains or full URLs, up to 100. Duplicates are collapsed before anything is fetched, so you are not charged twice for the same site. The box starts with apify.com in it, which is a suggestion and not a default.
domainnoneA shortcut when you only want one site. It is added to whatever is in domains.
maxConcurrency3How many domains to fetch at once, 1 to 10. Higher finishes sooner and is more likely to get turned down.
requestTimeoutSecs15How long to wait for each domain, 5 to 30 seconds.
retryWithProxytrueOn. When a domain's first request comes back refused or rate limited, try that one domain again through the network settings below. It does nothing at all unless you fill those in.
proxyConfiguration{"useApifyProxy": false}Optional and off. Your own servers are used exactly as given.

IP addresses, localhost, internal suffixes and URLs with credentials in them are rejected before any request goes out, and come back as a BAD_INPUT row.

📤 What you get back

A real row for nasa.gov:

{
  "ok": true,
  "domain": "nasa.gov",
  "globalRank": 1468,
  "countryRank": 924,
  "categoryRank": 3,
  "totalVisits": 22443884,
  "bounceRate": 51.85,
  "pagesPerVisit": 8.18963223230699,
  "visitDuration": 184.2251173400256,
  "trafficSources": {
    "SearchOrganic": 0.4413234435566554, "Direct": 0.3788197225214602,
    "Referrals": 0.0688418871803049, "SocialOrganic": 0.0518356638534659,
    "GenAi": 0.02246646486027501, "SocialPaid": 0.014864511434090441,
    "Mail": 0.012841142217370817, "DisplayAds": 0.007721402798816594,
    "SearchPaid": 0.0010906791330182425, "Affiliate": 0.0001950824445423099
  },
  "countryShares": [
    { "Country": 840, "CountryCode": "US", "Value": 0.477063909562973 },
    { "Country": 250, "CountryCode": "FR", "Value": 0.0532218179406331 },
    { "Country": 356, "CountryCode": "IN", "Value": 0.04886864781900952 }
  ],
  "category": "science_and_education/science_and_education",
  "snapshotDate": "2026-07-01T00:00:00+00:00",
  "estimatedMonthlyVisits": { "2026-05-01": 25615117, "2026-06-01": 18046103, "2026-07-01": 22443884 },
  "endpointStatus": 200,
  "proxyUsed": false,
  "retrievedAt": "2026-08-22T04:32:32.199Z"
}

The country list is cut short above; the row carries five.

FieldWhat it is
snapshotDateThe month the numbers describe. This is not the day you ran it, and the gap is usually weeks.
totalVisitsEstimated visits for that snapshot month, across all devices Similarweb counts.
bounceRateA percentage, so 51.85 means 51.85%.
visitDurationAverage time on site in seconds.
trafficSourcesFractions of 1, not percentages, keyed the way Similarweb keys them. GenAi is its own channel.
countrySharesTop countries as fractions of 1, with the ISO numeric code and the two-letter code.
estimatedMonthlyVisitsThe last three months of visit estimates, keyed by month. It is not a full history.
categorySimilarweb's own category path, like science_and_education/science_and_education.
proxyUsedWhether that row came from the first attempt or the retry.

🧾 Reading the output

Every domain you sent produces exactly one row. ok tells you which kind it is.

RowHow to spot itCharged
A snapshotok: true and a snapshotDateyes
The sample row_sample: trueno
A failureok: false and an errorCodeno

Run it with no domains at all and you get one labelled sample row, so you can see the shape before you commit a list.

errorCodeWhat it means
BAD_INPUTNot a usable public domain. An IP address, a localhost-style name, or credentials in the URL.
REQUEST_FAILEDThe domain has no DNS records, or the request could not be completed. Check the spelling.
SIMILARWEB_NO_METRICSSimilarweb answered normally but published nothing usable for that site. Small and new domains do this.
SIMILARWEB_ENDPOINT_BLOCKEDSimilarweb turned the request down instead of answering. Try again later.
CREDENTIALS_REQUIREDSimilarweb asked for a login for that request.

Failure rows carry endpointStatus, contentType, bodyBytes and a 300-character bodySnippet, which is usually enough to tell "this site has no data" apart from "Similarweb said no today".

▶️ How to run it

1. Open Similarweb Traffic and Rank Scraper and click Try for free. 2. Put your sites into Domains, one per line. nasa.gov and https://nasa.gov/ both work. 3. Leave Concurrency and Request timeout alone unless a run came back short. 4. Click Start. 5. Download the dataset as JSON, CSV or Excel, or read it from the Apify API.

💰 How much does it cost?

$2.40 per 1,000 domains on the free plan, falling with your Apify plan to $0.65 per 1,000 on Diamond.

You pay per domain that came back with real numbers. Duplicates are removed before anything is fetched, the sample row is not charged, and a domain that came back ok: false is not charged either.

💡 What people use it for

  • Sizing a list of prospects before anyone writes to them, so the 200-visit sites and the

20-million-visit sites get different treatment.

  • Checking where a competitor's traffic actually comes from. A site living on SearchOrganic and a

site living on DisplayAds are two different businesses.

  • Watching the GenAi share across a set of sites, which is the one channel that has moved fastest.
  • Pulling countryShares for a shortlist before deciding which market to translate a page into.
  • A monthly scheduled run over the same domain list, joined on domain and snapshotDate, so you

build the history that the public snapshot does not give you.

🚧 What it does not do

  • No live numbers. This is a monthly snapshot and snapshotDate is often the month before last.
  • No history beyond three months. estimatedMonthlyVisits holds three points and that is all

that is published.

  • No keyword data, no paid-search detail, no referring-site list, no audience demographics.
  • Small sites often have nothing. Similarweb does not publish estimates for low-traffic domains,

and those come back SIMILARWEB_NO_METRICS rather than as zeros.

  • Estimates, not analytics. These are Similarweb's modelled figures, not the site's own numbers,

and they can be well off for any single domain.

  • Subdomains and paths are reduced to the domain. blog.example.com is not looked up separately

from example.com.

  • Similarweb can refuse. When it does you get a row saying so, with the status and a snippet of

what came back instead. Those rows are not charged.

  • Rows are written at the end of the run, not one by one, so a run that hits its time limit

writes nothing. Keep big lists inside the limit rather than sending 100 slow domains at once.

🧭 Which research scraper do you need?

If you wantUse
Traffic, ranks and engagement for a domainThis one
Who ranks for a query on GoogleGoogle Search Results Scraper
The same, on YandexYandex Search Engine Scraper
Search interest over time and by regionGoogle Trends Scraper
Image results for a queryGoogle Images Scraper

❓ Questions people ask

Do I need a Similarweb subscription? No. This reads the public snapshot, so there is nothing to log into and no quota to manage.

Why is the data a month or two old? Because that is what Similarweb publishes publicly. The snapshotDate on every row tells you exactly which month you are looking at.

Why did my domain come back with no numbers? Most often the site is too small for Similarweb to publish an estimate. The errorCode says SIMILARWEB_NO_METRICS and you are not charged for it.

Are the visit numbers accurate? They are estimates from a model, not the site's own analytics. Good for comparing sites against each other, weaker as an absolute figure for any one site.

Can I track a domain over time? Yes. Schedule it monthly and keep domain plus snapshotDate as your key. That is the usual reason people run this on a schedule.

Is this legal? These are public figures on public pages. Apify's write-up on scraping and the law is a good starting point, and we are not lawyers.

🆘 If something breaks

Open the Issues tab on the actor page. Send the domain and the run ID. If you got an ok: false row, its errorCode and bodySnippet usually explain it without anyone digging.