SEO Competitor Analyzer — Semrush Alternative avatar

SEO Competitor Analyzer — Semrush Alternative

Pricing

from $10.00 / 1,000 seo records

Go to Apify Store
SEO Competitor Analyzer — Semrush Alternative

SEO Competitor Analyzer — Semrush Alternative

Analyze SEO competitors from domains or seed keywords. Export organic keywords, competing domains, volume, CPC, difficulty, ranking URLs, and backlink context for repeatable competitive-research reports.

Pricing

from $10.00 / 1,000 seo records

Rating

0.0

(0)

Developer

Khadin Akbar

Khadin Akbar

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

2 days ago

Last modified

Share

Analyze SEO competitors from domains or seed keywords. Export organic keywords, competing domains, volume, CPC, difficulty, ranking URLs, and backlink context for repeatable competitive-research reports. For competitive-research teams, the dataset returns the selected domain overview or detailed keyword, competitor, and backlink records.

Workflow: put the results to work

Use the domain overview to establish the competitor's search footprint, then explore competing domains or organic keywords. Turn the selected rows into a focused competitive report and retain market settings for comparison. Review modeled metrics alongside the ranking evidence.

This Apify Actor helps SEO teams, analysts, and AI agents turn a domain or seed keywords into Semrush-style SEO reports. It accepts a domain or URL for domain overview, organic keywords, competitors, and backlinks, plus keyword lists for keyword overview and keyword ideas. One dataset record represents one domain, keyword, competitor, or backlink row. Valuable fields include organicTraffic, organicKeywordCount, searchVolume, rank, backlinks, referringDomains, rankScore, anchor, and sourceUrl. The outcome is a structured dataset that is easy to review, export, or pass to an Apify MCP workflow.

Best fit and connected workflows

This Actor fits workflows where the next step needs structured SEO intelligence rather than raw page HTML.

  • Use domain_overview for a quick domain snapshot with organic traffic, keyword count, and backlink summary.
  • Use organic_keywords to review the keywords a domain ranks for, along with volume, CPC, difficulty, intent, and rank.
  • Use competitors to surface overlapping domains for market mapping.
  • Use keyword_overview to score seed phrases.
  • Use keyword_ideas to expand seeds into a broader list.
  • Use backlinks to review referring URLs, anchors, and dofollow signals.

How this workflow compares with Semrush

DecisionThis ActorSemrushSuitable fit
ScopeSix bounded domain, keyword, competitor, and backlink report modesA broader SEO product experience with its own interface and product workflowsUse this Actor for focused, programmable reports; use Semrush when the broader product experience is central to the work
Starting pointA domain, URL, or seed-keyword list supplied for one selected modeInputs and projects managed inside the Semrush productUse this Actor when the starting information already exists in an automated workflow
OutputStructured Apify dataset rows plus OUTPUT and RUN_SUMMARYOutput presented through Semrush's own product surfacesUse this Actor when dataset export, API readback, or Actor chaining is required
BillingPay per event plus Apify platform usage, with current terms on the live Pricing tabSemrush's own current commercial termsCompare the current plans against the exact report volume and operating workflow
IntegrationsApify API, dataset exports, schedules, webhooks, and Apify MCPSemrush's broader native product workflowsChoose according to the downstream system that needs the result

This Actor is a focused automation route for the documented reports rather than a representation of Semrush's complete product suite.

Input fields

FieldTypePurpose
modestringSelects the report type. Supported values: domain_overview, organic_keywords, competitors, keyword_overview, keyword_ideas, backlinks.
targetstringDomain or URL to analyze for domain-based and backlink modes. Example: ahrefs.com.
keywordsarray of stringsSeed phrases for keyword_overview and keyword_ideas. Example: ["seo tools"].
locationNamestringCountry for keyword and domain Labs reports. Default: United States.
languageCodestringLanguage code matching the country, such as en, de, or es. Default: en.
maxResultsintegerMaximum rows to write, from 1 to 100. Default: 5.
includeSubdomainsbooleanIncludes subdomain data in organic keyword and backlink summary output. Default: true.
excludeTopDomainsbooleanFilters large generic domains from competitor results. Default: true.

Valid input example

{
"mode": "organic_keywords",
"target": "ahrefs.com",
"locationName": "United States",
"languageCode": "en",
"maxResults": 5,
"includeSubdomains": true
}

Output fields

One dataset item represents one row for the selected report type.

