Keyword Difficulty Checker — Ahrefs Alternative avatar

Keyword Difficulty Checker — Ahrefs Alternative

Pricing

from $300.00 / 1,000 completed keyword difficulty batches

Go to Apify Store
Keyword Difficulty Checker — Ahrefs Alternative

Keyword Difficulty Checker — Ahrefs Alternative

Check independent keyword difficulty scores for up to 100 exact keywords. Target a country and language, filter the 0–100 score range, sort your shortlist, and export structured results. Not Ahrefs proprietary KD.

Pricing

from $300.00 / 1,000 completed keyword difficulty batches

Rating

0.0

(0)

Developer

Khadin Akbar

Khadin Akbar

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

9 days ago

Last modified

Categories

Features

Limited permissions

Share

Keyword Difficulty Checker — Ahrefs Alternative

Turn a list of up to 100 keywords into a ranked SEO shortlist. Get an independent 0–100 organic keyword difficulty score, filter by your chosen range, and export the matching keywords as JSON, CSV, or Excel through Apify.

This is an independent alternative to the keyword-difficulty workflow. It is not affiliated with Ahrefs and does not return Ahrefs' proprietary KD score. Scores from different tools use different methods and should not be treated as interchangeable.

What you get

  • Exact keyword checks, without adding unrelated keyword ideas.
  • Country and language targeting with validated combinations.
  • Inclusive minimum and maximum difficulty filters.
  • Input order, easiest-first, or hardest-first sorting.
  • A summary of available, unavailable, and filtered keywords, plus score-band counts.

No external account, login, cookies, or API key is required from the caller. Run the Actor using your Apify account.

Quick start

{
"keywords": ["web scraping tools", "seo keyword research", "content planning"],
"country": "us",
"languageCode": "en",
"minDifficulty": 0,
"maxDifficulty": 40,
"sortBy": "difficulty_asc"
}

The Actor checks the supplied keywords and exports available scores from 0 through 40, ordered from easiest to hardest. Repeated phrases are checked once after trimming, Unicode normalization and lowercasing. Empty input is rejected; keywords are never silently replaced with demonstration searches.

Input

FieldDefaultMeaning
keywordsRequired1–100 phrases, one per list entry, up to 80 characters each. No comma-separated entries.
countryusA supported two-letter country code. Use the input dropdown.
languageCodeenA supported language in the chosen country, such as en, de, fr, or es.
minDifficulty0Lowest score to export, inclusive.
maxDifficulty100Highest score to export, inclusive.
sortByinputinput, difficulty_asc, or difficulty_desc.

Country and language must be a supported pair. For example, use de with de for German-language searches in Germany. Unsupported combinations are rejected before a paid lookup. See the supported-market list included with the source package.

Output

One dataset row represents one requested keyword with an available score that matches the range. This illustrative record describes the format; it is not a measured lookup:

{
"keyword": "web scraping tools",
"country": "us",
"languageCode": "en",
"keywordDifficulty": 32,
"difficultyBand": "30-49",
"metric": "independent_organic_difficulty",
"retrievedAt": "2026-11-02T00:00:00.000Z"
}

The four neutral score bands are 0-29, 30-49, 50-69, and 70-100. They group the scale for sorting and reporting; they do not guarantee ranking outcomes. A score of zero is valid. Missing scores are unavailable, never converted to zero.

Download dataset rows from the Apify Console or retrieve the default dataset through the Apify API. The key-value store also contains:

RecordContents
OUTPUTTerminal outcome, counts, warnings, and acknowledged batch event.
RUN_SUMMARYThe same result plus execution identity and timestamps.
RESULTSMatching rows, unavailable keywords, and score distribution; retained before export for recovery.

COMPLETE means matching rows were exported. PARTIAL means some requested keywords had no available score. VALID_EMPTY means the lookup completed with no available scores or no matches for the range. Invalid input and allowance refusals are explained separately. Required service or upstream failure fails the run.

Pricing

The Actor uses Pay per event (PPE): $0.30 per completed batch of 1–100 unique keywords, plus Apify platform usage. Check the live Pricing tab for the current effective price before running.

