Keyword & Google SERP Exporter — Semrush Alternative
Pricing
from $50.00 / 1,000 normalized seo records
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
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
11 hours ago
Last modified
Categories
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.
| Field | Meaning |
|---|---|
recordType | Selected research report. |
query | Submitted domain or keyword. |
keyword | Keyword returned by DataForSEO. |
position / url | Observed ranking position and URL when the report provides them. |
searchVolume / keywordDifficulty | DataForSEO keyword metrics when available. |
locationCode / languageCode | Provider market context. |
providerTaskId / requestedAt | Provider 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.
| Event | Billing unit | When it applies |
|---|---|---|
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). |
seo-record | Normalized SEO record | One 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.