FieldMeaning
modeReport type that produced the row.
targetNormalized domain or page analyzed.
keywordKeyword associated with the row, when present.
domainDomain associated with the row, when present.
locationNameCountry used for the report.
languageCodeLanguage used for the report.
searchVolumeEstimated search volume for a keyword row.
cpcUsdCPC value in USD for a keyword row.
keywordDifficultyDifficulty score for a keyword row.
searchIntentSearch intent label for a keyword row.
rankPosition or rank for the row.
rankingUrlURL associated with the ranking keyword row.
estimatedTrafficEstimated traffic for a keyword row.
organicKeywordCountOrganic keyword count for a domain row.
organicTrafficOrganic traffic estimate for a domain row.
backlinksBacklink count for a domain or backlink summary row.
referringDomainsReferring domain count for a domain or backlink summary row.
rankScoreSEO rank score included in the report.
sourceUrlSource URL for backlink rows.
targetUrlTarget URL for backlink rows.
anchorAnchor text for backlink rows.
dofollowDofollow signal for backlink rows.
sourceProvenance label for the row.
fetchedAtFetch timestamp.
statusRow status.

Illustrative dataset record

{
"mode": "domain_overview",
"target": "ahrefs.com",
"domain": "ahrefs.com",
"locationName": "United States",
"languageCode": "en",
"organicTraffic": 45000,
"organicKeywordCount": 1200,
"backlinks": 9000,
"referringDomains": 1200,
"rankScore": 450,
"source": "semrush_alternative/domain_overview",
"fetchedAt": "2026-08-21T18:00:00.000Z",
"status": "OK"
}

How it works

This Actor uses owner-managed DataForSEO credentials configured in Apify secrets. The selected mode determines the upstream SEO task. Domain modes normalize the target to a hostname, while backlink mode keeps page-level URLs when present. Keyword modes read from the keywords array. Rows are written to the default dataset, and execution metadata is stored in the default key-value store as OUTPUT and RUN_SUMMARY.

Use with AI agents (MCP)

This Actor is available as an Apify Actor usable through Apify MCP. The precise tool behavior is to generate Semrush-style SEO rows for a chosen mode and persist them to the Apify dataset for downstream reading.

Actor identity: khadinakbar/semrush-alternative

Use khadinakbar/semrush-alternative in domain_overview mode for ahrefs.com in the United States. Return the dataset rows and summarize organicTraffic, organicKeywordCount, backlinks, referringDomains, rankScore, source, and fetchedAt. Read the OUTPUT record for outcome and items pushed, then check RUN_SUMMARY for event counts and provider cost.

When interpreting results, treat each dataset row as one SEO record from the selected mode. source and fetchedAt provide provenance and freshness context. Pagination is controlled by maxResults, and keyword modes cap the returned rows accordingly. For cost planning, consider both event counts and Apify platform usage, then review the live Pricing tab before running larger batches.

Apify API example

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({
token: process.env.APIFY_TOKEN,
});
const run = await client.actor('khadinakbar/semrush-alternative').call({
mode: 'organic_keywords',
target: 'ahrefs.com',
locationName: 'United States',
languageCode: 'en',
maxResults: 5,
});
const dataset = await client.dataset(run.defaultDatasetId).listItems();
console.log(dataset.items);
const output = await client.keyValueStore(run.defaultKeyValueStoreId).getRecord('OUTPUT');
console.log(output.value);

Best results and outcome guidance

Use a valid hostname such as ahrefs.com when you need a domain report. Choose keywords for keyword overview or keyword ideas, and keep target for domain and backlink modes. Start with a small maxResults value when you want to inspect the row shape, then increase it for larger exports. includeSubdomains is useful when subdomain coverage matters in keyword and backlink summaries. excludeTopDomains helps competitor research stay closer to market rivals.

Design note

I found that the dataset contract exposes a single shared schema across modes, with rows that may populate different field groups such as keyword metrics, domain metrics, or backlink details. That makes the mode value especially important for interpreting which fields are meaningful in each record.

FAQ

Which mode should I use for a domain snapshot?

Use domain_overview. It returns one domain row with organic traffic estimate, organic keyword count, backlinks, and referring domains.

Which mode works for keyword research from seed phrases?

Use keyword_overview for scoring seed phrases and keyword_ideas for expansion. Both use the keywords input array.

Which mode is the right fit for competitor discovery?

Use competitors. The excludeTopDomains input helps keep the list focused on closer market rivals.

Which mode returns referring URLs and anchors?

Use backlinks. That mode is built around sourceUrl, targetUrl, anchor, dofollow, and related backlink fields.

Can I use this Actor through Apify MCP?

Yes. The Actor is MCP-ready and designed for Apify MCP workflows that read the dataset and the key-value store records after a run.

Responsible use

Semrush is a trademark of its owner. This independent Actor is not affiliated with, associated with, or endorsed by Semrush.

Use this Actor for public SEO research and internal analysis that you are authorized to perform. Review the returned metrics in the context of your own compliance and data-governance process.

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-api-requestSEO API requestCharged once for each successful upstream SEO API task used to build the report.
seo-recordSEO recordCharged once for each validated domain, keyword, competitor, or backlink row persisted to the dataset.

Run cost combines the charged events and Apify platform usage. 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.