Competitor Keyword Research & Gap - SEO Competitor Analysis avatar

Competitor Keyword Research & Gap - SEO Competitor Analysis

Pricing

from $1.70 / 1,000 per delivered keywords

Go to Apify Store
Competitor Keyword Research & Gap - SEO Competitor Analysis

Competitor Keyword Research & Gap - SEO Competitor Analysis

SEO competitor analysis for any domain: every keyword it ranks for in Google with volume, difficulty, intent, position, ranking URL and traffic value, plus the keyword gap vs your site. Bulk domains in one run. Live native SEO data, no scraping. Semrush & Ahrefs alternative, pay per keyword.

Pricing

from $1.70 / 1,000 per delivered keywords

Rating

0.0

(0)

Developer

David S

David S

Maintained by Community

Actor stats

1

Bookmarked

146

Total users

11

Monthly active users

3 days ago

Last modified

Share

Competitor Keyword Research & Gap — SEO Competitor Analysis · Semrush / Ahrefs Alternative API

Paste one or many competitor domains → get every keyword each one ranks for in Google, with search volume, keyword difficulty, search intent, exact ranking position, ranking URL and estimated traffic value. Then flip to keyword-gap mode to see exactly where a competitor ranks and you don't — a content roadmap ranked by opportunity.

Built on live native SEO data straight from Google's index — not a scrape of a third-party SEO tool that breaks the moment a dashboard changes. Pay per keyword: $2 per 1,000 keywords on paid plans, $1.70 on Gold and above. No subscription, no seat, no login. Free Apify plans get a 100-keyword preview of one domain per run.

Built for SEO agencies running instant competitor teardowns, content teams turning gap lists into roadmaps, founders checking what wins rivals organic traffic, and developers / AI agents dropping clean ranked-keyword JSON into a pipeline via Apify MCP.

What does this SEO competitor analysis do?

Two jobs, one actor, any number of domains:

Ranked-keywords mode (default) — list competitor domains, get every keyword each one ranks for in Google organic, with volume, keyword difficulty (0–100), search intent, the exact position it holds, the ranking page, and estimated traffic value. Every row carries competitor_domain, so a 10-domain run is one dataset you can pivot by domain.

Keyword-gap mode — list competitors and your own domain to get the shared keyword universe with both positions side by side, plus a gap_type on every row:

gap_typemeaningwhat to do
missingthey rank, you don't appearnet-new content opportunity
weakeryou rank, but below themoptimize / build links
strongeryou outrank themdefend, monitor
tiedsame position bracketpush for the edge

Filter to missing + low difficulty + high volume for a prioritized content roadmap built from real ranking data, not guesswork.

Why use this for competitor keyword research

  • Native data, not a scrape — reads ranking data straight from Google's search surface, so runs don't silently die when a third-party SEO dashboard ships a redesign, and there's no third-party account to get rate-limited or banned. If you've been burned by an Apify "Ahrefs/Semrush scraper" that worked for a month then returned empty rows, this is the fix. Zero failed runs in the last 30 days.
  • Bulk domains in one run — up to 20 competitor domains per run, one report each, one dataset. Each domain is billed only for the keywords it delivers; one domain failing never costs you the others.
  • Difficulty + intent in one pass — keyword difficulty and search intent arrive with the ranking data, no second lookup.
  • Pay per keyword, no seat — run a teardown when you're pitching a client or planning a quarter; pay for exactly those keywords, done. No monthly commitment.
  • Fast & scriptable — a typical 1,000-keyword report returns in seconds; larger pulls paginate automatically to the 5,000-per-domain cap. Clean JSON over the API and MCP, schedulable for ongoing monitoring.

How to find a competitor's ranked keywords

  1. Paste one or more competitor domains into targets (or leave the prefilled ahrefs.com).
  2. For a keyword gap, set mode: "gap" and add compareToDomain (your site).
  3. Set maxKeywords per domain (default 1,000) and, optionally, location / language and filters.
  4. Click Start — in seconds you get a clean table of ranked keywords.
  5. Download (JSON, CSV, Excel), then sort by volume, filter by difficulty, or filter gap_type: missing for your roadmap.

Ranked keywords for several competitors:

