Keyword Research API — Ahrefs / SEMRush / Moz Alternative
Pricing
from $10.00 / 1,000 keyword research results
Keyword Research API — Ahrefs / SEMRush / Moz Alternative
Discover keyword ideas or Google Ads search-volume metrics from bounded seed keywords. Returns normalized, source-provenanced rows with explicit cost and terminal outcomes.
Pricing
from $10.00 / 1,000 keyword research results
Rating
0.0
(0)
Developer
Khadin Akbar
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
2 days ago
Last modified
Categories
Share
Keyword Research Tool — DataForSEO API
Discover Google keyword ideas or retrieve Google Ads search-volume metrics from a bounded seed list. This private Actor uses the documented DataForSEO API, returns one normalized dataset row per delivered keyword, and records the request endpoint, provider task ID, and collection time on every row.
Best fit
Use this for SEO teams that need a reproducible keyword-research export inside an Apify workflow. Choose keyword_ideas to expand a topic into related phrases, or search_volume to evaluate a known shortlist with Google Ads volume, CPC, and competition data.
Use when you have one to ten seed phrases and need a bounded, provider-provenanced keyword dataset for planning or automation. Avoid when you need observed SERP positions, a domain's organic-keyword inventory, live Google result scraping, or a ranking guarantee; this Actor is keyword research, not rank tracking or site auditing.
For observed Google SERP positions, pair the selected research keywords with the Keyword Rank Tracker. Treat modeled search volume, CPC, difficulty, and intent as planning context alongside first-party analytics.
Inputs
| Input | Use |
|---|---|
mode | keyword_ideas for related terms, search_volume for supplied keywords. |
seedKeywords | One to ten seed phrases; duplicates and blanks are removed. |
locationCode / languageCode | DataForSEO market context; default is US English (2840, en). |
maxResults | Bounded output cap from 1–50; default 25. |
minSearchVolume | Optional post-response filter; it does not change provider coverage. |
includeSerpInfo | Adds available SERP features for keyword ideas; default false. |
Quick start
Discover keyword ideas
{"mode": "keyword_ideas","seedKeywords": ["keyword research"],"locationCode": 2840,"languageCode": "en","maxResults": 25,"minSearchVolume": 100,"includeSerpInfo": false}
Example: evaluate a known shortlist
{"mode": "search_volume","seedKeywords": ["keyword research", "keyword research tool"],"locationCode": 2840,"languageCode": "en","maxResults": 10}
Output
Each dataset row has a stable, agent-readable shape: keyword, searchVolume, monthlySearches, cpcUsd, competition, competitionLevel, keywordDifficulty, searchIntent, serpFeatures, market context, and provenance.
{"mode": "keyword_ideas","keyword": "keyword research tools","seedKeywords": ["keyword research"],"searchVolume": 1200,"keywordDifficulty": 32,"searchIntent": "commercial","locationCode": 2840,"languageCode": "en","provenance": {"source": "DataForSEO API v3","endpoint": "dataforseo_labs/google/keyword_ideas/live"}}
Read OUTPUT for the compact terminal outcome and RUN_SUMMARY for provider attempts, provider cost, request context, and warnings. COMPLETE means all normalized rows persisted; PARTIAL preserves useful rows; VALID_EMPTY means a valid provider response had no matching rows; INVALID_INPUT, CONFIG_ERROR, and UPSTREAM_FAILED explain non-success states honestly.
Verification and freshness
The DataForSEO request/response contract, row schema, and billed-event parity were last verified against private Apify build 1.0.4 on 2026-08-10 using 20 distinct cloud runs, including both supported endpoints and terminal-record readback.
Pricing and cost boundary
This Actor uses Pay per event + platform usage. Apify charges $0.01 per validated keyword-research-result persisted, plus a $0.00005 Actor-start event; check the live Pricing tab for the effective current prices and usage terms. DataForSEO charges the provider account separately per request; each run reports the provider-reported cost in RUN_SUMMARY.providerCostUsd.
Start with one seed and maxResults: 10 when validating an account. The Actor never sends an unbounded query and caps dataset output at 50 rows. DataForSEO’s Google Ads search-volume API accepts up to 1,000 keywords per request, while this Actor deliberately uses a smaller cap for predictable evidence and billing. DataForSEO Google Ads Search Volume
API and agent workflow
curl -X POST "https://api.apify.com/v2/acts/khadinakbar~dataforseo-keyword-research/runs" \-H "Authorization: Bearer $APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"mode":"keyword_ideas","seedKeywords":["keyword research"],"locationCode":2840,"languageCode":"en","maxResults":25}'
MCP prompt
Run
khadinakbar/dataforseo-keyword-researchto find US-English keyword ideas forkeyword research. Return the top 25 rows with keyword, searchVolume, keywordDifficulty, cpcUsd, searchIntent, provenance, and theOUTPUToutcome. Read thekeyword_researchdataset view, useRUN_SUMMARYfor provider cost, and tightenmaxResultswhen a smaller response is useful.
Limits and responsible use
DataForSEO metrics are provider estimates whose scope depends on the selected location, language, endpoint, and provider freshness. Keep credentials in Actor secrets or private input; they are used only for the provider authorization header and are never written to output. Use only a DataForSEO account you are authorized to access and follow its terms and your organization’s data-retention requirements.
Builder's note
I built this around DataForSEO's separate keyword-ideas and Google Ads search-volume endpoints because they have different data semantics and billing surfaces. Each row carries the endpoint and provider task ID, while the output cap ties useful persisted data to a predictable Apify event. The terminal contract keeps completed research, valid empty responses, configuration setup, and provider availability visible to users and agents.