Use Semrush to query SEO reports for domains, subdomains, URLs, keywords, and backlinks. Choose a regional database and, where supported, a historical month in YYYYMM15 format. Domain vs. Domain compares up to five domains.
Before you start
Requests authenticate with a key query parameter and are billed in API units , which are metered separately from your Semrush subscription — line-based reports such as Backlinks and Referring Domains charge per row returned, so set Limit deliberately. Reports answer as CSV, and this integration decodes them into structured rows for you. Two API behaviours worth knowing: a rejected request comes back with HTTP 200 and a body like ERROR 132 :: API UNITS BALANCE IS ZERO (surfaced here as a normal tool error), and the API may omit a requested column from a response, so treat every field on a row as optional.
Not covered
The Semrush Trends , Projects (Site Audit, Position Tracking), and Listing Management APIs are separate products with their own endpoints and subscriptions, and are not part of this block. Three SEO API reports are also excluded: Comparison by Referring Domains (backlinks_matrix) and Batch Comparison (backlinks_comparison), whose multi-target array parameters do not fit the shared request builder, and Subdomain Organic Pages (subdomain_organic_unique), whose documented response format is inconsistent with every other report.
Query the Semrush SEO API for domain, subdomain, and URL traffic overviews, organic and paid keywords, ad and product listing creatives, competitor sets, keyword research, and backlink profiles. Requires a Semrush subscription with API units.
Get the Semrush rank plus organic and paid search totals for a domain in one regional database.
Inputs and outputsParameter Type Required Description apiKeystring Yes Semrush API key domainstring Yes Domain to analyze, for example example.com databasestring Yes Regional database code, for example us, uk, de, or fr displayDatestring No Historical month in YYYYMM15 format
Parameter Type Description overviewjson Organic and paid search overview for the domain ↳ domain string Domain name ↳ rank number Semrush popularity rating of the target, based on organic traffic ↳ organicKeywords number Keywords bringing users via the Google top 100 organic results ↳ organicTraffic number Traffic brought via the Google top 100 organic results ↳ organicCost number Estimated Google Ads price of the organic keywords ↳ paidKeywords number Keywords the target is buying in Google Ads ↳ paidTraffic number Traffic brought via paid search results ↳ paidCost number Estimated monthly Google Ads budget
Get organic and paid search totals for a domain across every regional Semrush database.
Inputs and outputsParameter Type Required Description apiKeystring Yes Semrush API key domainstring Yes Domain to analyze, for example example.com databasestring No Regional database code to restrict the report to, for example us limitnumber No Maximum number of rows to return, capped at 100,000 offsetnumber No Number of rows to skip, for pagination displayDatestring No Historical month in YYYYMM15 format displaySortstring No Sort order, for example rk_asc, or_desc, or ot_desc
Parameter Type Description databasesarray One row of domain totals per regional database ↳ database string Regional database the row belongs to ↳ domain string Domain name ↳ rank number Semrush popularity rating of the target, based on organic traffic ↳ organicKeywords number Keywords bringing users via the Google top 100 organic results ↳ organicTraffic number Traffic brought via the Google top 100 organic results ↳ organicCost number Estimated Google Ads price of the organic keywords ↳ paidKeywords number Keywords the target is buying in Google Ads ↳ paidTraffic number Traffic brought via paid search results ↳ paidCost number Estimated monthly Google Ads budget ↳ plaKeywords number Keywords used for product listing ads ↳ plaUniques number Number of unique product listing ads
Get the historical trend of a domain rank plus its organic and paid search totals.
Inputs and outputsParameter Type Required Description apiKeystring Yes Semrush API key domainstring Yes Domain to analyze, for example example.com databasestring Yes Regional database code, for example us, uk, de, or fr limitnumber No Maximum number of rows to return, capped at 100,000 offsetnumber No Number of rows to skip, for pagination displayDailyboolean No Return daily data points for the last 31 days instead of monthly ones displaySortstring No Sort order, for example dt_desc or dt_asc
Parameter Type Description historyarray Historical data points, in the requested sort order ↳ date string Data collection date in YYYYMMDD or YYYYMM format ↳ rank number Semrush popularity rating of the target, based on organic traffic ↳ organicKeywords number Keywords bringing users via the Google top 100 organic results ↳ organicTraffic number Traffic brought via the Google top 100 organic results ↳ organicCost number Estimated Google Ads price of the organic keywords ↳ paidKeywords number Keywords the target is buying in Google Ads ↳ paidTraffic number Traffic brought via paid search results ↳ paidCost number Estimated monthly Google Ads budget
List the keywords a domain ranks for in Google organic search, with position, volume, and traffic share.
Inputs and outputsParameter Type Required Description apiKeystring Yes Semrush API key domainstring Yes Domain to analyze, for example example.com databasestring Yes Regional database code, for example us, uk, de, or fr limitnumber No Maximum number of rows to return, capped at 100,000 offsetnumber No Number of rows to skip, for pagination displayDatestring No Historical month in YYYYMM15 format displayDailyboolean No Return daily data points for the last 31 days instead of monthly ones displaySortstring No Sort order, for example tr_desc, po_asc, or nq_desc displayFilterstring No Semrush display_filter expression, for example +|Nq|Gt|1000
Parameter Type Description keywordsarray Organic keywords the domain ranks for ↳ keyword string Keyword phrase ↳ position number Position in the Google top 100 results, where 0 means not ranked ↳ previousPosition number Position held at the previous data collection ↳ positionDifference number Change between the previous and the current position ↳ searchVolume number Average monthly searches for the keyword ↳ cpc number Average cost per click in USD (Google Ads) ↳ url string URL of the ranking or advertised page ↳ trafficPercent number Share of the traffic to the target driven by this keyword ↳ traffic number Estimated traffic driven by this keyword ↳ trafficCost number Share of the traffic cost of the target attributed to this keyword ↳ competition number Competitive density of advertisers bidding on the keyword (0-1) ↳ numberOfResults number Total organic results returned for the keyword ↳ keywordDifficulty number Estimated difficulty of ranking for the keyword (0-100) ↳ intents array Keyword intents: 0 commercial, 1 informational, 2 navigational, 3 transactional ↳ trends array Relative search interest over the last 12 months
List the keywords a domain buys in Google Ads, with ad position, copy, and traffic share.
Inputs and outputsParameter Type Required Description apiKeystring Yes Semrush API key domainstring Yes Domain to analyze, for example example.com databasestring Yes Regional database code, for example us, uk, de, or fr limitnumber No Maximum number of rows to return, capped at 100,000 offsetnumber No Number of rows to skip, for pagination displayDatestring No Historical month in YYYYMM15 format displaySortstring No Sort order, for example po_asc, tr_desc, or nq_desc displayFilterstring No Semrush display_filter expression, for example +|Nq|Gt|1000
Parameter Type Description keywordsarray Paid keywords the domain bids on ↳ keyword string Keyword phrase ↳ position number Position in the Google top 100 results, where 0 means not ranked ↳ previousPosition number Position held at the previous data collection ↳ positionDifference number Change between the previous and the current position ↳ searchVolume number Average monthly searches for the keyword ↳ cpc number Average cost per click in USD (Google Ads) ↳ url string URL of the ranking or advertised page ↳ visibleUrl string Display URL shown in the ad ↳ title string Ad or product title ↳ description string Ad text ↳ traffic number Estimated traffic driven by this keyword ↳ trafficPercent number Share of the traffic to the target driven by this keyword ↳ trafficCost number Estimated traffic cost attributed to this keyword ↳ competition number Competitive density of advertisers bidding on the keyword (0-1) ↳ numberOfResults number Total organic results returned for the keyword
List the unique Google Ads creatives a domain runs, with title, description, and keyword count.
Inputs and outputsParameter Type Required Description apiKeystring Yes Semrush API key domainstring Yes Domain to analyze, for example example.com databasestring Yes Regional database code, for example us, uk, de, or fr limitnumber No Maximum number of rows to return, capped at 100,000 offsetnumber No Number of rows to skip, for pagination displaySortstring No Sort order, for example pc_desc displayFilterstring No Semrush display_filter expression, for example +|Tt|Co|sale
Parameter Type Description adsarray Unique ad creatives the domain runs ↳ title string Ad or product title ↳ description string Ad text ↳ visibleUrl string Display URL shown in the ad ↳ url string URL of the ranking or advertised page ↳ numberOfKeywords number Number of keywords the ad runs on
List a domain’s past Google Ads placements month by month, with the copy used each time.
Inputs and outputsParameter Type Required Description apiKeystring Yes Semrush API key domainstring Yes Domain to analyze, for example example.com databasestring Yes Regional database code, for example us, uk, de, or fr limitnumber No Maximum number of rows to return, capped at 100,000 offsetnumber No Number of rows to skip, for pagination displaySortstring No Sort order, for example dt_desc displayFilterstring No Semrush display_filter expression, for example +|Ph|Co|shoes
Parameter Type Description adsarray Historical ad placements, one row per keyword and month ↳ keyword string Keyword phrase ↳ date string Data collection date in YYYYMMDD or YYYYMM format ↳ position number Position in the Google top 100 results, where 0 means not ranked ↳ cpc number Average cost per click in USD (Google Ads) ↳ searchVolume number Average monthly searches for the keyword ↳ trafficPercent number Share of the traffic to the target driven by this keyword ↳ url string URL of the ranking or advertised page ↳ title string Ad or product title ↳ description string Ad text ↳ visibleUrl string Display URL shown in the ad
List the domains competing with a target domain in Google organic search results.
Inputs and outputsParameter Type Required Description apiKeystring Yes Semrush API key domainstring Yes Domain to analyze, for example example.com databasestring Yes Regional database code, for example us, uk, de, or fr limitnumber No Maximum number of rows to return, capped at 100,000 offsetnumber No Number of rows to skip, for pagination displayDatestring No Historical month in YYYYMM15 format displaySortstring No Sort order, for example np_desc or cr_desc
Parameter Type Description competitorsarray Competing domains ranked by competitor relevance ↳ domain string Domain name ↳ competitorRelevance number Competition level based on the total keyword count of each domain ↳ commonKeywords number Keywords both domains rank for in the top 100 organic results ↳ organicKeywords number Keywords this competing domain ranks for in the Google top 100 organic results ↳ organicTraffic number Traffic this competing domain gets from the Google top 100 organic results ↳ organicCost number Estimated Google Ads price of this competing domain organic keywords ↳ paidKeywords number Keywords this competing domain is buying in Google Ads
List the domains competing with a target domain in Google paid search results.
Inputs and outputsParameter Type Required Description apiKeystring Yes Semrush API key domainstring Yes Domain to analyze, for example example.com databasestring Yes Regional database code, for example us, uk, de, or fr limitnumber No Maximum number of rows to return, capped at 100,000 offsetnumber No Number of rows to skip, for pagination displayDatestring No Historical month in YYYYMM15 format displaySortstring No Sort order, for example np_desc or cr_desc
Parameter Type Description competitorsarray Competing advertisers ranked by competitor relevance ↳ domain string Domain name ↳ competitorRelevance number Competition level based on the total keyword count of each domain ↳ commonKeywords number Keywords both domains rank for in the top 100 organic results ↳ paidKeywords number Keywords this competing domain is buying in Google Ads ↳ paidTraffic number Traffic this competing domain gets from paid search results ↳ paidCost number Estimated monthly Google Ads budget of this competing domain ↳ organicKeywords number Keywords this competing domain ranks for in the Google top 100 organic results
List the keywords that trigger a domain’s product listing ads, with the promoted product and price.
Inputs and outputsParameter Type Required Description apiKeystring Yes Semrush API key domainstring Yes Domain to analyze, for example example.com databasestring Yes Regional database code, for example us, uk, de, or fr limitnumber No Maximum number of rows to return, capped at 100,000 offsetnumber No Number of rows to skip, for pagination displaySortstring No Sort order, for example nq_desc or po_asc displayFilterstring No Semrush display_filter expression, for example +|Nq|Gt|1000
Parameter Type Description keywordsarray Product listing ad keywords for the domain ↳ keyword string Keyword phrase ↳ position number Position in the Google top 100 results, where 0 means not ranked ↳ previousPosition number Position held at the previous data collection ↳ positionDifference number Change between the previous and the current position ↳ searchVolume number Average monthly searches for the keyword ↳ shopName string Name of the shop running the product listing ad ↳ url string URL of the ranking or advertised page ↳ title string Ad or product title ↳ productPrice number Price of the promoted product ↳ timestamp number Unix timestamp of the data point
List the unique product listing ads a domain runs, with product title, price, and shop name.
Inputs and outputsParameter Type Required Description apiKeystring Yes Semrush API key domainstring Yes Domain to analyze, for example example.com databasestring Yes Regional database code, for example us, uk, de, or fr limitnumber No Maximum number of rows to return, capped at 100,000 offsetnumber No Number of rows to skip, for pagination
Parameter Type Description adsarray Unique product listing ads the domain runs ↳ title string Ad or product title ↳ productPrice number Price of the promoted product ↳ shopName string Name of the shop running the product listing ad ↳ url string URL of the ranking or advertised page
Compare up to five domains on the keywords they rank for, returning each domain’s position side by side.
Inputs and outputsParameter Type Required Description apiKeystring Yes Semrush API key domainsstring Yes Comma-separated list of up to five domains to compare databasestring Yes Regional database code, for example us, uk, de, or fr competitionTypestring No Which keyword set to compare: or for organic or ad for paid limitnumber No Maximum number of rows to return, capped at 100,000 offsetnumber No Number of rows to skip, for pagination displaySortstring No Sort order, for example nq_desc or cp_desc displayFilterstring No Semrush display_filter expression, for example +|Nq|Gt|1000
Parameter Type Description domainsarray The compared domains, in the order their positions appear keywordsarray Keywords with each compared domain’s position ↳ keyword string Keyword phrase ↳ positions json Position of each compared domain, keyed by domain, where 0 means not ranked ↳ competition number Competitive density of advertisers bidding on the keyword (0-1) ↳ searchVolume number Average monthly searches for the keyword ↳ cpc number Average cost per click in USD (Google Ads)
Get the organic and paid search totals for a subdomain in one regional database.
Inputs and outputsParameter Type Required Description apiKeystring Yes Semrush API key subdomainstring Yes Subdomain to analyze, for example blog.example.com databasestring Yes Regional database code, for example us, uk, de, or fr displayDatestring No Historical month in YYYYMM15 format
Parameter Type Description overviewjson Organic and paid search overview for the subdomain ↳ domain string Domain name ↳ rank number Semrush popularity rating of the target, based on organic traffic ↳ organicKeywords number Keywords bringing users via the Google top 100 organic results ↳ organicTraffic number Traffic brought via the Google top 100 organic results ↳ organicCost number Estimated Google Ads price of the organic keywords ↳ paidKeywords number Keywords the target is buying in Google Ads ↳ paidTraffic number Traffic brought via paid search results ↳ paidCost number Estimated monthly Google Ads budget
Get organic and paid search totals for a subdomain across every regional Semrush database.
Inputs and outputsParameter Type Required Description apiKeystring Yes Semrush API key subdomainstring Yes Subdomain to analyze, for example blog.example.com databasestring No Regional database code to restrict the report to, for example us limitnumber No Maximum number of rows to return, capped at 100,000 offsetnumber No Number of rows to skip, for pagination displayDatestring No Historical month in YYYYMM15 format displaySortstring No Sort order, for example rk_asc or ot_desc
Parameter Type Description databasesarray One row of subdomain totals per regional database ↳ database string Regional database the row belongs to ↳ domain string Domain name ↳ rank number Semrush popularity rating of the target, based on organic traffic ↳ organicKeywords number Keywords bringing users via the Google top 100 organic results ↳ organicTraffic number Traffic brought via the Google top 100 organic results ↳ organicCost number Estimated Google Ads price of the organic keywords ↳ paidKeywords number Keywords the target is buying in Google Ads ↳ paidTraffic number Traffic brought via paid search results ↳ paidCost number Estimated monthly Google Ads budget ↳ plaKeywords number Keywords used for product listing ads ↳ plaUniques number Number of unique product listing ads
Get the historical trend of a subdomain’s organic and paid search totals.
Inputs and outputsParameter Type Required Description apiKeystring Yes Semrush API key subdomainstring Yes Subdomain to analyze, for example blog.example.com databasestring Yes Regional database code, for example us, uk, de, or fr limitnumber No Maximum number of rows to return, capped at 100,000 offsetnumber No Number of rows to skip, for pagination displayDailyboolean No Return daily data points for the last 31 days instead of monthly ones displaySortstring No Sort order, for example dt_desc or dt_asc
Parameter Type Description historyarray Historical data points, in the requested sort order ↳ date string Data collection date in YYYYMMDD or YYYYMM format ↳ rank number Semrush popularity rating of the target, based on organic traffic ↳ organicKeywords number Keywords bringing users via the Google top 100 organic results ↳ organicTraffic number Traffic brought via the Google top 100 organic results ↳ organicCost number Estimated Google Ads price of the organic keywords ↳ paidKeywords number Keywords the target is buying in Google Ads ↳ paidTraffic number Traffic brought via paid search results ↳ paidCost number Estimated monthly Google Ads budget
List the keywords a subdomain ranks for in Google organic search.
Inputs and outputsParameter Type Required Description apiKeystring Yes Semrush API key subdomainstring Yes Subdomain to analyze, for example blog.example.com databasestring Yes Regional database code, for example us, uk, de, or fr limitnumber No Maximum number of rows to return, capped at 100,000 offsetnumber No Number of rows to skip, for pagination displayDatestring No Historical month in YYYYMM15 format displayDailyboolean No Return daily data points for the last 31 days instead of monthly ones displaySortstring No Sort order, for example tr_desc, po_asc, or nq_desc displayFilterstring No Semrush display_filter expression, for example +|Nq|Gt|1000
Parameter Type Description keywordsarray Organic keywords the subdomain ranks for ↳ keyword string Keyword phrase ↳ position number Position in the Google top 100 results, where 0 means not ranked ↳ previousPosition number Position held at the previous data collection ↳ positionDifference number Change between the previous and the current position ↳ searchVolume number Average monthly searches for the keyword ↳ cpc number Average cost per click in USD (Google Ads) ↳ url string URL of the ranking or advertised page ↳ trafficPercent number Share of the traffic to the target driven by this keyword ↳ traffic number Estimated traffic driven by this keyword ↳ trafficCost number Share of the traffic cost of the target attributed to this keyword ↳ competition number Competitive density of advertisers bidding on the keyword (0-1) ↳ numberOfResults number Total organic results returned for the keyword ↳ keywordDifficulty number Estimated difficulty of ranking for the keyword (0-100) ↳ intents array Keyword intents: 0 commercial, 1 informational, 2 navigational, 3 transactional ↳ trends array Relative search interest over the last 12 months
List the keywords a subdomain buys in Google Ads.
Inputs and outputsParameter Type Required Description apiKeystring Yes Semrush API key subdomainstring Yes Subdomain to analyze, for example blog.example.com databasestring Yes Regional database code, for example us, uk, de, or fr limitnumber No Maximum number of rows to return, capped at 100,000 offsetnumber No Number of rows to skip, for pagination displayDatestring No Historical month in YYYYMM15 format displaySortstring No Sort order, for example po_asc, tr_desc, or nq_desc displayFilterstring No Semrush display_filter expression, for example +|Nq|Gt|1000
Parameter Type Description keywordsarray Paid keywords the subdomain bids on ↳ keyword string Keyword phrase ↳ position number Position in the Google top 100 results, where 0 means not ranked ↳ previousPosition number Position held at the previous data collection ↳ positionDifference number Change between the previous and the current position ↳ searchVolume number Average monthly searches for the keyword ↳ cpc number Average cost per click in USD (Google Ads) ↳ url string URL of the ranking or advertised page ↳ visibleUrl string Display URL shown in the ad ↳ title string Ad or product title ↳ description string Ad text ↳ traffic number Estimated traffic driven by this keyword ↳ trafficPercent number Share of the traffic to the target driven by this keyword ↳ trafficCost number Estimated traffic cost attributed to this keyword ↳ competition number Competitive density of advertisers bidding on the keyword (0-1) ↳ numberOfResults number Total organic results returned for the keyword
List the unique Google Ads creatives a subdomain runs.
Inputs and outputsParameter Type Required Description apiKeystring Yes Semrush API key subdomainstring Yes Subdomain to analyze, for example blog.example.com databasestring Yes Regional database code, for example us, uk, de, or fr limitnumber No Maximum number of rows to return, capped at 100,000 offsetnumber No Number of rows to skip, for pagination displaySortstring No Sort order, for example pc_desc displayFilterstring No Semrush display_filter expression, for example +|Tt|Co|sale
Parameter Type Description adsarray Unique ad creatives the subdomain runs ↳ title string Ad or product title ↳ description string Ad text ↳ visibleUrl string Display URL shown in the ad ↳ url string URL of the ranking or advertised page ↳ numberOfKeywords number Number of keywords the ad runs on
Get the organic and paid search totals for a single URL in one regional database.
Inputs and outputsParameter Type Required Description apiKeystring Yes Semrush API key urlstring Yes Full URL to analyze, for example https://example.com/pricing databasestring Yes Regional database code, for example us, uk, de, or fr displayDatestring No Historical month in YYYYMM15 format
Parameter Type Description overviewjson Organic and paid search overview for the URL ↳ domain string Domain name ↳ rank number Semrush popularity rating of the target, based on organic traffic ↳ organicKeywords number Keywords bringing users via the Google top 100 organic results ↳ organicTraffic number Traffic brought via the Google top 100 organic results ↳ organicCost number Estimated Google Ads price of the organic keywords ↳ paidKeywords number Keywords the target is buying in Google Ads ↳ paidTraffic number Traffic brought via paid search results ↳ paidCost number Estimated monthly Google Ads budget
Get organic and paid search totals for a single URL across every regional Semrush database.
Inputs and outputsParameter Type Required Description apiKeystring Yes Semrush API key urlstring Yes Full URL to analyze, for example https://example.com/pricing databasestring No Regional database code to restrict the report to, for example us limitnumber No Maximum number of rows to return, capped at 100,000 offsetnumber No Number of rows to skip, for pagination displayDatestring No Historical month in YYYYMM15 format displaySortstring No Sort order, for example rk_asc or ot_desc
Parameter Type Description databasesarray One row of URL totals per regional database ↳ database string Regional database the row belongs to ↳ domain string Domain name ↳ rank number Semrush popularity rating of the target, based on organic traffic ↳ organicKeywords number Keywords bringing users via the Google top 100 organic results ↳ organicTraffic number Traffic brought via the Google top 100 organic results ↳ organicCost number Estimated Google Ads price of the organic keywords ↳ paidKeywords number Keywords the target is buying in Google Ads ↳ paidTraffic number Traffic brought via paid search results ↳ paidCost number Estimated monthly Google Ads budget ↳ plaKeywords number Keywords used for product listing ads ↳ plaUniques number Number of unique product listing ads
Get the historical trend of a URL’s organic and paid search totals.
Inputs and outputsParameter Type Required Description apiKeystring Yes Semrush API key urlstring Yes Full URL to analyze, for example https://example.com/pricing databasestring Yes Regional database code, for example us, uk, de, or fr limitnumber No Maximum number of rows to return, capped at 100,000 offsetnumber No Number of rows to skip, for pagination displayDailyboolean No Return daily data points for the last 31 days instead of monthly ones displaySortstring No Sort order, for example dt_desc or dt_asc
Parameter Type Description historyarray Historical data points, in the requested sort order ↳ date string Data collection date in YYYYMMDD or YYYYMM format ↳ rank number Semrush popularity rating of the target, based on organic traffic ↳ organicKeywords number Keywords bringing users via the Google top 100 organic results ↳ organicTraffic number Traffic brought via the Google top 100 organic results ↳ organicCost number Estimated Google Ads price of the organic keywords ↳ paidKeywords number Keywords the target is buying in Google Ads ↳ paidTraffic number Traffic brought via paid search results ↳ paidCost number Estimated monthly Google Ads budget
List the keywords a single URL ranks for in Google organic search.
Inputs and outputsParameter Type Required Description apiKeystring Yes Semrush API key urlstring Yes Full URL to analyze, for example https://example.com/pricing databasestring Yes Regional database code, for example us, uk, de, or fr limitnumber No Maximum number of rows to return, capped at 100,000 offsetnumber No Number of rows to skip, for pagination displayDatestring No Historical month in YYYYMM15 format displaySortstring No Sort order, for example tr_desc, po_asc, or nq_desc displayFilterstring No Semrush display_filter expression, for example +|Nq|Gt|1000
Parameter Type Description keywordsarray Organic keywords the URL ranks for ↳ keyword string Keyword phrase ↳ position number Position in the Google top 100 results, where 0 means not ranked ↳ previousPosition number Position held at the previous data collection ↳ searchVolume number Average monthly searches for the keyword ↳ cpc number Average cost per click in USD (Google Ads) ↳ competition number Competitive density of advertisers bidding on the keyword (0-1) ↳ keywordDifficulty number Estimated difficulty of ranking for the keyword (0-100) ↳ trafficPercent number Share of the traffic to the target driven by this keyword ↳ traffic number Estimated traffic driven by this keyword ↳ trafficCost number Estimated traffic cost attributed to this keyword ↳ numberOfResults number Total organic results returned for the keyword ↳ intents array Keyword intents: 0 commercial, 1 informational, 2 navigational, 3 transactional ↳ trends array Relative search interest over the last 12 months
List the keywords a single URL is advertised on in Google Ads, with the ad copy used.
Inputs and outputsParameter Type Required Description apiKeystring Yes Semrush API key urlstring Yes Full URL to analyze, for example https://example.com/pricing databasestring Yes Regional database code, for example us, uk, de, or fr limitnumber No Maximum number of rows to return, capped at 100,000 offsetnumber No Number of rows to skip, for pagination displayDatestring No Historical month in YYYYMM15 format displaySortstring No Sort order, for example tr_desc, po_asc, or nq_desc displayFilterstring No Semrush display_filter expression, for example +|Nq|Gt|1000
Parameter Type Description keywordsarray Paid keywords the URL is advertised on ↳ keyword string Keyword phrase ↳ position number Position in the Google top 100 results, where 0 means not ranked ↳ searchVolume number Average monthly searches for the keyword ↳ cpc number Average cost per click in USD (Google Ads) ↳ competition number Competitive density of advertisers bidding on the keyword (0-1) ↳ traffic number Estimated traffic driven by this keyword ↳ trafficPercent number Share of the traffic to the target driven by this keyword ↳ trafficCost number Estimated traffic cost attributed to this keyword ↳ numberOfResults number Total organic results returned for the keyword ↳ trends array Relative search interest over the last 12 months ↳ title string Ad or product title ↳ description string Ad text
Get search volume, CPC, competition, difficulty, and intent for a single keyword.
Inputs and outputsParameter Type Required Description apiKeystring Yes Semrush API key phrasestring Yes Keyword to analyze databasestring Yes Regional database code, for example us, uk, de, or fr displayDatestring No Historical month in YYYYMM15 format
Parameter Type Description overviewjson Keyword metrics in the selected database ↳ keyword string Keyword phrase ↳ searchVolume number Average monthly searches for the keyword ↳ cpc number Average cost per click in USD (Google Ads) ↳ competition number Competitive density of advertisers bidding on the keyword (0-1) ↳ numberOfResults number Total organic results returned for the keyword ↳ keywordDifficulty number Estimated difficulty of ranking for the keyword (0-100) ↳ intents array Keyword intents: 0 commercial, 1 informational, 2 navigational, 3 transactional ↳ trends array Relative search interest over the last 12 months
Get search volume, CPC, and competition for a keyword across every regional Semrush database.
Inputs and outputsParameter Type Required Description apiKeystring Yes Semrush API key phrasestring Yes Keyword to analyze databasestring No Regional database code to restrict the report to, for example us
Parameter Type Description databasesarray One row of keyword metrics per regional database ↳ date string Data collection date in YYYYMMDD or YYYYMM format ↳ database string Regional database the row belongs to ↳ keyword string Keyword phrase ↳ searchVolume number Average monthly searches for the keyword ↳ cpc number Average cost per click in USD (Google Ads) ↳ competition number Competitive density of advertisers bidding on the keyword (0-1) ↳ numberOfResults number Total organic results returned for the keyword ↳ intents array Keyword intents: 0 commercial, 1 informational, 2 navigational, 3 transactional ↳ keywordDifficulty number Estimated difficulty of ranking for the keyword (0-100)
Get search volume, CPC, competition, difficulty, and intent for up to 100 keywords at once.
Inputs and outputsParameter Type Required Description apiKeystring Yes Semrush API key phrasesstring Yes Semicolon-separated list of keywords, for example ebay;seo databasestring Yes Regional database code, for example us, uk, de, or fr displayDatestring No Historical month in YYYYMM15 format
Parameter Type Description keywordsarray Keyword metrics, one row per submitted keyword ↳ keyword string Keyword phrase ↳ searchVolume number Average monthly searches for the keyword ↳ cpc number Average cost per click in USD (Google Ads) ↳ competition number Competitive density of advertisers bidding on the keyword (0-1) ↳ numberOfResults number Total organic results returned for the keyword ↳ keywordDifficulty number Estimated difficulty of ranking for the keyword (0-100) ↳ intents array Keyword intents: 0 commercial, 1 informational, 2 navigational, 3 transactional ↳ trends array Relative search interest over the last 12 months
Get the Keyword Difficulty Index for up to 100 keywords at once.
Inputs and outputsParameter Type Required Description apiKeystring Yes Semrush API key phrasesstring Yes Semicolon-separated list of keywords, for example ebay;seo databasestring Yes Regional database code, for example us, uk, de, or fr
Parameter Type Description keywordsarray Keyword difficulty scores, one row per submitted keyword ↳ keyword string Keyword phrase ↳ keywordDifficulty number Estimated difficulty of ranking for the keyword (0-100)
Find keywords semantically related to a seed keyword, with volume, difficulty, and relevance.
Inputs and outputsParameter Type Required Description apiKeystring Yes Semrush API key phrasestring Yes Keyword to analyze databasestring Yes Regional database code, for example us, uk, de, or fr limitnumber No Maximum number of rows to return, capped at 100,000 offsetnumber No Number of rows to skip, for pagination displaySortstring No Sort order, for example nq_desc or kd_asc displayFilterstring No Semrush display_filter expression, for example +|Nq|Gt|1000
Parameter Type Description keywordsarray Related keyword ideas for the seed keyword ↳ keyword string Keyword phrase ↳ searchVolume number Average monthly searches for the keyword ↳ cpc number Average cost per click in USD (Google Ads) ↳ competition number Competitive density of advertisers bidding on the keyword (0-1) ↳ numberOfResults number Total organic results returned for the keyword ↳ keywordDifficulty number Estimated difficulty of ranking for the keyword (0-100) ↳ relatedRelevance number Relevance of the result keyword to the seed keyword ↳ keywordSerpFeatures array IDs of all SERP features triggered by the keyword ↳ intents array Keyword intents: 0 commercial, 1 informational, 2 navigational, 3 transactional ↳ trends array Relative search interest over the last 12 months
Find broad-match and phrase-match variations of a seed keyword, with volume and difficulty.
Inputs and outputsParameter Type Required Description apiKeystring Yes Semrush API key phrasestring Yes Keyword to analyze databasestring Yes Regional database code, for example us, uk, de, or fr limitnumber No Maximum number of rows to return, capped at 100,000 offsetnumber No Number of rows to skip, for pagination displaySortstring No Sort order, for example nq_desc or kd_asc displayFilterstring No Semrush display_filter expression, for example +|Nq|Gt|1000
Parameter Type Description keywordsarray Broad match keyword variations of the seed keyword ↳ keyword string Keyword phrase ↳ searchVolume number Average monthly searches for the keyword ↳ cpc number Average cost per click in USD (Google Ads) ↳ competition number Competitive density of advertisers bidding on the keyword (0-1) ↳ numberOfResults number Total organic results returned for the keyword ↳ keywordDifficulty number Estimated difficulty of ranking for the keyword (0-100) ↳ keywordSerpFeatures array IDs of all SERP features triggered by the keyword ↳ intents array Keyword intents: 0 commercial, 1 informational, 2 navigational, 3 transactional ↳ trends array Relative search interest over the last 12 months
Find question-form keywords containing a seed keyword, with volume and difficulty.
Inputs and outputsParameter Type Required Description apiKeystring Yes Semrush API key phrasestring Yes Keyword to analyze databasestring Yes Regional database code, for example us, uk, de, or fr limitnumber No Maximum number of rows to return, capped at 100,000 offsetnumber No Number of rows to skip, for pagination displaySortstring No Sort order, for example nq_desc or kd_asc displayFilterstring No Semrush display_filter expression, for example +|Nq|Gt|1000
Parameter Type Description keywordsarray Question keywords containing the seed keyword ↳ keyword string Keyword phrase ↳ searchVolume number Average monthly searches for the keyword ↳ cpc number Average cost per click in USD (Google Ads) ↳ competition number Competitive density of advertisers bidding on the keyword (0-1) ↳ numberOfResults number Total organic results returned for the keyword ↳ keywordDifficulty number Estimated difficulty of ranking for the keyword (0-100) ↳ intents array Keyword intents: 0 commercial, 1 informational, 2 navigational, 3 transactional ↳ trends array Relative search interest over the last 12 months
List the domains and URLs ranking in Google organic search results for a keyword.
Inputs and outputsParameter Type Required Description apiKeystring Yes Semrush API key phrasestring Yes Keyword to analyze databasestring Yes Regional database code, for example us, uk, de, or fr limitnumber No Maximum number of rows to return, capped at 100,000 offsetnumber No Number of rows to skip, for pagination displayDatestring No Historical month in YYYYMM15 format
Parameter Type Description resultsarray Ranking pages for the keyword, in SERP order ↳ position number Position in the Google top 100 results, where 0 means not ranked ↳ positionType string Whether the position is a regular organic result or a SERP feature ↳ domain string Domain name ↳ url string URL of the ranking or advertised page ↳ keywordSerpFeatures array IDs of all SERP features triggered by the keyword ↳ serpFeatures array IDs of the SERP features the domain appears in for the keyword
List the domains and URLs advertising on a keyword in Google paid search results.
Inputs and outputsParameter Type Required Description apiKeystring Yes Semrush API key phrasestring Yes Keyword to analyze databasestring Yes Regional database code, for example us, uk, de, or fr limitnumber No Maximum number of rows to return, capped at 100,000 offsetnumber No Number of rows to skip, for pagination displayDatestring No Historical month in YYYYMM15 format
Parameter Type Description resultsarray Advertisers appearing for the keyword ↳ domain string Domain name ↳ url string URL of the ranking or advertised page ↳ visibleUrl string Display URL shown in the ad
List which domains advertised on a keyword month by month, with the copy each one used.
Inputs and outputsParameter Type Required Description apiKeystring Yes Semrush API key phrasestring Yes Keyword to analyze databasestring Yes Regional database code, for example us, uk, de, or fr limitnumber No Maximum number of rows to return, capped at 100,000 offsetnumber No Number of rows to skip, for pagination
Parameter Type Description adsarray Historical advertisers for the keyword, one row per domain and month ↳ domain string Domain name ↳ date string Data collection date in YYYYMMDD or YYYYMM format ↳ position number Position in the Google top 100 results, where 0 means not ranked ↳ url string URL of the ranking or advertised page ↳ title string Ad or product title ↳ description string Ad text ↳ visibleUrl string Display URL shown in the ad
List the domains that gained or lost the most organic and paid search visibility in a database.
Inputs and outputsParameter Type Required Description apiKeystring Yes Semrush API key databasestring Yes Regional database code, for example us, uk, de, or fr limitnumber No Maximum number of rows to return, capped at 100,000 offsetnumber No Number of rows to skip, for pagination displayDatestring No Historical month in YYYYMM15 format displaySortstring No Sort order, for example om_desc or tm_desc
Parameter Type Description domainsarray Domains ranked by change in search visibility ↳ domain string Domain name ↳ rank number Semrush popularity rating of this domain, based on organic traffic ↳ organicKeywords number Keywords this domain ranks for in the Google top 100 organic results ↳ organicTraffic number Traffic this domain gets from the Google top 100 organic results ↳ organicCost number Estimated Google Ads price of this domain organic keywords ↳ paidKeywords number Keywords this domain is buying in Google Ads ↳ paidTraffic number Traffic this domain gets from paid search results ↳ paidCost number Estimated monthly Google Ads budget of this domain ↳ organicKeywordsDifference number Change in organic keyword count since the previous month ↳ organicTrafficDifference number Change in organic traffic since the previous month ↳ organicCostDifference number Change in organic cost since the previous month ↳ paidKeywordsDifference number Change in paid keyword count since the previous month ↳ paidTrafficDifference number Change in paid traffic since the previous month ↳ paidCostDifference number Change in paid cost since the previous month
List the highest-ranked domains in a regional database by Semrush rank.
Inputs and outputsParameter Type Required Description apiKeystring Yes Semrush API key databasestring Yes Regional database code, for example us, uk, de, or fr limitnumber No Maximum number of rows to return, capped at 100,000 offsetnumber No Number of rows to skip, for pagination displayDatestring No Historical month in YYYYMM15 format displayFilterstring No Semrush display_filter expression, for example +|Or|Gt|100000
Parameter Type Description domainsarray Top-ranked domains in the database ↳ domain string Domain name ↳ rank number Semrush popularity rating of this domain, based on organic traffic ↳ organicKeywords number Keywords this domain ranks for in the Google top 100 organic results ↳ organicTraffic number Traffic this domain gets from the Google top 100 organic results ↳ organicCost number Estimated Google Ads price of this domain organic keywords ↳ paidKeywords number Keywords this domain is buying in Google Ads ↳ paidTraffic number Traffic this domain gets from paid search results ↳ paidCost number Estimated monthly Google Ads budget of this domain
Get the Authority Score and backlink profile totals for a domain, subdomain, or URL.
Inputs and outputsParameter Type Required Description apiKeystring Yes Semrush API key targetstring Yes Root domain, subdomain, or URL to analyze targetTypestring No Scope of the target: root_domain, domain, or url. Defaults to root_domain
Parameter Type Description overviewjson Backlink profile totals for the target ↳ authorityScore number Semrush Authority Score (0-100) ↳ total number Total number of backlinks ↳ domainsNum number Number of referring domains ↳ urlsNum number Number of referring URLs ↳ ipsNum number Number of referring IPs ↳ ipClassCNum number Number of referring class C subnets ↳ followsNum number Number of followed backlinks ↳ nofollowsNum number Number of nofollow backlinks ↳ sponsoredNum number Number of backlinks marked rel="sponsored" ↳ ugcNum number Number of backlinks marked rel="ugc" ↳ textsNum number Number of text backlinks ↳ imagesNum number Number of image backlinks ↳ formsNum number Number of form backlinks ↳ framesNum number Number of frame backlinks
List the backlinks pointing at a domain, subdomain, or URL, with source page, anchor, and authority.
Inputs and outputsParameter Type Required Description apiKeystring Yes Semrush API key targetstring Yes Root domain, subdomain, or URL to analyze targetTypestring No Scope of the target: root_domain, domain, or url. Defaults to root_domain limitnumber No Maximum number of rows to return, capped at 100,000 offsetnumber No Number of rows to skip, for pagination displaySortstring No Sort order, for example page_ascore_desc or last_seen_desc displayFilterstring No Semrush display_filter expression, for example +|type||newlink
Parameter Type Description backlinksarray Backlinks pointing at the target ↳ pageAuthorityScore number Authority Score of the source page ↳ sourceTitle string Title of the linking page ↳ sourceUrl string URL of the linking page ↳ targetUrl string URL the backlink points to ↳ anchor string Anchor text of the backlink ↳ nofollow string Raw rel="nofollow" flag as returned by the API ↳ externalLinksNum number External links on the source page ↳ internalLinksNum number Internal links on the source page ↳ firstSeen number Unix timestamp when the link was first seen ↳ lastSeen number Unix timestamp when the link was last seen
List the domains linking to a target, with Authority Score, backlink count, and country.
Inputs and outputsParameter Type Required Description apiKeystring Yes Semrush API key targetstring Yes Root domain, subdomain, or URL to analyze targetTypestring No Scope of the target: root_domain, domain, or url. Defaults to root_domain limitnumber No Maximum number of rows to return, capped at 100,000 offsetnumber No Number of rows to skip, for pagination displaySortstring No Sort order, for example backlinks_num_desc or domain_ascore_desc displayFilterstring No Semrush display_filter expression, for example +|zone||com
Parameter Type Description domainsarray Domains linking to the target ↳ domainAuthorityScore number Authority Score of the referring domain ↳ domain string Domain name ↳ backlinksNum number Number of backlinks ↳ ip string IP address ↳ country string Country of the referring domain ↳ firstSeen number Unix timestamp when the link was first seen ↳ lastSeen number Unix timestamp when the link was last seen
List the IP addresses linking to a target, with the domain and backlink counts behind each one.
Inputs and outputsParameter Type Required Description apiKeystring Yes Semrush API key targetstring Yes Root domain, subdomain, or URL to analyze targetTypestring No Scope of the target: root_domain, domain, or url. Defaults to root_domain limitnumber No Maximum number of rows to return, capped at 100,000 offsetnumber No Number of rows to skip, for pagination displaySortstring No Sort order, for example domains_num_desc or backlinks_num_desc
Parameter Type Description ipsarray IP addresses linking to the target ↳ ip string IP address ↳ country string Country of the referring domain ↳ domainsNum number Number of referring domains ↳ backlinksNum number Number of backlinks ↳ firstSeen number Unix timestamp when the link was first seen ↳ lastSeen number Unix timestamp when the link was last seen
Break a target’s backlink profile down by the top-level domain of its referring domains.
Inputs and outputsParameter Type Required Description apiKeystring Yes Semrush API key targetstring Yes Root domain, subdomain, or URL to analyze targetTypestring No Scope of the target: root_domain, domain, or url. Defaults to root_domain limitnumber No Maximum number of rows to return, capped at 100,000 offsetnumber No Number of rows to skip, for pagination displaySortstring No Sort order, for example domains_num_desc or backlinks_num_desc
Parameter Type Description zonesarray Referring domain and backlink counts per top-level domain ↳ zone string Top-level domain zone ↳ domainsNum number Number of referring domains ↳ backlinksNum number Number of backlinks
Break a target’s backlink profile down by the country of its referring domains.
Inputs and outputsParameter Type Required Description apiKeystring Yes Semrush API key targetstring Yes Root domain, subdomain, or URL to analyze targetTypestring No Scope of the target: root_domain, domain, or url. Defaults to root_domain limitnumber No Maximum number of rows to return, capped at 100,000 offsetnumber No Number of rows to skip, for pagination displaySortstring No Sort order, for example domains_num_desc or backlinks_num_desc
Parameter Type Description countriesarray Referring domain and backlink counts per country ↳ country string Country of the referring domain ↳ domainsNum number Number of referring domains ↳ backlinksNum number Number of backlinks
List the anchor texts used in backlinks to a target, with domain and backlink counts.
Inputs and outputsParameter Type Required Description apiKeystring Yes Semrush API key targetstring Yes Root domain, subdomain, or URL to analyze targetTypestring No Scope of the target: root_domain, domain, or url. Defaults to root_domain limitnumber No Maximum number of rows to return, capped at 100,000 offsetnumber No Number of rows to skip, for pagination displaySortstring No Sort order, for example backlinks_num_desc or domains_num_desc
Parameter Type Description anchorsarray Anchor text distribution for the backlink profile ↳ anchor string Anchor text of the backlink ↳ domainsNum number Number of referring domains ↳ backlinksNum number Number of backlinks ↳ firstSeen number Unix timestamp when the link was first seen ↳ lastSeen number Unix timestamp when the link was last seen
List the pages of a target that attract backlinks, with response code and link counts.
Inputs and outputsParameter Type Required Description apiKeystring Yes Semrush API key targetstring Yes Root domain, subdomain, or URL to analyze targetTypestring No Scope of the target: root_domain, domain, or url. Defaults to root_domain limitnumber No Maximum number of rows to return, capped at 100,000 offsetnumber No Number of rows to skip, for pagination displaySortstring No Sort order, for example domains_num_desc or backlinks_num_desc
Parameter Type Description pagesarray Indexed pages of the target and the links they attract ↳ sourceUrl string URL of the linking page ↳ sourceTitle string Title of the linking page ↳ responseCode number HTTP status code the page returned when last crawled ↳ backlinksNum number Number of backlinks ↳ domainsNum number Number of referring domains ↳ lastSeen number Unix timestamp when the link was last seen ↳ externalLinksNum number External links on the source page ↳ internalLinksNum number Internal links on the source page
List domains with a backlink profile similar to the target, ranked by shared referring domains.
Inputs and outputsParameter Type Required Description apiKeystring Yes Semrush API key targetstring Yes Root domain, subdomain, or URL to analyze targetTypestring No Scope of the target: root_domain, domain, or url. Defaults to root_domain limitnumber No Maximum number of rows to return, capped at 100,000 offsetnumber No Number of rows to skip, for pagination
Parameter Type Description competitorsarray Domains with backlink profiles similar to the target ↳ authorityScore number Semrush Authority Score (0-100) ↳ domain string Domain name ↳ similarity number Backlink profile similarity to the target ↳ commonRefdomains number Referring domains shared with the target ↳ domainsNum number Number of referring domains ↳ backlinksNum number Number of backlinks