SEO Competitor Keywords - Domain Ranked Keywords & Keyword Gap avatar

SEO Competitor Keywords - Domain Ranked Keywords & Keyword Gap

Pricing

from $3.00 / 1,000 keywords

Go to Apify Store
SEO Competitor Keywords - Domain Ranked Keywords & Keyword Gap

SEO Competitor Keywords - Domain Ranked Keywords & Keyword Gap

Find the Google keywords any domain or competitor ranks for: position, ranking URL, search volume, CPC, keyword difficulty, intent and traffic, plus organic competitors and the keyword gap between 2-5 domains. No Semrush or Ahrefs needed. $3 per 1,000 keywords + $0.02 per domain; errors free.

Pricing

from $3.00 / 1,000 keywords

Rating

0.0

(0)

Developer

Tenfold Fleet

Tenfold Fleet

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

1

Monthly active users

16 hours ago

Last modified

Share

What does SEO Competitor Keywords do?

SEO Competitor Keywords finds the Google keywords any domain or competitor ranks for, with the position, the ranking URL, search volume, CPC, keyword difficulty, search intent and estimated traffic on every row. It also lists the organic competitors of a domain and runs a keyword gap between your site and up to 4 competitors, so you see the keywords they win and you don't.

It works like the "Organic Research", "Organic Competitors" and "Keyword Gap" reports of Semrush or Ahrefs, as an API: no Semrush or Ahrefs subscription needed. Data comes from the DataForSEO Labs Google database (billions of keywords, 94 countries). Run it from the Apify Console, the API, Zapier, Make, n8n or an AI agent through MCP.

Why use it?

  • Competitor keyword research: see every keyword a competitor gets traffic from, which page ranks, and how much traffic it brings.
  • Keyword gap / content gap: find the keywords 1-4 competitors rank for and your site doesn't rank for at all. Keywords that several competitors share come first.
  • Find your real competitors: list the domains that rank for the same keywords as you, with common keywords, average position and their total traffic.
  • SEO reporting and rank tracking: export the positions of your own domain with the previous position, new/up/down flags and the featured snippet flag.
  • Agencies and AI agents: bulk-analyze up to 50 domains per run and feed the JSON into reports, spreadsheets or LLM workflows.

What data can it extract?

FieldDescription
keywordGoogle keyword the domain ranks for
position / previousPositionOrganic position now and at the previous SERP update
rankingUrl / rankingTitleThe page that ranks and its title
searchVolumeAverage monthly Google searches
etv / trafficCostEstimated monthly traffic from the keyword and its value in ad spend
cpc, competitionGoogle Ads cost per click and competition
keywordDifficultyHow hard it is to reach the top 10 (0-100)
intent / secondaryIntentsInformational, navigational, commercial or transactional
serpFeatures / isFeaturedSnippetSERP features on the page (people also ask, video, local pack...) and whether the domain holds the featured snippet
totalRankedKeywordsHow many keywords the domain ranks for in total (with your filters)
competitorDomain, commonKeywords, avgPosition, competitorEtvCompetitors mode: the competing domain, shared keywords, its average position and total traffic
yourPosition, positions, bestCompetitor, competitorsRankingKeyword gap mode: your position, every domain's position, the best-ranking competitor and how many competitors rank

How to find the keywords a competitor ranks for

  1. Open the Actor and pick a Mode: Ranked keywords, Organic competitors or Keyword gap.
  2. Enter one or more domains (example.com or any URL). For a keyword gap, put your domain first, then 1-4 competitors.
  3. Choose the country and language (94 countries; names or codes like US, GB, de work).
  4. Optional: set Max rows per domain (up to 10,000), Max Google position (10 = first page) and Min monthly search volume.
  5. Click Start and download the results as JSON, CSV, Excel or HTML.

How much does it cost?

