Semrush Keyword Overview Scraper — Volume, KD, CPC & Intent avatar

Semrush Keyword Overview Scraper — Volume, KD, CPC & Intent

Pricing

from $17.46 / 1,000 keyword metrics results

Go to Apify Store
Semrush Keyword Overview Scraper — Volume, KD, CPC & Intent

Semrush Keyword Overview Scraper — Volume, KD, CPC & Intent

Extract Semrush keyword metrics. Get volume, CPC, Keyword Difficulty, intent, trends, and ideas or SERP results. Use keywords and a country database; no Semrush login or API key. Pricing: $0.018 per successful keyword-result event.

Pricing

from $17.46 / 1,000 keyword metrics results

Rating

0.0

(0)

Developer

Vitalii Bondarev

Vitalii Bondarev

Maintained by Community

Actor stats

0

Bookmarked

112

Total users

15

Monthly active users

a day ago

Last modified

Features

Limited permissions

Share

Semrush Keyword Scraper for Volume and KD

Extract Semrush Keyword Overview records for keyword lists, including country-specific metrics and optional organic SERP results. No Semrush subscription or API key is required; on the Free plan, charges are $0.018 per successful keyword-result event and $0.0045 per apify-actor-start event.

  • Use volume, KD, CPC, and intent to prioritize keyword lists.
  • Compare international demand through structured per-country global_volumes data.
  • Analyze 12-month trends to spot seasonality before planning content.
  • Inspect organic SERP positions, domains, URLs, and features when enabled.

What you get

The Actor returns one record for each processed, unique keyword. Keywords are trimmed and deduplicated case-insensitively before processing. When the source provides no numeric metric, the field is null.

FieldTypeDescription
keywordstringInput keyword phrase.
databasestringSelected Semrush country database, such as us, uk, or de.
volumenumber or nullMonthly search volume; null when unavailable.
cpcnumber or nullCPC in USD; null when unavailable.
competition_levelnumber or nullAdvertising competition level from 0 to 1; null when unavailable.
keyword_difficultynumber or nullKeyword Difficulty score from 0 to 100; null when unavailable.
results_countnumber or nullNumber of search results; null when unavailable.
referring_domains_mediannumber or nullMedian referring domains; null when unavailable.
intentsarray of integersSearch intent codes; empty when there is no usable match.
intent_labelsarray of stringsCommercial, informational, navigational, or transactional; empty when there is no usable match.
serp_featuresarrayRich SERP features; empty when unavailable.
trendarrayTwelve monthly search-volume points; empty when unavailable.
global_volumesarray of objectsPopulated country entries, sorted by volume descending. Each includes database, volume, cpc, competition_level, keyword_difficulty, and results_count.
global_country_countintegerNumber of populated global_volumes entries; 0 when empty.
ideasarray of objectsRelated ideas with phrase, volume, and keyword_difficulty; empty when disabled, metrics are unavailable, or lookup fails.
serparray of objectsOrganic results with position, domain, url, and serp_features; empty when disabled, metrics are unavailable, or lookup fails.
checked_atISO 8601 stringProcessing timestamp.
errorstring or nullFailed-lookup error text; null unless an error occurs. Failed lookups are not charged as keyword-result events.
serp_id, serp_updated_atstring; integerSERP metadata, present only on rows where Semrush returned a metric match; an empty string or 0 if the source omits them.

Sample output

Successful lookup for one keyword (database us). global_volumes is shortened here to 2 of its 120 entries; ideas and serp are empty because includeIdeas and includeSerp were off.

{
"keyword": "seo tools", "database": "us",
"volume": 1500000, "cpc": 10.04, "competition_level": 0.02,
"keyword_difficulty": 95, "results_count": 1590000,
"referring_domains_median": 595,
"intents": [0, 2], "intent_labels": ["commercial", "navigational"],
"serp_features": [6, 7, 9, 21, 28, 41, 50],
"trend": [0, 0, 0, 1, 0, 0, 16, 66, 100, 54, 0, 0],
"global_volumes": [
{"database": "us", "volume": 1500000, "cpc": 10.04, "competition_level": 0.02, "keyword_difficulty": 95, "results_count": 1590000},
{"database": "de", "volume": 49500, "cpc": null, "competition_level": null, "keyword_difficulty": null, "results_count": null}
],
"global_country_count": 120, "ideas": [], "serp": [], "error": null,
"checked_at": "2026-11-08T06:23:29.447148+00:00",
"serp_id": "b-f-97-1006-5261202010094607972", "serp_updated_at": 1791273008
}

Pricing

The Actor uses pay-per-event pricing. The listed charge events are:

  • keyword-result: one successful keyword with Semrush metrics. Failed lookups are not charged.
  • apify-actor-start: charged once per GB of run memory, with a minimum of one event.

Organic SERP and keyword ideas are included in the same successful keyword-result event and create no separate listed charge events.

Planapify-actor-startkeyword-result
Free$0.0045 per event on Free$0.018 per event on Free
Bronze$0.004455 per event on Bronze$0.01782 per event on Bronze
Silver$0.00441 per event on Silver$0.01764 per event on Silver
Gold$0.004365 per event on Gold$0.01746 per event on Gold
Platinum$0.00432 per event on Platinum$0.01728 per event on Platinum
Diamond$0.004275 per event on Diamond$0.0171 per event on Diamond

