SEO Domain & Keyword Scraper  (Semrush Alternative) avatar

SEO Domain & Keyword Scraper (Semrush Alternative)

Pricing

from $5.00 / 1,000 result rows

Go to Apify Store
SEO Domain & Keyword Scraper  (Semrush Alternative)

SEO Domain & Keyword Scraper (Semrush Alternative)

SEMrush-alternative SEO data: domain overview, ranked keywords, keyword research, competitors & backlinks via the DataForSEO API. MCP/API-ready.

Pricing

from $5.00 / 1,000 result rows

Rating

0.0

(0)

Developer

Khadin Akbar

Khadin Akbar

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

6 days ago

Last modified

Share

SEO Domain & Keyword Scraper (DataForSEO)

Use this Apify Actor to analyze a target domain or a keyword set and return structured SEO rows through Apify datasets and Apify MCP. It accepts one domain for domain-oriented modes, or a list of keywords for keyword-oriented modes. Each returned record represents one SEO result row, while domain overview and backlinks summary modes return one record. The main fields include keyword metrics, ranked URLs, organic competitor overlap, and backlink profile totals, so the output supports research, reporting, and agent-driven workflows.

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_overview for a compact domain-level view of organic and paid keyword totals.
  • Use ranked_keywords when you want the keywords a domain ranks for, plus position and ranked URL.
  • Use keyword_overview when you already have specific terms and want metrics for those exact keywords.
  • Use keyword_ideas when you want related keyword suggestions seeded from one or more phrases.
  • Use competitors when you want organic competitor domains and shared keyword overlap.
  • Use backlinks_summary when you want backlink profile totals for one domain.

SEO Domain & Keyword Scraper (DataForSEO) is designed as a focused standalone workflow.

Practical scenario

Jordan, an SEO specialist, starts with nike.com in domain_overview. The returned record includes organicKeywords, organicEtv, organicTrafficCostUsd, and paidKeywords. Jordan uses those fields to choose the next step: review ranked_keywords for deeper page-level analysis, then export the dataset rows into a reporting sheet for the client team.

Input fields

FieldTypeDescription
modestringSelects the dataset to pull: domain_overview, ranked_keywords, keyword_overview, keyword_ideas, competitors, or backlinks_summary. Defaults to domain_overview.
targetstringDomain to analyze, such as nike.com. Used by domain, ranked keyword, competitor, and backlink modes.
keywordsarray of stringsKeyword phrases for keyword_overview or keyword_ideas.
dataforSeoLoginstringDataForSEO API login email. Stored as a secret.
dataforSeoPasswordstringDataForSEO API password. Stored as a secret.
locationCodeintegerDataForSEO location code for the market. Defaults to 2840 for the United States.
languageCodestringTwo-letter language code such as en. Defaults to en.
maxResultsintegerMaximum rows for list modes. Ignored by domain_overview and backlinks_summary.
includeSerpInfobooleanWhen 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

FieldTypeMeaning
modestringMode used for the returned row.
targetstringDomain analyzed in domain, competitor, or backlink modes.
keywordstringKeyword for keyword-based rows.
searchVolumeintegerSearch volume for the keyword.
cpcnumberCost per click.
competitionnumberCompetition value for the keyword.
competitionLevelstringCompetition level label.
keywordDifficultyintegerKeyword difficulty.
mainIntentstringMain intent for the keyword.
positionintegerOrganic position.
positionAbsoluteintegerAbsolute position.
serpTypestringSERP type.
rankedUrlstringURL ranking for the keyword.
etvnumberEstimated traffic value.
estimatedTrafficCostUsdnumberEstimated traffic cost in USD.
organicKeywordsintegerOrganic keyword count for the target domain.
organicEtvnumberOrganic estimated traffic value.
organicTrafficCostUsdnumberOrganic traffic cost in USD.
paidKeywordsintegerPaid keyword count for the target domain.
competitorDomainstringCompetitor domain returned in competitor mode.
avgPositionnumberAverage position across shared keywords.
intersectionsintegerShared keywords with the target domain.
competitorOrganicKeywordsintegerCompetitor's organic keyword count.
competitorOrganicEtvnumberCompetitor's organic estimated traffic value.
rankintegerBacklink rank.
backlinksintegerBacklink count.
referringDomainsintegerReferring domain count.
referringMainDomainsintegerReferring main domain count.
brokenBacklinksintegerBroken 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.
  • maxResults applies to list modes.
  • includeSerpInfo only affects keyword_overview and keyword_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.

Pricing

This Actor uses Apify Pay per event pricing, plus normal Apify platform usage charges such as storage and compute according to your execution configuration. DataForSEO usage is billed separately on your own DataForSEO account, and Apify platform usage is billed separately as part of your Apify run.

For current rates, open the live Pricing tab on the Actor page.

A simple event-count example: one run with one Actor start event, twelve Result row events, and one Domain/backlink report event is billed on Apify according to those event types, while the DataForSEO API calls are billed on your DataForSEO account.

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.com in ranked_keywords mode 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:

  • results points to the dataset items endpoint for all returned rows.
  • keywordData is the keyword view for keyword overview, keyword ideas, and ranked keyword rows.
  • domainOverview is the domain view for domain-level totals.
  • competitors is the competitor view.
  • backlinks is the backlink view.
  • summary includes the run summary record with mode, result count, Apify charge, and DataForSEO cost.
  • run opens 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 maxResults to bound list outputs.
  • Domain and backlink report modes return one record.
  • When includeSerpInfo is 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_overview for a fast summary before deeper research.
  • Use ranked_keywords to inspect current organic coverage and landing pages.
  • Use keyword_overview for exact terms you already care about.
  • Use keyword_ideas for expansion from seed terms.
  • Use competitors to compare overlap and estimate competitive pressure.
  • Use backlinks_summary for 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.

Focused standalone workflow

SEO Domain & Keyword Scraper (DataForSEO) is designed as a focused standalone workflow for the public input and structured output contract described above.

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.