Website Traffic Checker - Visits, Keywords & Rankings
Pricing
from $4.40 / 1,000 traffic estimates
Website Traffic Checker - Visits, Keywords & Rankings
Estimated monthly website traffic for any domain: organic and paid visits, keyword counts, and the keywords a site ranks for with ranks, volumes and CPC. Bulk-check hundreds of domains in one run.
Website Traffic Checker - Visits, Keywords & Rankings 🚀
📊 Check website traffic for 5 or 500 domains in one run — organic and paid visits, keyword counts, ranking keywords
Built for SEO teams, agencies and B2B lead teams who need traffic numbers at list scale, not one domain at a time
🔎 What is the Website Traffic Checker — and when should you use it?
The Website Traffic Checker turns estimated monthly traffic for any website domain, and the keywords it ranks for into clean, structured rows you can filter, export and feed straight into a spreadsheet, database or AI agent. No account, no portal API key, no browser automation to maintain.
Use it when you need: a domain's traffic numbers rather than its pages: estimated monthly organic and paid visits, how many keywords it ranks for in each, and the domain authority score. Ask deeper and each keyword row adds its Google position, monthly searches, cost per click, difficulty, intent and the exact page that ranks. Four markets are covered, so the same domain can be read from United States, United Kingdom, Canadian or Australian search data.
Use something else when: you need something other than a domain-level traffic estimate. Use SERP API for the live search results for a query, where this actor summarises what a whole domain gets from search over a month. Use Email & Contact Lead Scraper for who to contact at a company, where this actor tells you how big its search audience is. Use Google Trends Scraper for how interest in a topic moves over time, where this actor measures one domain's standing right now. Figures are estimates built from Google search data, not measured analytics: direct, social, email and referral visits are not in the numbers, so a brand people type straight into the address bar reads lower than its true total. Bounce rate, visit duration and pages per visit need a clickstream panel and are not offered. Markets are United States, United Kingdom, Canada and Australia in English.
🤖 Use with AI agents
Already connected to the Apify MCP server? Just ask for this Actor by name: sian.agency/similarweb-website-traffic-scraper
Your agent can pay for its own runs. This Actor is eligible for agentic payments, so an agent can discover it, run it and settle the bill over x402 (USDC on Base) or Skyfire — without an Apify account or API token of its own. Billing is the same either way: per successful row, never for errors.
Otherwise copy this prompt into Claude, ChatGPT, Cursor or any MCP-enabled assistant:
I want estimate how much monthly search traffic a list of competitor websites gets using the Apify Actor `sian.agency/similarweb-website-traffic-scraper`.Use it when I need: a domain's traffic numbers rather than its pages: estimated monthly organic and paid visits, how many keywords it ranks for in each, and the domain authority score. Ask deeper and each keyword row adds its Google position, monthly searches, cost per click, difficulty, intent and the exact page that ranks. Four markets are covered, so the same domain can be read from United States, United Kingdom, Canadian or Australian search data.Don't use it when: you need something other than a domain-level traffic estimate — use google-serp-scraper or email-contact-lead-scraper or google-trends-scraper instead.How to call it: set `operation` to `trafficEstimates` and give `bulkDomains` a list of bare domains; one row comes back per domain with organic and paid visits and keyword counts, and `domain` covers a single lookup. Set `operation` to `topKeywords` for the same list and each domain returns up to `maxKeywords` ranking keywords with position, volume, cost per click and intent. `market` picks the country whose Google data the estimate is built from.Start with this input:{"operation": "trafficEstimates","domain": "apify.com","market": "US"}Ask me which domains, which market, and whether they want the headline traffic numbers or the ranking keywords behind them, then run the Actor and summarise the results as a table.
Things you can ask your agent for:
- Compare monthly organic and paid visits for these eight competitor domains in the UK market and rank them by total traffic.
- Take this CSV of 200 prospect domains and flag every one whose organic traffic is under a thousand visits a month.
- Pull the top 50 keywords apify.com ranks for in the United States, with search volume and cost per click, and sort by estimated visits.
Machine-readable API, MCP config and OpenAPI definition for this Actor are published at apify.com/sian.agency/similarweb-website-traffic-scraper.md.
📋 Overview
Paste a domain, get its traffic numbers. The Website Traffic Checker returns estimated monthly organic and paid visits for any domain, plus how many keywords it ranks for. Want the detail behind the headline? The second operation returns the keywords themselves, each with its Google position, search volume and cost per click.
The numbers come from Google search data, the same method public traffic estimators use. Nothing is scraped page by page, so a run of 500 domains comes back in the same shape as a run of five, and nothing breaks when a website redesigns.
What you get:
- ✅ Two answers per domain list: headline traffic numbers in one operation, the ranking keywords behind them in the other. Same input, same three ways to supply it.
- ⚡ Bulk by design: domains are checked in batches of up to 1000 per request, so a 500-domain market map is minutes of work, not a week of manual lookups.
- 🎯 Real keyword depth: every keyword row carries its Google position, monthly searches, cost per click, difficulty, intent and the exact page that ranks — the fields keyword research actually runs on.
- 💰 Priced per row: $0.005 for a traffic row, $0.001 for a keyword row, and nothing for rows we could not read.
- 🌏 Four markets: read the same domain from United States, United Kingdom, Canadian or Australian search data — apify.com shows about 402,000 monthly organic visits from the US and about 32,000 from the UK.
- ✨ No key, no proxy, no browser: paste domains and press start.
✨ Features
- 📈 Monthly organic visits — the headline number for any domain, estimated from its Google rankings
- 💰 Monthly paid visits — the paid-search side of the same domain, in the same row
- 🔑 Keyword counts — how many organic and paid keywords the domain ranks for in that market
- 🔎 Ranking keywords — up to 1000 keywords per domain, each with position, volume, CPC, difficulty and intent
- 🏅 Domain authority — a 0-1000 authority score carried on every keyword row
- 🌏 Market switch — US, UK, Canada or Australia, because the same domain can differ by an order of magnitude between them
- 📄 Bulk input three ways — a single domain, a pasted list, or a link to a text file for very long lists
- 🧾 Clean rows, no wrappers — one flat JSON row per domain or keyword, exportable as JSON, CSV or Excel
- 📊 Run report — every run writes an HTML summary with the numbers, anything that needs a fix, and what it cost
- 🔄 Schedule-friendly — run the same list monthly and watch a market move
🎬 Quick Start
Open the actor, leave the sample domain in place, and press Start. Your first rows land in the dataset in under a minute.
curl -X POST 'https://api.apify.com/v2/acts/sian.agency~similarweb-website-traffic-scraper/runs?token=YOUR_TOKEN' \-H 'Content-Type: application/json' \-d '{"operation":"trafficEstimates","domain":"apify.com","market":"US"}'
🚀 Getting Started (3 Simple Steps)
Step 1: Pick your question
Choose Traffic Estimates for how much traffic a domain gets, or Ranking Keywords for which keywords bring it.
Step 2: Add your domains
Type one domain, paste a list into the domain list field, or link a .txt file of domains for long lists.
Step 3: Pick a market and start
Choose the country whose Google data you want, then press Start. Results land in your dataset as they arrive.
That's it! In about a minute per batch, you'll have:
- Estimated monthly organic and paid visits per domain
- Organic and paid keyword counts per domain
- The ranking keywords with positions, volumes and CPCs, if you ran that operation
📥 Input Configuration
| Field | Type | Required | Description |
|---|---|---|---|
| operation | select | No | trafficEstimates for traffic numbers per domain, topKeywords for the keywords behind them |
| domain | string | No | A single domain, e.g. apify.com. Schemes, www and paths are stripped automatically |
| bulkDomains | string list | No | Many domains at once, one per line. Wins over the single domain field when filled |
| domainListUrl | string | No | Public URL to a .txt file of domains, one per line. For lists too long to paste |
| market | select | No | US, GB, CA or AU — the country whose Google data the estimate is built from |
| maxKeywords | integer | No | Used by Ranking Keywords: how many of a domain's top keywords to return, 10-1000 |
Example:
{"operation": "trafficEstimates","domain": "apify.com","market": "US"}
Bulk processing:
{"operation": "trafficEstimates","bulkDomains": ["apify.com", "stripe.com", "cnn.com", "shopify.com"],"market": "US"}
📤 Output
Results land in the Apify dataset, one flat row per domain (Traffic Estimates) or per keyword (Ranking Keywords), with 20+ fields including:
| Field | Type | Description |
|---|---|---|
| domain | string | The domain, normalised to its bare form |
| organicMonthlyVisits | number | Estimated monthly visits from organic search |
| paidMonthlyVisits | number | Estimated monthly visits from paid search |
| totalMonthlyVisits | number | The two combined |
| organicKeywordCount | number | How many organic keywords the domain ranks for |
| paidKeywordCount | number | How many paid keywords it appears on |
| keyword | string | The ranking keyword (Ranking Keywords rows) |
| rank | number | The domain's Google position for that keyword |
| searchVolume | number | Monthly searches for that keyword |
| visitsFromKeyword | number | Estimated monthly visits that keyword sends the domain |
| cpc | number | Cost per click for that keyword |
| keywordDifficulty | number | How hard the keyword is to rank for, 0-100 |
| intent | string | Search intent: informational, commercial, transactional, navigational |
| domainAuthority | number | The domain's authority score, 0-1000 |
| market | string | The market the estimate was built from |
Example row (Traffic Estimates):
{"domain": "apify.com","siteUrl": "https://apify.com","market": "US","organicMonthlyVisits": 402219,"paidMonthlyVisits": 1,"totalMonthlyVisits": 402221,"organicKeywordCount": 34998,"paidKeywordCount": 1,"hasData": true,"_rowType": "trafficEstimate","_operation": "trafficEstimates","_fetchedAt": "2026-08-31T02:47:01.328Z"}
Example row (Ranking Keywords):
{"domain": "apify.com","keyword": "apify web scraper","rank": 1,"searchVolume": 720,"visitsFromKeyword": 210,"rankingUrl": "https://apify.com/","cpc": 4.28,"keywordDifficulty": 41,"intent": "commercial","domainAuthority": 559,"market": "US","_rowType": "rankingKeyword"}
💼 Use Cases & Examples
1. Competitor Traffic Benchmarking
An SEO manager lines up the competition before planning next quarter's content.
Input: bulkDomains with eight competitor domains, market set to your own
Output: One row per domain with organic visits, paid visits and keyword counts
Use: Rank the field by total traffic, then argue for budget where the gap is biggest.
2. Lead Qualification at List Scale
A B2B growth lead scores a 300-domain prospect list before anyone writes an email.
Input: A .txt file of the prospect domains via domainListUrl
Output: Traffic rows for every domain, with zero-traffic domains clearly flagged
Use: Sort ascending and stop wasting SDR time on companies with no audience.
3. Keyword Gap Analysis
A content strategist finds the terms a competitor owns that they do not.
Input: operation: topKeywords, the competitor's domain, maxKeywords: 200
Output: Ranking keywords with position, volume, difficulty and intent
Use: Filter for low-difficulty, high-volume terms where you are absent and they are not.
4. Market Sizing Before an Acquisition Talk
A founder checks a target's search presence before naming a number.
Input: The target's domain, run once per market that matters to it Output: Traffic rows for each market side by side Use: Organic visits sliding while paid climbs is a very different negotiation.
5. Agency Reporting on a Schedule
An account manager produces the same monthly traffic appendix for six clients.
Input: Each client's domain list, saved as a schedule with market preset
Output: Clean JSON or CSV straight into the report
Use: The appendix builds itself; nobody maintains scraping infrastructure for it.
6. Editorial Prioritisation for Publishers
A content lead decides which of 40 section pages to refresh first.
Input: The publisher's own domain with operation: topKeywords
Output: Keywords where the domain ranks 5-15 — close to page one but not on it
Use: Refresh the pages sitting just below position 4 and collect the difference.
🔗 Integration Examples
JavaScript/Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_TOKEN' });const run = await client.actor('sian.agency/similarweb-website-traffic-scraper').call({operation: 'trafficEstimates',bulkDomains: ['apify.com', 'stripe.com'],market: 'US',});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items[0]);
Python
from apify_client import ApifyClientclient = ApifyClient('YOUR_TOKEN')run = client.actor('sian.agency/similarweb-website-traffic-scraper').call(run_input={'operation': 'trafficEstimates','bulkDomains': ['apify.com', 'stripe.com'],'market': 'US',})for item in client.dataset(run['defaultDatasetId']).iterate_items():print(item)
cURL
curl -X POST 'https://api.apify.com/v2/acts/sian.agency~similarweb-website-traffic-scraper/runs?token=YOUR_TOKEN' \-H 'Content-Type: application/json' \-d '{"operation":"trafficEstimates","bulkDomains":["apify.com","stripe.com"],"market":"US"}'
Automation Workflows (N8N / Zapier / Make)
- Trigger: A monthly schedule, or a new row in your CRM export
- HTTP Request: Call the actor API with your domain list
- Process: Read the JSON rows from the dataset
- Action: Write traffic numbers back to the CRM, a sheet, or a Slack digest
📈 Performance & Pricing
FREE Tier (Try It Now)
- 5 domains per run — full feature access, same data, same markets
- Ranking Keywords runs cap at 10 keywords per domain on the free plan
- No credit card required
PAID Tier (Production Ready)
- Unlimited domains per run, batched 1000 per request
- Pay per row: a traffic row is $0.005, a keyword row is $0.001 — and nothing for rows we could not read
- Free-plan daily run limits lift once your account can be billed
💰 A 100-domain traffic check costs about fifty cents at $0.005 a row, and the first 5 domains are free.
❓ Frequently Asked Questions
Q: Where do the numbers come from? A: They are estimated from Google search data — the keywords a domain ranks for, multiplied by how often each is searched and weighted by position. That is the standard method behind public traffic estimators. Treat it as a reliable way to compare domains, not an exact visit counter.
Q: How many domains can I check? A: Free plan runs cap at 5 domains. Paid runs have no fixed ceiling: domains are processed in batches of up to 1000 per request.
Q: Do I need an API key, an account or a proxy? A: No. Paste a domain and press Start.
Q: Why does a domain show zero visits?
A: No ranking was observed for it in the market you picked. Check the spelling, drop the www, or try another market. A brand-new or very small site may genuinely not rank anywhere yet.
Q: Why is my domain's number lower than my analytics says? A: The estimate covers search-driven visits. Direct, social, email and referral traffic are not in it, so a brand people type straight into the address bar will read lower than its true total.
Q: Does it return bounce rate or visit duration? A: No. Those need a clickstream panel and no reliable source for them exists. Rather than promise four columns that arrive empty, this actor does not offer them.
Q: What output formats are available? A: JSON, CSV and Excel, straight from the Apify dataset, plus an HTML run report in the key-value store.
Q: How long does a run take? A: A five-domain traffic check finishes in a couple of seconds. Long lists are batched 1000 domains per request, so a 500-domain run is minutes, not hours.
🐛 Troubleshooting
A domain came back with zero visits
- Check the spelling and drop anything after the domain, like a path or
www - Try a different market — a domain that ranks in Germany reads zero in the United States
- Very new or very small domains may genuinely not rank yet; that is a real answer
"Not a recognisable domain" in the log
- Use a form like
apify.com. A scheme,wwwand a path are all fine and stripped automatically - IP addresses and single words are rejected before anything is charged
The keyword operation returned far fewer rows than expected
maxKeywordscaps rows per domain; raise it up to 1000- Free plan runs cap at 10 keywords per domain
- A domain with no rankings in the selected market returns one row saying so
My long list was cut short
- Free plan runs stop at 5 domains. The log says how many were skipped
- For lists over 10,000 domains, split the file and run it in parts
The run failed with "data service temporarily unavailable"
- Wait a minute and run it again — the request already retried five times internally
⚖️ Is it legal to scrape data?
Our actors are ethical and do not extract any private user data, such as email addresses, gender, or location. They only extract what the user has chosen to share publicly. We therefore believe that our actors, when used for ethical purposes by Apify users, are safe.
However, you should be aware that your results could contain personal data. Personal data is protected by the GDPR in the European Union and by other regulations around the world. You should not scrape personal data unless you have a legitimate reason to do so. If you're unsure whether your reason is legitimate, consult your lawyers.
You can also read Apify's blog post on the legality of web scraping.
Similarweb is a trademark of Similarweb Ltd. This actor is not affiliated with, endorsed by, or sponsored by Similarweb, and does not scrape similarweb.com.
🤝 Support
Join our active support community
- For issues or questions, open an issue in the actor's repository
- Check SIÁN Agency Store for more automation tools
- 📧 apify@sian-agency.online
Built by SIÁN Agency | More Tools