Competitor Keywords & Organic Traffic: Semrush Alternative avatar

Competitor Keywords & Organic Traffic: Semrush Alternative

Pricing

from $3.00 / 1,000 domains

Go to Apify Store
Competitor Keywords & Organic Traffic: Semrush Alternative

Competitor Keywords & Organic Traffic: Semrush Alternative

Domain overview, SEO competitor analysis, bulk website traffic checker and Semrush MCP tool: organic traffic, keyword counts and 1,000 competitor keywords per site, 94 countries. A Semrush, Ahrefs, SpyFu, Similarweb alternative. Pay per domain and keyword found, + $0.012/run from October 25, 2026.

Pricing

from $3.00 / 1,000 domains

Rating

0.0

(0)

Developer

PlainRows

PlainRows

Maintained by Community

Actor stats

0

Bookmarked

4

Total users

3

Monthly active users

a day ago

Last modified

Share

A bulk website traffic checker (Domain SEO Overview): for any list of websites, get the estimated Google organic traffic, number of ranking keywords, ranking position distribution, paid search footprint and the keywords that bring each site the most traffic, in 94 countries.

Built on a commercial SEO data provider: no scraping of SEO tools, no accounts, no subscriptions. It keeps working when third-party tool websites change. Until October 25, 2026 you only pay for domains and keywords that have data; from October 25, 2026 each run also costs $0.012 to start.

Typical uses

  • Check a competitor's website traffic: who gets the most organic visits from Google, from which keywords and pages.
  • Bulk website traffic checks: hundreds of domains in one run, one row each, instead of pasting them one by one into a free checker.
  • Competitor keyword research: every keyword a competitor ranks for (up to 1,000 per site) with position, ranking URL, volume, CPC and difficulty, as a spreadsheet with one row per keyword.
  • PPC competitor research (a SpyFu-style view): with keywordType: "paid", the keywords a competitor shows Google Ads for, with ad position, landing page, ad title and ad text, and its estimated monthly ad spend.
  • Qualify leads or partners by their organic search visibility, in bulk.
  • Track your own and your competitors' organic traffic and keyword counts over time by scheduling runs.
  • Feed SEO dashboards, spreadsheets, n8n / Make workflows or AI agents with clean JSON.

What you get for each domain

FieldDescription
domainThe website analysed (lowercase, without www.)
foundfalse when no ranking data exists for the domain (not billed)
organicTrafficEstimated monthly visits from Google organic results in the selected country
organicKeywordsNumber of keywords the domain ranks for in the top 100
paidTraffic, paidKeywordsEstimated Google Ads traffic and number of keywords with ads
organicTrafficValueUsdWhat that organic traffic would cost in Google Ads*
organicPositionsRanking keywords per position bucket: 1, 2-3, 4-10, 11-20, 21-50, 51-100*
topKeywordsThe keywords bringing the most traffic: keyword, position, ranking URL, estimated traffic, search volume, CPC, difficulty, intent*
topKeywordsTypeorganic or paid: what topKeywords holds (input keywordType)
paidTrafficCostUsdWith keywordType: "paid": estimated monthly cost of the domain's Google Ads traffic*
observedAtWhen this run fetched the data (UTC)

* Filled when topKeywords is 10 or more. With topKeywords: 0 you get the traffic metrics only, at the lowest price. With keywordType: "paid", organicTrafficValueUsd and organicPositions stay null, each top keyword also has adTitle and adDescription, and its position and url are the ad's position and landing page.

Missing values are always null, never guessed.

Input

{
"domains": ["apify.com", "https://www.semrush.com/blog/", "moz.com"],
"country": "US",
"languageCode": "",
"topKeywords": 10,
"keywordType": "organic"
}
  • domains: domains or full URLs, up to 5,000 per run. URLs are reduced to their domain; subdomains other than www are kept (blog.example.com). Duplicates are removed for free.
  • country: two-letter code of one of 94 countries: the US, Canada, the UK and most of Europe, Latin America, Asia-Pacific, the Middle East and Africa (full list in the input form).
  • languageCode: optional, defaults to the country's main language. A language the data source doesn't offer for that country stops the run with a clear message and no charge (from October 25, 2026, only the $0.012 start fee).
  • topKeywords: 0 (traffic only) or 10 to 1,000 keywords per domain. Default 10.
  • keywordType: organic (default, SEO keywords) or paid (Google Ads keywords, with the ad text). Same price per keyword. Run once per type if you want both.
  • minSearchVolume, maxPosition, excludeKeywords (optional filters): keep only keywords with at least this monthly volume, at this position or better, and without these words (up to 6, e.g. your brand). The data source applies them, so keywords left out are neither returned nor billed. With a filter set, organicPositions, organicTrafficValueUsd and paidTrafficCostUsd stay null (the source would compute them on the kept keywords only).

Output example

Real row from a run on 2026-10-07 (US, topKeywords: 10, first 2 keywords shown):