{ "targets": ["ahrefs.com", "semrush.com", "moz.com"], "maxKeywords": 1000 }

Keyword gap vs your own site:

{ "mode": "gap", "targets": ["ahrefs.com"], "compareToDomain": "yourdomain.com", "maxKeywords": 500 }

Page-1-only, easy keywords across a whole competitor set:

{ "targets": ["ahrefs.com", "semrush.com"], "positionTo": 10, "maxKeywordDifficulty": 30, "minVolume": 500 }

Ready-made examples: one click, prefilled input

Each example below is a saved task with the input already filled in. Open it, swap in your own domain, and run.

What keyword data you get

One dataset item per ranked keyword:

FieldDescription
keywordthe search term the domain ranks for
search_volumemonthly Google searches (location-specific)
cpccost-per-click signal (commercial value)
competition_levelLOW / MEDIUM / HIGH
keyword_difficulty0–100 ranking difficulty (see coverage note)
search_intentinformational / commercial / transactional / navigational
competitor_domainthe domain analyzed (pivot a bulk run on this)
competitor_rankexact organic position held
competitor_urlthe page that ranks
estimated_traffic_valueestimated traffic value of that ranking
is_featured_snippetwhether it holds the featured snippet
Gap mode addsyour_domain / your_rank / your_url (null = you don't rank) + gap_type
Alwayslocation, language, content_hash (stable dedup hash per keyword)
{
"keyword": "keyword generator",
"search_volume": 90,
"competition_level": "LOW",
"keyword_difficulty": 40,
"search_intent": "informational",
"competitor_domain": "ahrefs.com",
"competitor_rank": 1,
"competitor_url": "https://ahrefs.com/keyword-generator",
"estimated_traffic_value": 27.36,
"is_featured_snippet": false,
"location": "United States",
"language": "English",
"content_hash": "a1b2c3d4e5f60718"
}

Gap-mode row (competitor ahrefs.com vs your moz.com):

{
"keyword": "googlebot",
"search_volume": 550000,
"keyword_difficulty": 26,
"competitor_domain": "ahrefs.com",
"competitor_rank": 8,
"your_domain": "moz.com",
"your_rank": 29,
"gap_type": "weaker"
}

Note on keyword_difficulty coverage. Difficulty is densest in major markets (US / UK / DE / …). Some smaller-market or non-English locales have sparse difficulty coverage in the source data and return 0 for many keywords — a data-availability limit, not a scoring error. Every other field is unaffected; lean on search_volume + competitor_rank when difficulty is unavailable for your market.

Input parameters

FieldTypeDefaultNotes
targetsarray—competitor domains, up to 20 per run (e.g. ["ahrefs.com", "semrush.com"])
targetstring—legacy single domain; merged into targets if both are set
modeenumrankedranked or gap
compareToDomainstring—required in gap mode — your domain
maxKeywordsint1000per domain, 1–5,000 (hard cap, so a run can't drain credits)
locationstringUnited Statesany supported location
languagestringEnglishany supported language
minVolumeint0filter
maxKeywordDifficultyint100filter (0–100)
intentFilterarray[]subset of the four intents
positionFrom / positionToint1 / 100rank range

Full configuration is on the Input tab. Run it from any stack via the Apify API client or the Apify MCP server (mcp.apify.com).

How much does competitor keyword research cost?

You're charged per keyword delivered, on success only — empty results and failed runs cost nothing. $0.002 per keyword on paid plans (Bronze), $0.0018 on Silver and $0.0017 on Gold and above. The free plan preview is billed at $0.003 from your free credits.

What you runKeywords deliveredBronzeGold+
Quick competitor peek100$0.20$0.17
Standard competitor report1,000$2.00$1.70
Five competitors, 1,000 each5,000$10.00$8.50
Deep single-domain teardown5,000$10.00$8.50
Keyword-gap (you vs them)1,000$2.00$1.70

Free Apify plan: a preview of one domain, up to 100 keywords per run — enough to check the data shape before upgrading. Paid plans unlock up to 5,000 keywords per domain and 20 domains per run.

Compare that to a Semrush/Ahrefs seat (from ~$100+/mo, login required): no seat, no monthly commitment — pay for exactly the keywords you pull.

Competitor Keyword Research vs Ahrefs, Semrush & Moz

This actorAhrefs / Semrush / MozOther Apify "SEO scraper" actors
Data sourcelive native SEO datanative (SaaS dashboard)scrape a 3rd-party dashboard (fragile)
AccessAPI + MCP, clean JSONlogin + UIactor
Pricing$2 per 1,000 keywords (paid plans)seat, ~$100+/movaries
Difficulty + intent✅ on every row, one pass✅often missing
Keyword gap vs your site✅ gap_type on every row✅rarely
Bulk domains✅ up to 20 per run✅varies
Breaks on dashboard redesign❌ no 3rd-party accountn/a✅ yes

Same core job as the SaaS dashboards — the keywords a domain ranks for + the gap vs yours — but pay-per-keyword, as an API, with nothing to break when someone else redesigns a page.

What this actor does not do

  • It's not a full SEO suite — no backlinks, audits or dashboards; just clean ranked-keyword and gap data you own as JSON. (For backlinks, see the related Backlink Checker.)
  • It doesn't track your own rankings over time — it reports a competitor's ranked keywords and the gap; to monitor where you rank, pair it with a rank checker.
  • It doesn't discover competitors for you yet — you name the domains. Organic-competitor discovery is next on the roadmap.
  • keyword_difficulty coverage is sparse in smaller/non-English markets (returns 0) — a source data limit, not a bug.

FAQ

How do I see what keywords a competitor ranks for?

Paste their domain into targets and run. You get every keyword they rank for with volume, difficulty, intent, position and traffic value — no access to their account needed.

Can I analyse several competitors in one run?

Yes — put up to 20 domains in targets. Each one is a separate report, all rows land in one dataset with competitor_domain on every row, and each domain is billed only for what it delivers.

How do I find the keyword gap between two websites?

Set mode: "gap", targets = competitor(s), compareToDomain = your site. Every row shows both positions and a gap_type; filter to missing for net-new opportunities.

Is this a Semrush / Ahrefs alternative?

For the competitor-keyword and keyword-gap job, yes — same data class, pay-per-keyword instead of a monthly seat, as an API/MCP instead of a dashboard.

Where does the data come from — is it accurate?

Live native SEO data from Google's search surface (not a scraped dashboard). Difficulty and intent come with the ranking data in the same pass.

Does it work for non-US / non-English domains?

Yes — set location and language to any supported market. (See the difficulty-coverage note above.)

What does a competitor report cost?

$2.00 for 1,000 keywords on Bronze ($1.70 on Gold and above), $0.20 for a 100-keyword peek. You're never charged for empty or failed runs, and every domain is capped by maxKeywords.

What do I get on the free Apify plan?

A preview: one domain and up to 100 keywords per run, with every column. Upgrade to any paid plan for full reports.

Yes. Ranked-keyword data is derived from public search results — the same thing anyone sees on Google. You're analysing which public queries a site appears for, not accessing anything private.

Is this safe for AI agents to run?

Yes. It runs under limited permissions — it only pulls ranked keywords and writes your dataset, never touching the rest of your account, so there's no full-permission approval step. Run it from any agent or IDE via the Apify MCP server.

Reads public search-results data only — the same organic rankings anyone sees in Google. No logins, no paywalled data, no third-party SEO-tool accounts. You control the domains and locations you query. Found a bug or need a field? Open a ticket on the Issues tab; code samples are on the API tab.

A natural workflow: pull competitors' ranked keywords here → enrich with volume/CPC in Keyword Metrics → organize into clusters for your content plan.

SEO keywords

seo competitor analysis, competitor keyword research, competitor keyword analysis, competitor keywords, ranked keywords, see what keywords a site ranks for, keyword gap analysis, content gap analysis, competitor analysis seo, find competitor keywords, bulk competitor keywords, semrush alternative, ahrefs alternative, moz alternative, spyfu alternative, ranked keywords api, seo data api, competitor keyword api, keyword research api, organic competitor analysis, keyword difficulty api, search intent api, pay per keyword seo, mcp seo.

Built by DoesAiKnow.com — no subscription, pay per keyword, API + MCP-ready.

Last reviewed: October 2026.