Competitor Keywords, Ranked Keywords & Keyword Gap avatar

Competitor Keywords, Ranked Keywords & Keyword Gap

Pricing

from $0.50 / 1,000 ranked keywords

Go to Apify Store
Competitor Keywords, Ranked Keywords & Keyword Gap

Competitor Keywords, Ranked Keywords & Keyword Gap

Get the organic Google keywords any domain ranks for, its SEO competitors, and your keyword gap (content gap): keywords competitors rank for and you don't. With position, URL, traffic, search volume, CPC, keyword difficulty and intent. Semrush and Ahrefs alternative on an official API, 50 countries.

Pricing

from $0.50 / 1,000 ranked keywords

Rating

0.0

(0)

Developer

Precision Labs

Precision Labs

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

2

Monthly active users

2 days ago

Last modified

Categories

Share

See which Google keywords any website ranks for, who its real competitors are, and which keywords your competitors get traffic from that you don't. Every keyword comes with its position, ranking page, estimated traffic, search volume, CPC, keyword difficulty and intent. No Semrush or Ahrefs subscription needed. Built by Precision Labs.

What it does

Pick one of three modes:

  • Ranked keywords: every keyword a domain ranks for in Google's top results, highest estimated traffic first. Use it to see where a competitor's traffic comes from, or to audit your own site.
  • Competitors: the domains that rank for the same keywords as yours, with how many keywords you share and how big they are. Often these aren't the companies you'd name as competitors.
  • Keyword gap: keywords your competitors rank for and your domain doesn't, with which competitor ranks best and with which page. This is the content gap: a ready list of topics to write about. Leave the competitor list empty and the Actor uses your top organic competitors.

The data covers 50 countries and their main languages. It comes from DataForSEO Labs, which tracks Google rankings for hundreds of millions of keywords and refreshes weekly.

Who it's for

  • SEOs and content teams planning what to write next, from what already works for competitors.
  • Agencies pitching or auditing clients without paying for another seat.
  • AI agents and automations (n8n, Make, Zapier, MCP clients) that need competitor and keyword data through an API, as clean rows.

How to use it

  1. Choose What to find.
  2. Enter the Domains, such as example.com. For a keyword gap, also enter Your domain.
  3. Pick the Country. The language defaults to the country's main one.
  4. Click Start. Most runs finish in under a minute. Download the results as JSON, CSV or Excel, or get them through the API.

Pricing

You pay only for data you get, with no subscription, and prices drop on Apify's paid plans. For example, the top 1,000 keywords of a domain cost $1.02 (52¢ on the Business plan).

EventFreeStarterScaleBusinessWhen
keyword-result$0.001$0.0009$0.0008$0.0005Each ranked keyword, or each missing keyword in a keyword gap.
data-request$0.02$0.02$0.02$0.02One lookup of up to 1,000 keywords or competitors for one domain. A keyword gap makes one per competitor.
competitor-result$0.003$0.0027$0.0024$0.002Each competitor.
ExampleFreeStarterScaleBusiness
Top 100 keywords of one domain$0.12$0.11$0.10$0.07
Top 1,000 keywords of one domain$1.02$0.92$0.82$0.52
10 competitors of one domain$0.05$0.05$0.04$0.04
Keyword gap against 5 competitors, 1,000 keywords$1.10$1.00$0.90$0.60

Never charged: domains that aren't valid, and domains with no data. No request fee when you repeat a lookup (same domain and settings) within the same week: the results come from your own Apify storage. Set Maximum cost per run and the Actor never fetches more than that budget can pay for.

Input

FieldWhat it does
What to findRanked keywords, competitors, or keyword gap.
DomainsDomains to look up, one per line. In keyword gap mode, the competitors to compare with.
Your domainKeyword gap only: the site to find missing keywords for.
Country / LanguageWhich Google to measure.
Max keywords per domainRanked keywords per domain, or missing keywords in total for a keyword gap. Default 1,000.
Max competitorsCompetitors per domain, or how many to compare with in a keyword gap. Default 10.
Top positions onlyOnly count rankings in the top N. Default 20, the first two pages.
Min monthly searchesSkip rarely searched keywords.
Include close variantsList plurals and spelling variants separately. Off by default.
Leave out giant sitesKeep Wikipedia, YouTube, Amazon and similar out of competitor lists. On by default.
Include navigational keywordsKeyword gap only: include searches for a specific site, such as "facebook login". Off by default.