{
"domain": "moz.com",
"found": true,
"country": "US",
"languageCode": "en",
"organicTraffic": 43510.31,
"organicKeywords": 23045,
"paidTraffic": 1.46,
"paidKeywords": 1,
"organicTrafficValueUsd": 337059.79,
"organicPositions": {
"pos1": 1207,
"pos2to3": 1244,
"pos4to10": 5122,
"pos11to20": 4983,
"pos21to50": 7567,
"pos51to100": 2922
},
"topKeywords": [
{
"keyword": "seo tools",
"position": 2,
"url": "https://moz.com/free-seo-tools",
"estimatedTraffic": 4269.41,
"searchVolume": 110000,
"cpcUsd": 21.79,
"keywordDifficulty": 66,
"searchIntent": "commercial"
},
{
"keyword": "domain authority checker",
"position": 1,
"url": "https://moz.com/domain-analysis",
"estimatedTraffic": 3284.7,
"searchVolume": 9900,
"cpcUsd": 4.64,
"keywordDifficulty": 72,
"searchIntent": "informational"
}
],
"observedAt": "2026-10-07T12:04:27.655Z",
"schemaVersion": "1.0"
}

Pricing

Pay per result, no subscription. Until October 25, 2026 there is no fee per run; from October 25, 2026 each run costs $0.012 to start. See the Pricing tab for current prices:

  • one event per domain with data;
  • one event per top keyword returned.

Price change on October 25, 2026: domain with data $0.006 (FREE) / $0.005 (BRONZE) / $0.004 (GOLD+); top keyword $0.003 (FREE) / $0.002 (BRONZE+); plus $0.012 per run start.

Domains without data, duplicates and invalid entries are never billed. Input mistakes cost nothing (from October 25, 2026, only the $0.012 start fee). The run never spends more than the maximum cost you set: it returns fewer top keywords, then stops processing domains, before reaching it.

Top keywords are only looked up for domains that rank organically (with keywordType: "paid": that run Google Ads), and never more than the domain has: a site with 4 ranking keywords returns (and is billed) 4. Lists where most domains have no data, or only sites with a handful of ranking keywords, stop early with a clear warning in the run log and the summary: the remaining domains are not looked up and not charged, and some small sites may come back without top keywords (billed as traffic-only rows).

Free Apify plan: each run analyses up to 2 domains with up to 10 top keywords each, so you can check the output. A paid Apify plan removes these limits.

Use it from code, automations or AI agents

API (one call, results returned directly):

curl -X POST "https://api.apify.com/v2/acts/plainrows~domain-seo-overview/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"domains": ["apify.com", "moz.com"], "country": "US", "topKeywords": 10}'

n8n, Make, Zapier: use the Apify integration and pick plainrows/domain-seo-overview as the Actor; map the dataset items to your sheet, CRM or database.

AI agents (MCP): add https://mcp.apify.com?tools=plainrows/domain-seo-overview to Claude, Cursor or any MCP client. The agent gets a typed tool with the input and output schemas of this page and pays per result.

What this is not

  • Traffic figures are estimates of Google organic (and paid) search traffic, not total website visits from all channels, and not analytics data.
  • No backlink or "domain authority" metrics: this tool focuses on search traffic and keywords.
  • Not affiliated with Google, Ahrefs, Semrush or Similarweb.

Run summary

Each run stores a summary in the key-value store (OUTPUT): domains submitted, found, not found, billed, keywords billed, duplicates removed, invalid entries with the reason, and anything skipped because of the free-plan or budget limit (skippedBudgetLimit) or an early stop (skippedUncoveredCost: domains not looked up; keywordsSkippedUncoveredCost: domains returned without top keywords).

FAQ

How do I check the traffic of a website? Enter the domain (or many, up to 5,000 per run), pick the country and run. Each row gives the estimated monthly Google organic traffic, the number of ranking keywords and, if you ask for them, the top keywords.

Is this the site's total traffic? No: it estimates visits from Google search (organic, and paid separately) in the selected country, not visits from all channels and not analytics data. Use it to compare sites with each other.

Can I check competitors in another country? Yes: 94 countries (full list in the input form). Run once per country you care about.

Which keywords bring a site its traffic? Set topKeywords to 10 to 1,000: you get each keyword with position, ranking URL, estimated traffic, search volume, CPC and difficulty.

Which keywords does a competitor buy on Google Ads? Set keywordType to paid and topKeywords to 10 to 1,000: each keyword the domain advertises on comes with the ad position, landing page, ad title, ad text, search volume and CPC, and the row gives its estimated monthly ad spend (paidTrafficCostUsd). Domains without ads come back with traffic data only. Same price as organic keywords.

Can I get one row per keyword (Excel, CSV, Google Sheets)? Yes. In the run's Output tab, open the Ranking keywords view: one row per keyword with its domain, ready to export. From the API, add view=keywords (or unwind=topKeywords) to the dataset items URL, for example https://api.apify.com/v2/datasets/DATASET_ID/items?view=keywords&format=csv. Same data, same price: only the layout changes.

Do I need a Semrush, Ahrefs, SpyFu or Similarweb account? No. The data comes from a commercial SEO data provider; you pay per domain with data, with no subscription.

More PlainRows tools

Same pay-per-result pricing, same clean JSON, built to chain together in n8n, Make, Zapier or AI agents.

Compared with other APIs: Competitor keyword research · Semrush API alternative · Similarweb API alternative for Google search traffic, pay per domain · SpyFu alternative

Support

Found a bug or need a field? Open an issue on this page. Issues are read and answered.