Semrush SEO API - Keyword Research, Domain & Backlinks avatar

Semrush SEO API - Keyword Research, Domain & Backlinks

Pricing

from $1.80 / 1,000 keyword results

Go to Apify Store
Semrush SEO API - Keyword Research, Domain & Backlinks

Semrush SEO API - Keyword Research, Domain & Backlinks

Semrush keyword research API, no login or subscription: keyword ideas with search volume, keyword difficulty, CPC and intent, plus domain overview, competitor analysis and a backlink checker. 47 countries. From $2 per 1,000 keywords.

Pricing

from $1.80 / 1,000 keyword results

Rating

4.8

(8)

Developer

PNDA

PNDA

Maintained by Community

Actor stats

19

Bookmarked

756

Total users

328

Monthly active users

0.017 hours

Issues response

4 days ago

Last modified

Features

Limited permissions

Share

Semrush data without a Semrush subscription. One actor, four modes: keyword research (search volume, keyword difficulty, CPC, intent, related keyword ideas), domain overview (authority score, traffic trend, top keywords), competitor analysis (organic competitors) and a backlink checker (authority-scored backlinks, anchors, referring domains).

PNDA PNDA · SEO & Google suite • Semrush, Google Search, Google Maps
Semrush Scraper
Semrush Scraper
➤ You are here
Google SERP API
Google SERP API
SERP, People Also Ask, ads & rank checks
Google Maps Scraper
Google Maps Scraper
Places, reviews, emails & local leads
Email Extractor
Email Extractor
Emails, phones & socials from any website

No login, no API key, no cookies to manage. Pick a mode, type a keyword or a domain, choose one of 47 country databases, click Run. Results land in a clean Apify dataset you can export to JSON, CSV, Excel or HTML, or pull from the Apify API, n8n, Make, Zapier or your own code.


What can this Semrush scraper do?

ModeInputWhat you get
🔍 keyword - Keyword researcha seed keywordKeyword ideas with search volume, keyword difficulty (KD), CPC, competition, intent, SERP features, 12-month trend. Up to 10,000 keywords per run.
🌐 domain - Domain overviewa domainAuthority score, number of backlinks, organic traffic trend, top organic keywords, main competitors, referring domains.
🥊 competitors - Competitor analysisa domainOrganic competitors with competition level, shared keywords, ranking keywords, traffic, traffic value, paid keywords.
🔗 backlinks - Backlink checkera domain or URLAuthority-scored backlinks: page authority score, source URL and title, anchor text, target URL, first and last seen.

Every mode accepts a batch of up to 100 keywords or domains in a single run (queries). Each output row carries a query field, so you can split the batch apart again.


Why use it

  • ✅ Semrush keyword research for the price of the rows - no $139+/month plan, no seat, no export limits.
  • ✅ Keyword difficulty, search volume and CPC in one row - ready for content planning and PPC bid lists.
  • ✅ Keyword ideas at scale - phrase, exact, broad and related match, up to 10,000 keywords per run.
  • ✅ 47 countries - US, UK, CA, AU, FR, DE, IT, ES, BR, NL, JP, IN, MX, AE and 33 more.
  • ✅ SEO + competitor analysis + backlinks in one actor - one input, one dataset, one bill.
  • ✅ Pay per result - empty results are never charged.
  • ✅ API-first - call it from the Apify API, Python/JS clients, n8n, Make, Zapier, or schedule it.

How to use it

  1. Click Try for free.
  2. Choose a Mode (keyword, domain, competitors or backlinks).
  3. Enter a keyword (keyword mode) or a domain (other modes) in Query, or paste up to 100 in Queries.
  4. Pick a Database / country (default us).
  5. Click Run, then export the dataset.

Input

FieldTypeModesDescription
modestringallkeyword (default), domain, competitors, backlinks
qstringallOne keyword (keyword mode) or one domain (other modes)
queriesarrayallBatch of up to 100 keywords or domains. Takes precedence over q
dbstringkeyword, domain, competitorsCountry database: us, uk, fr, de, … (default us)
typestringkeywordMatch type: phrase (default), exact, broad, related
pagesintegerkeywordPages of keyword ideas, 100 keywords per page (default 1, max 100)
sort_bystringcompetitorscompetition_level (default), common_keywords, traffic
targetstringbacklinksSpecific URL for the backlink report (single query only)
target_typestringbacklinksroot_domain (default), domain, url

Keyword match types

