Keyword Research & SERP Data
Pricing
from $0.75 / 1,000 keyword analyzeds
Keyword Research & SERP Data
Research keywords, search-result data, related terms, and keyword clusters from publicly accessible search intelligence pages.
Pricing
from $0.75 / 1,000 keyword analyzeds
Rating
0.0
(0)
Developer
DataScraperES
Maintained by CommunityActor stats
0
Bookmarked
4
Total users
2
Monthly active users
10 days ago
Last modified
Categories
Share
Research seed keywords and receive market-specific search volume, ranking difficulty, SERP competitors, related opportunities, and topic clusters in export-ready datasets. Start with one keyword and a two-letter market code, then select only the report sections your workflow needs.
What this Actor does
Keyword Research & SERP Data turns up to 25 unique seed terms into structured keyword and search-results intelligence. The default Dataset gives one summary per keyword, while separate datasets hold organic rankings, keyword ideas, clusters, and paid SERP history for detailed analysis.
Use cases
- Build and prioritize SEO content plans with volume and difficulty signals.
- Discover related keywords and high-priority opportunities around seed topics.
- Review organic competitors, top-ranking domains, and SERP features.
- Group keyword ideas into topics for briefs, site architecture, or campaigns.
How to use
- Open the Actor in Apify Console.
- Add one or more seed keywords, choose the market, and select report sections.
- Click Start and open the Dataset when the run finishes.
Input
keywords is required and accepts up to 25 unique terms; blanks and duplicates are removed. countryCode defaults to ES and expects a two-letter market code such as ES, US, or UK. sections defaults to serp, stats, suggestions, related, and clusters. relatedLimit defaults to 5 and allows 1–100 rows per related source; serpRows defaults to 30 and allows 1–100 organic rows. topDomain is used only with top_url. delaySeconds ranges from 0 to 30, and continueOnError defaults to true.
{"keywords": ["seo"],"countryCode": "ES","sections": ["serp","stats","suggestions","related","clusters"],"relatedLimit": 5,"serpRows": 10,"delaySeconds": 0,"continueOnError": true}
Output
The default Dataset contains one keyword-level report. Additional named datasets provide row-level organic SERP results, keyword opportunities, clusters, and paid history when those sections return data. The sectionsWithData array shows exactly which sources produced usable information.
This is the complete default Dataset item from a real successful run:
{"keyword": "seo","countryCode": "ES","ok": true,"sectionsRequested": ["serp","stats","suggestions","related","clusters"],"sectionsWithData": ["organic_serp","paid_serp_history","keyword_stats","suggestions","related_keywords","keyword_clusters","keyword_group_stats"],"liveSearchVolume": 39700,"rankingDifficulty": 17,"paidCompetitors": 99,"serpFeatures": "Knowledge Panel,People Also Ask,Videos","topOrganicResult": "seo.org","organicResultCount": 10,"keywordIdeaCount": 25,"highPriorityOpportunityCount": 13,"clusterCount": 5,"paidHistoryCount": 4,"errorCode": null,"errorMessage": null}
Pricing
Each successful keyword analysis written to the Dataset triggers one keyword-analyzed event. Apify selects the tier from your account plan automatically.
| Apify plan tier | Price per keyword | Equivalent per 1,000 keywords |
|---|---|---|
| Free | $0.001 | $1.00 |
| Bronze | $0.0009 | $0.90 |
| Silver | $0.0008 | $0.80 |
| Gold | $0.00075 | $0.75 |
| Platinum | $0.00075 | $0.75 |
| Diamond | $0.00075 | $0.75 |
There is no separate Actor-start charge. Failed keyword rows and requested sections that return no usable data do not trigger the event. You can set a maximum total charge in Apify before starting a run.
Related Actors
| Actor | Best for |
|---|---|
| Google SERP Scraper API – Search Results Scraper | Collecting ranked Google organic results for a focused list of queries. |
| Bing Search Scraper – SERP Results | Comparing keyword visibility and competitors in Bing across supported markets. |
| Yahoo Search Results Scraper | Exporting paginated Yahoo organic results for keyword monitoring. |
| DuckDuckGo Search Scraper — Organic SERP API | Measuring privacy-focused organic results across DuckDuckGo regions. |
Limits and data quality
Each run accepts at most 25 unique seed keywords. Search volume, difficulty, competitors, paid history, and SERP composition are market-specific snapshots and can change between runs. A requested section can legitimately return no rows; use sectionsWithData and the count fields instead of assuming every section is populated. The upstream source may return fewer organic or related rows than requested. For temporary rate limits or incomplete large batches, retry affected keywords with a small delaySeconds value.
Frequently asked questions
Which country code should I use for the United Kingdom?
Use UK, not GB, as specified by the Actor's market input.
Why are some counts zero even though the run succeeded?
Success means the keyword report completed. Individual sections can still have no available data for that keyword and market.
When should I use topDomain?
Use it only when top_url is included in sections; enter a bare domain without protocol, path, or spaces.
Responsible use
Use search intelligence responsibly and comply with applicable laws, contractual requirements, and third-party rights. Metrics are estimates and snapshots; validate important business decisions with additional evidence.
Support
Open the Actor's Issues tab with the run ID, exact input, affected keyword and market, requested sections, and the expected versus actual result.
