Home / Tools / Keyword Gap & Opportunity Report
Keyword data
Keyword Gap & Opportunity Report
Keywords up to 3 competitors rank for on Google and your client's domain doesn't: volume, difficulty, intent, competing URLs and why each was picked. Top 20 re-checked on the live Google top 10. CSV-ready dataset + HTML report. One flat price per report.
- Price: $9 per keyword gap report
- Works with: Apify Console, REST API, Python, JavaScript, MCP (Claude, Cursor, VS Code), n8n, Make, Zapier
- Last updated: 2026-10-28
Output fields
From the Actor's dataset schema. Every row has the same flat shape, so it drops straight into a spreadsheet, a database or an agent's context.
| Field | Type | Description |
|---|---|---|
rank | integer | Position in this report (live-confirmed gaps first, then by opportunity score) |
keyword | string | Keyword at least one competitor ranks for on Google and the client domain does not |
opportunity_score | number | 0-100: 25% demand, 20% ease (100 - KD), 20% topic fit, 15% competitor overlap, 10% intent, 10% best competitor position |
search_volume | integer | Average monthly Google searches (Google Ads data). null = unavailable |
search_volume_status | string | measured, zero (Google reports no searches) or unavailable (no value; not the same as zero) |
search_volume_month | string | Latest month covered by the volume data (YYYY-MM) |
cpc_usd | number | Average Google Ads cost per click, USD |
competition_level | string | Google Ads competition: LOW, MEDIUM, HIGH |
topic_fit | number | 0-1: share of the keyword's words found on the client's homepage (title, headings, links). null = site could not be read |
topic_fit_status | string | measured or unavailable |
keyword_difficulty | integer | Keyword difficulty 0-100. null = unavailable |
keyword_difficulty_status | string | measured or unavailable |
search_intent | string | Main intent: informational, commercial, transactional, navigational |
search_intent_status | string | measured or unavailable |
competitors_ranking | integer | How many of the competitors rank for the keyword (database) |
competitor_positions | string | Each ranking competitor with its Google position, e.g. 'zendesk.com #4; intercom.com #7' |
best_competitor | string | Competitor with the best position |
best_competitor_position | integer | That competitor's Google position (database) |
best_competitor_url | string | The competitor page that ranks |
competing_urls | string | All ranking competitor URLs, separated with ' | ' |
competitor_traffic_estimate | integer | Modeled monthly visits competitors get from the keyword (provider estimate) |
serp_features_labs | string | SERP features seen in the database snapshot (AI Overview, People Also Ask, ...) |
selection_reasons | string | Why the keyword was picked, in plain language, separated with '; ' |
live_checked | boolean | Whether the keyword was re-checked on the live Google top 10 |
Pricing
Pay per result, billed by Apify. No subscription and no minimum. Discount tiers apply automatically on paid Apify plans.
| Event | Free plan | Bronze | Silver | Gold |
|---|---|---|---|---|
| Keyword gap report main One completed report: up to 3 competitors, up to 300 gap keywords with volume, difficulty, intent, competing URLs and selection reasons, the top 20 re-checked on the live Google top 10, CSV dataset and HTML report. Not charged if any competitor fails or nothing matches the filters. | $9 | $9 | $9 | $9 |
Example input
This is the prefilled input on the Store page. Keep it and click Start to see real data in seconds.
{
"clientDomain": "helpscout.com",
"competitors": [
"zendesk.com",
"freshworks.com",
"intercom.com"
],
"location": "United States",
"language": "English"
}Use it from code, no-code or an AI agent
cURL (one request, returns rows)
curl -X POST \
"https://api.apify.com/v2/acts/wrenfield-data~keyword-gap-report/run-sync-get-dataset-items" \
-H "Authorization: Bearer $APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"clientDomain": "helpscout.com", "competitors": ["zendesk.com", "freshworks.com", "intercom.com"], "location": "United States", "language": "English"}'Python
# pip install apify-client
import os
from apify_client import ApifyClient
client = ApifyClient(os.environ["APIFY_TOKEN"])
run = client.actor("wrenfield-data/keyword-gap-report").call(
run_input={
"clientDomain": "helpscout.com",
"competitors": [
"zendesk.com",
"freshworks.com",
"intercom.com"
],
"location": "United States",
"language": "English"
},
max_total_charge_usd=1.00, # hard cap for this run
)
for row in client.dataset(run["defaultDatasetId"]).iterate_items():
print(row)JavaScript / Node
// npm i apify-client
import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('wrenfield-data/keyword-gap-report').call({
"clientDomain": "helpscout.com",
"competitors": [
"zendesk.com",
"freshworks.com",
"intercom.com"
],
"location": "United States",
"language": "English"
}, { maxTotalChargeUsd: 1 });
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);MCP (Claude, Cursor, VS Code, any MCP client)
{
"mcpServers": {
"wrenfield-keyword-gap-report": {
"url": "https://mcp.apify.com?tools=wrenfield-data/keyword-gap-report"
}
}
}Remote MCP server hosted by Apify. Sign in with OAuth on first use, or send Authorization: Bearer <APIFY_TOKEN>. The tool appears as wrenfield-data--keyword-gap-report. More client setups on the MCP page.
n8n, Make, Zapier
Use the official Apify node or app, pick Run Actor, enter wrenfield-data/keyword-gap-report and paste the input JSON above. Then read the run's dataset items. Ready-made n8n workflows are on the n8n templates page.
For AI agents and code generators: this page as Markdown ยท OpenAPI 3 spec (run, run-sync and dataset endpoints).
FAQ
How much does Keyword Gap cost?
$9 per keyword gap report on the Apify Free plan, billed per result by Apify with no subscription. Higher Apify plans get the discounted tiers shown in the pricing table. You can cap any run with a maximum cost.
Related tools
Keyword Search Volume
Google Keyword Planner volume, CPC, competition and 12-month trends, no Ads account.
Keyword Research Tool
Keyword ideas with volume, KD, intent and SERP features in one row.
Competitor Keywords
Every keyword a domain ranks for, with position, volume and traffic.
Keyword Difficulty Checker
KD 0-100 and search intent for thousands of keywords at once.
Google Autocomplete Expander
Long-tail and question keywords from Google and YouTube suggestions.
People Also Ask Scraper
PAA question trees, related searches and AI Overview text.
Compare and plan
Try Keyword Gap & Opportunity Report now
Open it on Apify, keep the prefilled example and click Start. The Apify Free plan includes $5 of monthly credit, no card needed.
Open on Apify