Match typeReturns
phraseKeywords containing the phrase
exactKeywords containing the exact phrase as-is
broadBroad variations, synonyms included
relatedSemantically related keywords - ideal for topic clusters

Example input - keyword research

{
"mode": "keyword",
"q": "running shoes",
"db": "us",
"type": "phrase",
"pages": 2
}

Example input - batch competitor analysis

{
"mode": "competitors",
"queries": ["nike.com", "adidas.com", "newbalance.com"],
"db": "uk",
"sort_by": "common_keywords"
}

Output

Keyword mode (one row per keyword)

{
"query": "running shoes",
"phrase": "running shoes",
"database": "us",
"volume": 246000,
"cpc": 0.88,
"competition_level": 1,
"difficulty": 71,
"intents": [2],
"results": 238,
"serp_features": [3, 6, 9, 13, 25, 28, 41, 43, 50],
"trend": [81, 44, 66, 66, 54, 66, 44, 54, 44, 81, 100, 81],
"snapshot_date": "20260801"
}
FieldMeaning
phraseThe keyword idea
volumeAverage monthly search volume
cpcCost per click in USD
competition_levelPaid competition (0 → 1)
difficultyKeyword difficulty, KD (0 → 100)
resultsNumber of SERP results, as reported by Semrush
intentsSearch intent codes (informational, navigational, commercial, transactional)
serp_featuresSERP feature codes (featured snippet, People Also Ask, local pack, video…)
trend12-month relative search trend (100 = peak month)
snapshot_dateDate of the Semrush data snapshot (YYYYMMDD)

Domain mode (one report per domain)

{
"query": "example.com",
"authority_score": 62,
"number_of_backlinks": 1840233,
"search_traffic": { "2026-07-01": 412000, "2026-08-01": 438500 },
"competitors": [{ "domain": "competitor.com", "level": 0.31, "common_keywords": 5120, "positions": 48210 }],
"top_keywords": [{ "phrase": "example product", "intents": [3], "cpc": 0.9, "position": 1, "traffic_percent": 4.2, "volume": 27100, "url": "https://example.com/product" }],
"referring_domains": []
}

Competitors mode (one row per organic competitor)

{
"query": "example.com",
"domain": "competitor.com",
"competition_level": 0.31,
"common_keywords": 5120,
"se_keywords": 48210,
"traffic": 351000,
"traffic_cost": 210400,
"paid_keywords": 120
}
{
"query": "example.com",
"page_ascore": 54,
"source_title": "The 10 best tools of the year",
"source_url": "https://blog.example.org/best-tools",
"external_link_num": 37,
"internal_link_num": 112,
"target_anchor": "Example",
"target_url": "https://example.com/",
"first_seen": 1718236800,
"last_seen": 1727222400
}

The keyword row is a real result (October 2026, us). The other examples use illustrative values; field names match the real output.


Use cases

  • Keyword research for SEO content - turn one seed into hundreds of keyword ideas, sort by volume and keyword difficulty, build your content calendar.
  • Topic clusters - use related match to group keywords into pillars and supporting articles.
  • PPC and Google Ads - pull search volume, CPC and competition before you bid.
  • Competitor analysis - find who you compete with organically, how many keywords you share and what their traffic is worth.
  • Domain authority checks - score a list of domains by authority score and backlinks (link building, partnerships, acquisitions).
  • Backlink audits and link prospecting - list a competitor's best backlinks with anchors and authority, then pitch the same sites.
  • International SEO - compare the same keywords across 47 country databases.
  • Agencies and SaaS - feed Semrush metrics into dashboards, Google Sheets, BigQuery or an AI writing pipeline.

Pricing

Pay per result, billed per mode. Empty results are not charged.

ModeUnitFree planPaid Apify plans (Bronze)
keywordper keyword$0.006$0.002
competitorsper competitor$0.0075$0.002
backlinksper backlink$0.0075$0.002
domainper domain report$0.02$0.01

Examples on a paid plan: 1,000 keywords ≈ $2, 100 domain reports ≈ $1. Compare with a monthly Semrush subscription.

Store discounts: Silver, Gold, Platinum and Diamond Apify plans pay up to 20 % less than the Bronze price. The Pricing tab of the Store page shows the exact price for each plan.

Works with a free Apify account too, billed at the Free plan price above from your monthly Apify credit. A query that was fetched recently may be answered from stored data (same price).


Daily limits

