SEMrush Content Gap Analysis - Find Missing Keywords
Pricing
from $0.01 / 1,000 results
SEMrush Content Gap Analysis - Find Missing Keywords
Find content gaps with live SEMrush data. No key needed: built-in access returns up to 10 gap keywords per run, and your own Semrush API key unlocks up to 500. See keywords competitors rank for that you don't, and where you rank lower. Missing Keywords Weak Keywords Untapped Keywords
Pricing
from $0.01 / 1,000 results
Rating
0.0
(0)
Developer
The Howlers
Maintained by CommunityActor stats
0
Bookmarked
6
Total users
0
Monthly active users
4 days ago
Last modified
Categories
Security
Limited permissionsShare
Discover content gaps: keywords your competitors rank for that you don't, and keywords where they outrank you. Live SEMrush data, ranked by opportunity score.
Two ways to run
Built-in access (no key needed). Leave semrushApiKey empty and the actor uses its own SEMrush access. Built-in runs return up to 10 gap keywords per run, and every row carries a _notice field that says so. Add your own Semrush API key for up to 500 keywords.
Your own Semrush API key. Put your key in semrushApiKey and the full keywordLimit applies (up to 500 keywords per run). SEMrush deducts API units from your plan for every keyword line it returns.
Where to get your key: SEMrush → My Profile → API → Subscription Info
Quick Start
Built-in access (up to 10 keywords)
{"yourDomain": "apify.com","competitors": ["zapier.com"],"database": "us","gapType": "missing"}
Your own key (up to 500 keywords)
{"semrushApiKey": "YOUR_API_KEY_HERE","yourDomain": "example.com","competitors": ["competitor1.com","competitor2.com"],"database": "us","gapType": "missing","keywordLimit": 100,"minVolume": 100,"maxDifficulty": 70,"webhookPlatform": "custom"}
Input Parameters
| Parameter | Type | Default | Required | Description |
|---|---|---|---|---|
semrushApiKey | string | - | No | Your own SEMrush API key. Leave empty to use the built-in access (up to 10 keywords per run) |
yourDomain | string | - | Yes | Your domain to analyze gaps for (e.g., yoursite.com) |
competitors | array | - | Yes | Competitor domains to compare against (up to 4) |
database | string | "us" | No | SEMrush database/country to use for data |
gapType | string | "missing" | No | Type of content gap to find |
keywordLimit | integer | 100 | No | Max gap keywords to return: up to 500 with your own key, up to 10 on the built-in access |
minVolume | integer | 100 | No | Filter keywords below this monthly volume |
maxDifficulty | integer | 70 | No | Filter keywords above this difficulty (0-100) |
webhookUrl | string | - | No | Optional webhook URL to send results (Zapier, Make, n8n, or custom) |
webhookPlatform | string | "custom" | No | Select your webhook platform for optimized payload formatting |
demoMode | boolean | false | No | Return labeled sample rows without calling SEMrush |
Pricing
This actor uses pay-per-event billing:
| Event | When it is charged | Price |
|---|---|---|
| Actor start | Once when the run starts, one event per GB of memory (minimum one). At the default 1 GB of memory that is $0.05 per run | $0.05 per GB |
| Gap Analysis Complete | Per analysis | $0.05 |
| Webhook Sent | Per notification | $0.01 |
| Result | Each item written to the default dataset | $0.00001 |
Troubleshooting
Only 10 results
Runs without your own key use the built-in SEMrush access, which returns up to 10 gap keywords per run. Add your own Semrush API key (semrushApiKey) for up to 500 keywords.
Rows marked demo: true
These are sample rows, not real SEMrush data. You get them when no SEMrush key was available for the run, or when the shared key could not serve the request (for example it ran out of API units). Sample runs charge no analysis event and are never sent to your webhook. Add your own semrushApiKey to get live data.
"API error 403" or "Unauthorized"
Your API key is invalid, expired, or doesn't have access to this specific API endpoint. Double-check your key and account permissions.
"API error 429" or "Rate limit"
Too many requests. Wait a minute and try again, or reduce the number of items per run.
No results or empty dataset
Check the run log for error messages. Common causes:
- Invalid input format (check the examples above)
- API key without proper permissions
- The target data doesn't exist or is too small to track
How do I test without an API key?
Leave semrushApiKey empty to get up to 10 live gap keywords on the built-in access. To see the output format without calling SEMrush at all, set demoMode to true: you get labeled sample rows and no analysis event is charged.
Built by John Rippy | Actor Arsenal