Pay per result, no subscription:

  • $3 per 1,000 keywords ($0.003 per ranked-keyword or keyword-gap row)
  • $3 per 1,000 competitor rows ($0.003 per competitor)
  • $0.02 per domain with data (covers the data provider's fixed fee per lookup)

Example: the top 500 keywords of one competitor cost $1.52. Invalid domains, domains with no data, duplicates and errors are free. Set a max cost per run and the Actor stops there, only buying the data you can pay for.

Free Apify plan: 1 domain and 10 rows per run (keyword gap: your domain vs 1 competitor), because every lookup costs the developer a data fee. Any paid Apify plan gets up to 10,000 rows per domain and 50 domains per run.

Input

{
"mode": "keywordGap",
"domains": ["apify.com", "scrapingbee.com", "brightdata.com"],
"location": "United States",
"language": "English",
"maxRowsPerDomain": 500,
"maxPosition": 20,
"minSearchVolume": 100,
"gapType": "missing"
}

Output

One row per keyword (or competitor). Download it as JSON, CSV, Excel or HTML, or read it through the API.

{
"type": "rankedKeyword",
"domain": "apify.com",
"keyword": "web scraping tools",
"position": 3,
"previousPosition": 5,
"rankingUrl": "https://apify.com/...",
"searchVolume": 9900,
"etv": 1210.5,
"cpc": 6.12,
"keywordDifficulty": 48,
"intent": "commercial",
"serpFeatures": ["people_also_ask", "video"],
"isFeaturedSnippet": false,
"totalRankedKeywords": 6953,
"location": "United States",
"language": "English"
}

Keyword gap rows add yourPosition (null = you don't rank), positions ({"apify.com": null, "brightdata.com": 5}), rankingUrls, bestCompetitor and competitorsRanking. Rows with an error field are free notes (invalid domain, no data).

Tips

  • Rows come highest traffic first, so a small Max rows per domain already gives the keywords that matter.
  • Use Max Google position 10 to see only first-page keywords, and Min monthly search volume to skip the long tail.
  • Missing gap = content ideas (competitors rank, you don't). Shared gap = keywords you can push up (both rank; compare positions).
  • Enter the root domain (example.com) for the whole site, or a subdomain (blog.example.com) for just that part.
  • Big runs (many domains with 10,000 rows each) can take a while. If the run's timeout comes close, the Actor stops cleanly: you keep and pay for the rows already found, and the domains not reached are listed as free rows.

FAQ

Do I need a Semrush, Ahrefs or DataForSEO account?

No. The data access is included in the price per result.

How fresh is the data?

Positions come from the DataForSEO Labs Google database, which is refreshed continuously; each row's SERP is usually from the last few weeks. It is an estimate like Semrush or Ahrefs data, not a live Google check.

Which countries are supported?

94 countries, with local languages (for example United States English/Spanish, Canada English/French, Switzerland German/French/Italian).

Why does a domain return no keywords?

Small or new sites may not rank in the top 100 for any keyword the database tracks in that country. Those rows are free; try another country. If 10 domains in a row have no data, the run stops and lists the rest as free rows, because that almost always means the wrong country or language.

Disclaimer

This Actor returns aggregated search-engine statistics about public websites. It does not collect personal data. Keyword metrics are estimates. Not affiliated with Google, Semrush or Ahrefs.

More tools from Tenfold Fleet

ActorOutput
AliExpress Keyword Scraper - Exact Sold Counts by Search Termproduct
Amazon Product Scraper - Details, Prices & Search by ASINproduct
ATS Jobs Scraper - Greenhouse, Lever, Ashby & 5 Morejob posting
Backlinks Checker - Referring Domains, Anchors & Domain Rankbacklink
Bilibili Scraper - Videos, Comments, Danmaku & Searchvideo or comment
Businesses Without Websites - Local Leads with Phone & Ratinglead
Contact Details Scraper - One Lead Record per Company Websitewebsite with contacts
Google Ads Transparency Center Scraper - Competitor Ads by Sitead
Google AI Overviews Checker - Citations & Domain Trackerkeyword checked
Google Jobs Scraper - Salary, Apply Links & Posting Datesjob listing
Google Keyword Planner Alternative - Ideas, Bids & Volumekeyword idea
Google News Scraper - Articles, Real URLs & Full Textarticle
Google Trends Scraper - Interest, Regions & Related Querieskeyword
Keyword Ideas & Related Keywords - Difficulty, Volume & CPCkeyword idea
Keyword Search Volume, CPC & Difficulty Checker (Bulk)keyword with data
Remote Job Board Scraper - Remote Jobs Aggregator, 7 Sitesunique remote job
SEEK Job Scraper - Australia, NZ, Jobstreet & JobsDBjob listing
SEO Audit Tool - Technical On-Page SEO Checker & Scorepage audit
Shopify Inventory Scraper - SKUs, Variants & In-Stock Statusproduct
Shopify App & Theme Detector - Store Analyzer & Contactsshopify store
Sitemap URL Extractor - All URLs from sitemap.xml & robots.txturl
Technology Detector - Wappalyzer & BuiltWith Alternativewebsite
URL to Markdown - Web Page to LLM-Ready Text for AI Agentspage
Website Traffic Checker - Bulk Domain Traffic Estimatedomain with traffic data
Workday Jobs Scraper - myworkdayjobs.com API with Salaryjob posting
YouTube Livestream & Channel Scraper - Videos, Likes & Statsvideo
YouTube Comments Scraper - Replies, Likes & Sort by Newestcomment
YouTube Shorts Analytics Scraper - Views, Likes & Hashtagsshort
YouTube Captions Downloader - Transcript & Subtitles Scrapertranscript