Domain Keyword Analyzer — Semrush Alternative
Pricing
from $5.00 / 1,000 result rows
Domain Keyword Analyzer — Semrush Alternative
Analyze domain keywords, ranked URLs, competitors, and backlink totals using your DataForSEO credentials. Export overview or detail rows with search metrics and provenance for SEO reports and keyword planning.
Pricing
from $5.00 / 1,000 result rows
Rating
0.0
(0)
Developer
Khadin Akbar
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Analyze domain keywords, ranked URLs, competitors, and backlink totals using your DataForSEO credentials. Export overview or detail rows with search metrics and provenance for SEO reports and keyword planning. For SEO reporting teams, detail modes return one dataset row per result, while overview and backlink-summary modes return aggregate records.
Workflow: put the results to work
Select domain_overview for the summary, ranked_keywords for positions and URLs, or competitors for overlapping domains. Use keyword modes when the starting point is a phrase list. Keep the provider credentials, report type, market, and cost context explicit when connecting this export to another system.
Best fit and connected workflows
This Actor fits workflows that begin with a domain audit, keyword research task, competitor review, or backlink snapshot and then continue into a dataset, spreadsheet, dashboard, or agent summary.
Typical routing:
- Start with
domain_overviewfor a compact domain-level view of organic and paid keyword totals. - Use
ranked_keywordswhen you want the keywords a domain ranks for, plus position and ranked URL. - Use
keyword_overviewwhen you already have specific terms and want metrics for those exact keywords. - Use
keyword_ideaswhen you want related keyword suggestions seeded from one or more phrases. - Use
competitorswhen you want organic competitor domains and shared keyword overlap. - Use
backlinks_summarywhen you want backlink profile totals for one domain.
SEO Domain & Keyword Scraper (DataForSEO) is designed as a focused workflow.
Input fields
| Field | Type | Description |
|---|---|---|
mode | string | Selects the dataset to pull: domain_overview, ranked_keywords, keyword_overview, keyword_ideas, competitors, or backlinks_summary. Defaults to domain_overview. |
target | string | Domain to analyze, such as nike.com. Used by domain, ranked keyword, competitor, and backlink modes. |
keywords | array of strings | Keyword phrases for keyword_overview or keyword_ideas. |
dataforSeoLogin | string | DataForSEO API login email. Stored as a secret. |
dataforSeoPassword | string | DataForSEO API password. Stored as a secret. |
locationCode | integer | DataForSEO location code for the market. Defaults to 2840 for the United States. |
languageCode | string | Two-letter language code such as en. Defaults to en. |
maxResults | integer | Maximum rows for list modes. Ignored by domain_overview and backlinks_summary. |
includeSerpInfo | boolean | When enabled, keyword overview and keyword ideas also request SERP feature data. |
Focused input example
{"mode": "keyword_ideas","keywords": ["running shoes", "marathon training"],"locationCode": 2840,"languageCode": "en","maxResults": 50,"includeSerpInfo": true,"dataforSeoLogin": "you@example.com","dataforSeoPassword": "your-dataforseo-api-password"}
Output fields
| Field | Type | Meaning |
|---|---|---|
mode | string | Mode used for the returned row. |
target | string | Domain analyzed in domain, competitor, or backlink modes. |
keyword | string | Keyword for keyword-based rows. |
searchVolume | integer | Search volume for the keyword. |
cpc | number | Cost per click. |
competition | number | Competition value for the keyword. |
competitionLevel | string | Competition level label. |
keywordDifficulty | integer | Keyword difficulty. |
mainIntent | string | Main intent for the keyword. |
position | integer | Organic position. |
positionAbsolute | integer | Absolute position. |
serpType | string | SERP type. |
rankedUrl | string | URL ranking for the keyword. |
etv | number | Estimated traffic value. |
estimatedTrafficCostUsd | number | Estimated traffic cost in USD. |
organicKeywords | integer | Organic keyword count for the target domain. |
organicEtv | number | Organic estimated traffic value. |
organicTrafficCostUsd | number | Organic traffic cost in USD. |
paidKeywords | integer | Paid keyword count for the target domain. |
competitorDomain | string | Competitor domain returned in competitor mode. |
avgPosition | number | Average position across shared keywords. |
intersections | integer | Shared keywords with the target domain. |
competitorOrganicKeywords | integer | Competitor's organic keyword count. |
competitorOrganicEtv | number | Competitor's organic estimated traffic value. |
rank | integer | Backlink rank. |
backlinks | integer | Backlink count. |
referringDomains | integer | Referring domain count. |
referringMainDomains | integer | Referring main domain count. |
brokenBacklinks | integer | Broken backlink count. |
Illustrative output record
{"mode": "ranked_keywords","target": "nike.com","keyword": "running shoes","searchVolume": 823000,"cpc": 0.74,"competition": 0.42,"keywordDifficulty": 91,"mainIntent": "informational","position": 1,"serpType": "organic","rankedUrl": "https://www.nike.com/","etv": 248300.5}
How it works
The Actor sends your selected mode and inputs to the matching DataForSEO dataset path.
- Domain modes return a single report record.
- Keyword, competitor, and ranked keyword modes return multiple rows.
maxResultsapplies to list modes.includeSerpInfoonly affectskeyword_overviewandkeyword_ideas.- Results are written to the Apify dataset.
- A run summary is written to the default key-value store under
OUTPUT.
The dataset also includes views for keyword data, domain overview, competitors, and backlinks, which makes the returned rows easier to inspect by use case.
Use with AI agents (MCP)
This Actor is available through Apify MCP as a tool for fetching structured SEO data from the exact Actor identity khadinakbar/seo-domain-keyword-scraper.
Tool description: request a domain or keyword set, and the Actor returns SEO metrics as dataset rows that an agent can read, summarize, or pass into another workflow.
Analyze
nike.cominranked_keywordsmode for the US market and return the top 20 rows. Include keyword metrics, ranking position, and ranked URL. Then summarize the main intent patterns from the returned dataset.
Output interpretation:
resultspoints to the dataset items endpoint for all returned rows.keywordDatais the keyword view for keyword overview, keyword ideas, and ranked keyword rows.domainOverviewis the domain view for domain-level totals.competitorsis the competitor view.backlinksis the backlink view.summaryincludes the run summary record with mode, result count, Apify charge, and DataForSEO cost.runopens the Apify Console run page for logs and storage links.
Provenance and scope:
- The data comes from the DataForSEO API through this Actor.
- Results reflect the selected mode, target, location, language, and keyword inputs.
- Keyword modes use the provided keyword list, while domain modes use the target domain.
Pagination and cost guidance:
- Use
maxResultsto bound list outputs. - Domain and backlink report modes return one record.
- When
includeSerpInfois enabled, keyword overview and keyword ideas also request SERP feature data and use more DataForSEO API resources.
Apify API example
import { ApifyClient } from "apify-client";const client = new ApifyClient({token: process.env.APIFY_TOKEN,});const actor = client.actor("khadinakbar/seo-domain-keyword-scraper");const run = await actor.call({mode: "domain_overview",target: "nike.com",locationCode: 2840,languageCode: "en",dataforSeoLogin: process.env.DATAFORSEO_LOGIN,dataforSeoPassword: process.env.DATAFORSEO_PASSWORD,});const datasetId = run.defaultDatasetId;const { items } = await client.dataset(datasetId).listItems();console.log(items);
Best results and outcome guidance
Start with the mode that matches the decision you want to make.
- Use
domain_overviewfor a fast summary before deeper research. - Use
ranked_keywordsto inspect current organic coverage and landing pages. - Use
keyword_overviewfor exact terms you already care about. - Use
keyword_ideasfor expansion from seed terms. - Use
competitorsto compare overlap and estimate competitive pressure. - Use
backlinks_summaryfor a backlink snapshot tied to one domain.
The most useful inputs are a clean domain, a matching locationCode, and a languageCode aligned with that market. For keyword modes, keep the keyword list focused on the exact phrases you want analyzed.
Continue the workflow
- Then use Website Uptime Monitor for SSL and Content to extend SEO Domain & Keyword Scraper (DataForSEO) with a neighboring search visibility work source when the brief calls for Website data.
- Then use ⚡ Google SERP Scraper — Affordable & Complete SERP API to extend SEO Domain & Keyword Scraper (DataForSEO) with a neighboring search visibility work source when the brief calls for Google Serp data.
Design note
I found that the live dataset contract separates report views from row-based views: domain_overview and backlinks_summary map to single-record outputs, while keyword and competitor modes map to multi-row datasets.
FAQ
Can I use this Actor for a domain audit and keyword research in the same workflow?
Yes. A common path is domain_overview first, then ranked_keywords, competitors, or backlinks_summary for follow-up analysis.
Which input should I use for keyword metrics?
Use keywords with keyword_overview or keyword_ideas. The target field is for domain-oriented modes.
How do competitor rows relate to the target domain?
Each competitor row includes the competitor domain plus shared keywords and overlap metrics tied to the selected target.
Where do I find the returned rows after the execution finishes?
Open the dataset via the results link, or read the dataset items through the Apify API from defaultDatasetId.
Is this Actor usable through Apify MCP?
Yes. It is an Apify Actor that can be called through Apify MCP as part of an agent workflow.
Responsible use
Use this Actor with DataForSEO credentials that you control and in line with your DataForSEO agreement. Review the selected mode before each run so the output matches the analysis you want. Keep keyword lists and target domains relevant to the market you are studying, and store secrets in the dedicated secret fields.
Pricing and run costs
This Actor uses Pay per event plus Apify platform usage. The Pricing tab lists the current event rates and billing terms.
| Event | Billing unit | When it applies |
|---|---|---|
result | Result row | Charged per keyword, competitor, or ranked-keyword row returned. |
report | Domain/backlink report | Charged per single-object report (domain overview or backlinks summary). |
apify-actor-start | Actor Start | Charged when the Actor starts running. Number of events charged depends on Actor memory (one event per GB, minimum one event). |
Run cost combines the charged events and Apify platform usage. Your data-provider account may incur separate charges; eligible provider access is required. Review the run charge limit and requested result count before starting.
Independent alternative
This Actor provides the specific workflow described above. It is not affiliated with or endorsed by Semrush; the named product and its trademarks belong to their respective owners.
Connect an AI agent
Use the Apify MCP configurator to choose an available client connection. Inspect this Actor’s current input schema and required credentials before running it.