The Semrush data behind this actor is shared by all its users, so every Apify account has a daily allowance of Semrush requests. It is large enough for normal use (95 % of accounts use far less), and it keeps one very big batch from blocking everybody else.

Apify planSemrush requests per day
Free150 (free accounts also share a common daily capacity)
Paid (Bronze and above)1,000

What one query uses:

ModeSemrush requests per query≈ queries per day on a paid plan
keyword1 + 1 per page of 100 ideas (pages: 1 = 2)500 seed keywords
domain6166 domain reports
competitors11,000 domains
backlinks2500 domains

The day resets at 07:30 UTC (not at midnight).

What happens at the limit - no surprise, no charge:

  • The run processes every query that fits, delivers and bills those results, then stops cleanly (status SUCCEEDED).
  • The last dataset item explains it, for example:
{
"status": "daily-limit-reached",
"message": "Daily limit of your account reached: 1,000 Semrush requests per day (paid Apify plan), 998 used. 63 of 100 queries were processed and billed for their results; 37 queries were not processed and not charged (listed in \"notProcessedQueries\"). Your limit resets at 07:30 UTC (in 3 h 12 min): rerun them then, or split big batches over several days. ...",
"dailyLimit": 1000,
"usedToday": 998,
"queriesServed": 63,
"queriesNotServed": 37,
"notProcessedQueries": ["example.com", "..."],
"retryAfter": "2026-11-07T07:30:00Z",
"charged": false
}
  • Rerun exactly notProcessedQueries after retryAfter and you get the rest. Nothing is ever charged for a query that was not processed.

Rare maintenance window. If the shared Semrush capacity itself runs out, the run stops the same way with a service-unavailable item: "Service under maintenance - Semrush data is back at 07:30 UTC (in …)", with the same notProcessedQueries and retryAfter. A short refusal from Semrush (rate limit) is retried automatically before stopping.

Tip for big jobs: spread them over several days, or schedule the run daily on the remaining list.


FAQ

Can I use it on the free Apify plan? Yes. It works with a free Apify account too, at the Free plan price per result, with 150 Semrush requests a day (see Daily limits). Free accounts also share a common daily capacity: when it is reached, the run ends with a free-plan-limit item and nothing is charged for the queries not processed. Paid Apify plans get 1,000 requests a day.

Is there a daily limit? Yes, per Apify account: 150 Semrush requests a day on the free plan, 1,000 on paid plans, reset at 07:30 UTC. At the limit the run delivers what fits, bills only that, and lists the queries to rerun (notProcessedQueries, retryAfter). See Daily limits.

Do I need a Semrush account or API key? No. The actor handles access for you. You only need an Apify account.

Is this the same data as the Semrush keyword research tool? Yes - volume, keyword difficulty, CPC, competition, intent and SERP features come from Semrush's own keyword database, for the country database you choose.

How many keywords can I get per run? Up to 10,000 for one seed keyword (pages: 100, 101 Semrush requests of your daily allowance). In a batch, the page budget is shared across queries (100 pages per run in total), so split very large batches across several runs.

Can I check many domains at once? Yes. Put up to 100 domains in queries. Each row has a query field telling you which domain it belongs to.

Which countries are supported? 47 databases: us, uk, ca, au, br, fr, de, it, es, nl, se, dk, be, no, ie, ar, mx, co, cl, pe, in, sg, id, ph, my, th, vn, jp, hk, cn, tr, za, il, sa, ae, pl, cz, ro, hu, at, ch, pt, fi, gr, nz, ru, ua. Backlinks mode is global.

Can I use it as a Semrush alternative or Ahrefs alternative for keyword research? If you need keyword volume, keyword difficulty, competitors and backlinks as data rather than a dashboard, yes: you pay per row instead of a monthly seat.

Can I call it from code or no-code tools? Yes. Use the Apify API, the Python or JavaScript client, or the Apify integrations for n8n, Make, Zapier and Google Sheets. You can also schedule runs.

What happens if one query in a batch fails? The run continues with the other queries. The failed query is logged and not charged.


  • Google SERP API: Need the live Google results for your keywords? Rankings, ads and People Also Ask as JSON, any country.
  • Email Extractor: Doing link building? Extract the contact emails of the referring domains or sites you want a link from.
  • Email Finder: Need the editor or owner behind a site? Find a named person's email from the domain.

Start now

Pick a mode, type a keyword or a domain, choose a country, click Run. Semrush keyword research, competitor analysis and backlinks, on tap.