On Free, 1,000 keyword-result events cost $18 and 10,000 cost $180; 1,000 apify-actor-start events cost $4.50 and 10,000 cost $45.

100 x $0.018 = $1.80 on Free for 100 successful keyword results; adding one start event at $0.0045 on Free gives $1.8045.

The Apify Free plan includes $5 of monthly platform usage credit. The $5 credit covers 277 keyword-result events on Free.

You pay only for the events listed above. This Actor does not use the Pay per event + usage option, so compute, proxy traffic, and storage are not billed separately.

How to use

  1. Prepare an array of keyword phrases in keywords.
  2. Choose the two-letter Semrush country database in database.
  3. Enable includeIdeas or includeSerp when needed.
  4. Set maxIdeas and maxItems to cap ideas or processed keywords.
  5. Keep the default Apify RESIDENTIAL proxy configuration, or provide the accepted Apify residential proxy object.
  6. Run the Actor and inspect one output record per processed keyword, including any error.
  7. Repeat the run through Apify Schedules monthly as a starting point for recurring keyword research.
{
"keywords": ["seo tools", "keyword research"],
"database": "us",
"includeIdeas": true,
"maxIdeas": 10,
"includeSerp": true,
"maxItems": 2,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"]
}
}

Export the dataset as JSON or CSV, or read it through the Apify dataset API.

Input parameters

ParameterWhat it doesDefault
keywordsRequired array of keyword phrases to look up.Required
databaseSelects the two-letter Semrush country database for country-specific metrics and SERP data.us
includeIdeasRequests related ideas when the core lookup returns metrics.false
maxIdeasCaps related ideas per keyword.30
includeSerpRequests organic SERP rows when the core lookup returns metrics.false
maxItemsCaps processed keywords; 0 means no optional cap.0
proxyConfigurationConfigures the Apify proxy used to reach the target.Apify RESIDENTIAL
disableUsageStatsTurns off the run summary described in Usage statistics when true.false

Limits and edge cases

ConditionWhat the buyer seesWhat to do
keywords is missing or produces no usable keyword valuesThe Actor stops before lookups and creates no keyword-result events.Provide a non-empty keyword array.
More than 5,000 unique keywords are suppliedProcessing is capped at the first 5,000 unique keywords.Split the list across runs.
maxItems is greater than 0 and smaller than the keyword listOnly the first maxItems keywords are processed.Increase maxItems or use 0.
A keyword is unknown to Semrush or has no usable core matchvolume is null; other metrics can be null and arrays empty.Check the phrase and database.
A keyword lookup raises a processing errorThe row is pushed with an error beginning with kw_failed: and is not charged as a keyword-result.Review the error and rerun the keyword.
Semrush access is exhausted (auth_exhausted)The Actor uses a shared pool of free Semrush sessions with a limited query budget. After the first auth_exhausted: row the run stops; later keywords are not processed and no keyword-result is charged.Rerun the remaining keywords later or in a smaller batch.
includeIdeas or includeSerp is enabledEach adds a lookup per keyword, so the session budget is used up faster and fewer keywords finish before a stop.Enable them only for keywords you need, or use a smaller batch.
includeIdeas is enabled but the ideas lookup failsCore metrics can still be returned; ideas remains empty.Use the core metrics or rerun with ideas enabled.
includeSerp is enabled but the SERP lookup failsCore metrics can still be returned; serp remains empty.Use the core metrics or rerun with SERP enabled.
maxIdeas is set to 0The runtime uses the default cap of 30.Use a positive value for a smaller cap.
No Apify proxy is availableThe Actor stops before lookups and creates no keyword-result events.Keep the default Apify RESIDENTIAL configuration available.
The run reaches its deadline with too little time for another keywordThe Actor stops before starting another keyword; delivered rows remain in the dataset.Use a smaller batch or split the list.

FAQ

How much does it cost to scrape Semrush keyword data?

See Pricing for the plan-labelled event prices and worked example.

Why is a keyword result empty?

A keyword can return null metrics and empty arrays when the core lookup has no usable match. A failed lookup can also include error. Check the phrase and database; failed lookups are not charged as keyword-result events.

What should I check if the Actor is not working?

Check that keywords contains a non-empty array, database is a two-letter country code, and the Apify RESIDENTIAL proxy is available. If the output contains auth_exhausted, the shared session budget is spent: rerun the unprocessed keywords later in a smaller batch.

The Actor retrieves Semrush Keyword Overview data through the Semrush service and returns it in the dataset. Whether a use is legal or allowed depends on the use case, applicable law, and the source's terms; review those requirements before using the output.

Usage statistics

This Actor creates a small, content-free summary at the end of each run, used only to monitor reliability and improve this Actor. No input values, credentials or scraped data are sent.

A copy of the exact record for your run is saved as USAGE_STATS in your own Apify key-value store.

To opt out, set disableUsageStats to true in the input. Nothing is sent then.

Full list of collected fields

⌂ 换网址