Example input for a keyword gap through the API:

{
"mode": "gap",
"yourDomain": "budgetbytes.com",
"domains": ["seriouseats.com", "allrecipes.com"],
"location": "2840",
"maxResults": 500
}

Output

Each row has a type: ranked, competitor, gap, or error. A ranked keyword (real data, October 2026):

{
"type": "ranked",
"domain": "backlinko.com",
"keyword": "google trends",
"position": 9,
"url": "https://backlinko.com/hub/content/google-trends",
"title": "Google Trends: What Is It & How to Use It for SEO",
"rankChange": "up",
"estimatedTraffic": 3178,
"trafficValueUsd": 25773.02,
"searchVolume": 368000,
"cpcUsd": 8.11,
"competition": "low",
"keywordDifficulty": 54,
"intent": "informational",
"trendYearOverYearPct": -18,
"location": "United States",
"language": "English",
"fetchedAt": "2026-10-26T12:00:00.000Z"
}

A competitor:

{
"type": "competitor",
"domain": "backlinko.com",
"competitor": "semrush.com",
"sharedKeywords": 4816,
"avgPositionShared": 6.1,
"competitorKeywords": 98888,
"competitorTop3": 13821,
"competitorTop10": 39054,
"competitorEstimatedTraffic": 978907,
"competitorTrafficValueUsd": 3493721.07,
"location": "United States",
"language": "English",
"fetchedAt": "2026-10-26T12:00:00.000Z"
}

A keyword gap row lists every competitor that ranks for the keyword (here, a keyword Serious Eats ranks for and Budget Bytes doesn't):

{
"type": "gap",
"yourDomain": "budgetbytes.com",
"keyword": "tiramisu",
"searchVolume": 450000,
"cpcUsd": 0.34,
"competition": "low",
"keywordDifficulty": 35,
"intent": "informational",
"trendYearOverYearPct": 0,
"competitorCount": 1,
"bestPosition": 5,
"bestCompetitor": "seriouseats.com",
"bestUrl": "https://www.seriouseats.com/best-tiramisu-recipe",
"competitors": [
{
"domain": "seriouseats.com",
"position": 5,
"url": "https://www.seriouseats.com/best-tiramisu-recipe",
"estimatedTraffic": 5206
}
],
"location": "United States",
"language": "English",
"fetchedAt": "2026-10-26T12:00:00.000Z"
}

The dataset has a view for each mode, so the table shows the right columns.

FAQ

Where does the data come from?

From DataForSEO Labs, through the DataForSEO API. DataForSEO checks Google results for hundreds of millions of keywords and refreshes the database weekly; search volume and CPC are Google Ads data. This Actor isn't affiliated with, or endorsed by, Google, DataForSEO, Semrush, Ahrefs, or any site named in the examples. Those examples are real output for public websites, used only to show what the data looks like.

How accurate is the estimated traffic?

It's an estimate: the keyword's search volume times the typical click-through rate for that position. It's good for comparing keywords and domains with each other, not for predicting exact visits. Semrush and Ahrefs estimate traffic the same way, and their numbers differ from each other too.

Why does a big site's keyword gap include other brands' names?

Some sites, especially SEO tools, publish a page about every website, so they rank for searches like "kisskh". Google often labels these as informational searches, so the navigational filter doesn't catch them. Compare with competitors in your own market, or raise Min monthly searches and sort by keyword difficulty.

Why does my site have no keywords?

The database covers keywords with measurable search volume where you rank in the top 100. A new or small site may not have any yet, or may rank in another country. Error rows are free.

Do I need a Semrush, Ahrefs or DataForSEO account?

No. You only need an Apify account.

Why is there a new storage in my account?

The Actor keeps this week's lookups in a key-value store called precisionlabs-competitor-keywords-cache in your own account, so repeating a lookup skips the request fee. You can delete it at any time.

Something looks wrong?

Open an issue on the Issues tab with the domain and settings, and we'll look into it.

More from Precision Labs