Keyword & Google SERP Exporter — Semrush Alternative avatar

Keyword & Google SERP Exporter — Semrush Alternative

Pricing

from $50.00 / 1,000 normalized seo records

Go to Apify Store
Keyword & Google SERP Exporter — Semrush Alternative

Keyword & Google SERP Exporter — Semrush Alternative

Export domain organic keywords, Google SERP results, or keyword metrics using your DataForSEO credentials. Get normalized rows with ranks, URLs, volume, CPC, source context, and timestamps; provider usage is billed separately.

Pricing

from $50.00 / 1,000 normalized seo records

Rating

0.0

(0)

Developer

Khadin Akbar

Khadin Akbar

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

11 hours ago

Last modified

Share

Export domain organic keywords, Google SERP results, or keyword metrics using your DataForSEO credentials. Get normalized rows with ranks, URLs, volume, CPC, source context, and timestamps; provider usage is billed separately. For SEO data teams, each dataset record is a domain keyword, organic SERP result, or keyword-metrics row from the chosen report.

Workflow: put the results to work

Choose domain keywords, current Google results, or keyword metrics for the specific research step. Supply DataForSEO credentials and consistent location-language settings. Export the normalized rows with their source context before using them in a report or a separate rank-monitoring workflow.

Best fit and focused standalone workflow

Choose this Actor when you need a DataForSEO-backed alternative for domain keyword research, Google SERP collection, or keyword-difficulty analysis in an Apify workflow. Use it for teams that export source-backed SEO rows into a dashboard, content brief, or monitoring system.

After selecting keywords, continue with a dedicated rank-tracking workflow for recurring target-domain measurements. This Actor focuses on research snapshots and preserves the source and provider context needed before downstream analysis.

Workflow: from domain research to a content decision

An agency starts with domain_organic_keywords for a client domain, DataForSEO location code 2840, and language code en. The run returns keyword, ranking position, volume, CPC, ranking URL, estimated traffic metrics, and keyword difficulty where the provider returns them. Next, the strategist exports the rows, prioritizes terms by position and volume, and feeds the focused list into a content brief or scheduled rank-monitoring workflow.

Quick start and input

Provide the secret dataforSeoLogin and dataforSeoPassword fields from the DataForSEO API access page. They are used only in the provider authorization header and never appear in the dataset, OUTPUT, RUN_SUMMARY, or status messages. DataForSEO usage is billed on the credential owner's provider account.

{
"dataforSeoLogin": "YOUR_DATAFORSEO_LOGIN",
"dataforSeoPassword": "YOUR_DATAFORSEO_PASSWORD",
"mode": "domain_organic_keywords",
"domains": ["example.com"],
"locationCode": 2840,
"languageCode": "en",
"maxResults": 10
}

keyword_serp accepts keywords and returns Google organic result rows. keyword_difficulty accepts keywords and returns the available DataForSEO keyword overview metrics, including difficulty where provided. The Actor processes at most 20 unique inputs and writes at most 20 billable records per run.

Output

Each dataset item is a stable record. Fields that a selected DataForSEO report does not provide are null.

FieldMeaning
recordTypeSelected research report.
querySubmitted domain or keyword.
keywordKeyword returned by DataForSEO.
position / urlObserved ranking position and URL when the report provides them.
searchVolume / keywordDifficultyDataForSEO keyword metrics when available.
locationCode / languageCodeProvider market context.
providerTaskId / requestedAtProvider provenance and collection time.
{
"recordType": "domain_organic_keywords",
"query": "example.com",
"locationCode": 2840,
"languageCode": "en",
"keyword": "technical seo",
"position": 3,
"searchVolume": 1200,
"cpc": 2.5,
"url": "https://example.com/seo",
"keywordDifficulty": 67,
"source": "DataForSEO",
"providerTaskId": "01234567-89ab-cdef-0123-456789abcdef",
"requestedAt": "2026-08-10T12:00:00.000Z"
}

Every run writes OUTPUT and RUN_SUMMARY. They expose the terminal outcome, row counts, provider-safe diagnostics, source provenance, and event counts without exposing credentials.

{
"outcome": "COMPLETE",
"message": "Returned 10 DataForSEO record(s); Apify events: 10 ($0.50), plus DataForSEO and platform usage.",
"itemsPushed": 10,
"itemsFailed": 0,
"invalidRecords": 0,
"chargedEventCounts": { "seo-record": 10 },
"warnings": []
}

Run through the Apify API

curl -X POST "https://api.apify.com/v2/acts/khadinakbar~semrush-api-scraper/runs?token=YOUR_APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"dataforSeoLogin": "YOUR_DATAFORSEO_LOGIN",
"dataforSeoPassword": "YOUR_DATAFORSEO_PASSWORD",
"mode": "keyword_difficulty",
"keywords": ["technical seo"],
"locationCode": 2840,
"languageCode": "en",
"maxResults": 10
}'

AI-agent prompt

Review the Pricing tab for current event rates. Total run cost includes the events actually charged and Apify platform usage; any separately billed provider access is described in the input and data-access guidance.

For an AI agent workflow, read the default dataset after the run and use OUTPUT.outcome before downstream work. COMPLETE, PARTIAL, VALID_EMPTY, and INVALID_INPUT distinguish the available report state; RUN_SUMMARY supplies query-level provider provenance and safe diagnostics.

Best-results guidance

Start with one domain or a small keyword list and a specific DataForSEO location and language pair. Confirm the rows are useful in the returned dataset, then schedule the same bounded input for recurring analysis. This keeps the source, provider task, collection time, request scope, and event cost clear for each export.

Builder's note

I designed this revision around DataForSEO's live report contracts so the Actor can return stable automation-ready records without collecting a Semrush account session. My goal is a clear provider boundary: a complete validated row is persisted before its seo-record event is counted.

Responsible use

Use DataForSEO credentials and data that your organization is authorized to access, and apply provider terms of service and applicable laws to downstream processing. This independent Actor is designed for responsible provider-backed collection and is not affiliated with Semrush or DataForSEO.

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.

EventBilling unitWhen it applies
apify-actor-startActor StartCharged when the Actor starts running. Number of events charged depends on Actor memory (one event per GB, minimum one event).
seo-recordNormalized SEO recordOne fully validated DataForSEO row persisted in the dataset. DataForSEO usage remains on the credential owner account.

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.

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.

Example agent request

Export domain organic keywords, Google SERP results, or keyword metrics using your DataForSEO credentials. Use the inputs I supply, confirm the result limit, and return the available results with their source context and any partial or missing-data outcome.