A completed batch is charged once even if every keyword is unavailable or your filters exclude every score. Filtering does not reduce the lookup fee. Invalid input, an allowance refusal before dispatch, or a failed/unconfirmed research request has no custom batch fee. There is no custom startup or per-keyword event. Apify platform usage can still accrue on unsuccessful runs.

The completed-batch fee can apply if a subsequent export fails. In that case, review RESULTS and the terminal records. Uncertain requests, charges and exports are not retried automatically. Set a event spending limit that covers $0.30 plus your chosen allowance for platform usage; the event spending limit does not cap platform usage.

Free research is subject to shared caller and portfolio allowances. A refusal is reported before further research. Increasing an Actor input does not override those limits.

Scope and limits

Use this for exact-keyword triage and a repeatable content shortlist. It does not provide backlink counts, referring domains needed to rank, search volume, CPC, live SERP results, historical trends or ranking predictions. Ahrefs remains a separate product with its own dataset, methodology, research interface and broader SEO features.

retrievedAt is the Actor's retrieval time, not a claim that the underlying search results were refreshed at that moment. Availability and scores can differ by market and language. Search intent and the actual ranking pages still need editorial review.

When to use it

Use this Actor when you already have an exact keyword list and need difficulty-based triage. Avoid it when your decision requires Ahrefs proprietary scores, live ranking pages, backlink targets or search-volume forecasts. For discovering new phrases and broader keyword metrics, pair this Actor with Keyword Metrics Explorer instead.

For example, a content editor can paste a candidate list, choose a market, set maxDifficulty to 40 and sort easiest first. The editor reviews the exported shortlist and search intent before adding topics to the editorial calendar. Keeping the original list and market together makes the next content review repeatable.

API and AI-agent workflow

An authorized caller can start the Actor through the Apify API. The following example uses your Apify token locally; it does not request a backend API key:

curl --request POST \
'https://api.apify.com/v2/acts/khadinakbar~ahrefs-keyword-difficulty-checker/run-sync-get-dataset-items?maxTotalChargeUsd=0.35&timeout=120' \
--header "Authorization: Bearer $APIFY_TOKEN" \
--header 'Content-Type: application/json' \
--data '{"keywords":["content planning"],"country":"us","languageCode":"en","maxDifficulty":40}'

A completed one-keyword batch and a completed 100-keyword batch each have a $0.30 custom event fee. For example, two completed batches that each return 100 rows cost $0.60 in custom fees. Add platform usage; smaller batches are not charged per keyword.

An AI agent can request: “Check these exact keywords for the US in English, export scores no higher than 40, and sort easiest first.” An integration should supply the corresponding input above, inspect the terminal outcome, and read the default dataset. A completed empty shortlist is useful evidence only when the summary says the research completed. Do not treat configuration or upstream failures as an empty content opportunity list, and do not repeat an uncertain charged request automatically. Hosted MCP discovery and client behavior have not yet been tested for this candidate.

Check these exact keywords for the US in English, export scores no higher than 40, and sort easiest first. Read the run outcome and dataset, and report unavailable keywords separately.

Recovery and troubleshooting

If the run reports POLICY_LIMIT, check its remaining spending limit and research allowance before starting another lookup. For a completed lookup with an export error, use the saved RESULTS record and the run ID to recover the shortlist. A configuration or upstream failure is a failed lookup rather than evidence that the keyword has a zero score. Request, billing and export checkpoints stop automatic repetition when a prior effect is uncertain.

Builder's note

I designed this checker to keep missing metrics separate from zero scores. A missing score means there is no supported difficulty estimate for that keyword in the selected market; zero is a usable value at the bottom of the scale. The shortlist and summary preserve that distinction so a content plan does not accidentally prioritize unavailable keywords.

Responsible use

Use keyword lists you are authorized to process. The Actor is independently developed and is not endorsed by Ahrefs. Avoid putting confidential terms in public tasks, datasets or support messages.

Support

Use the Actor's Issues tab and include the Apify run ID and the expected behavior. Do not include secrets or sensitive keyword lists in a public issue.