Semrush Report
semrush_reportFull Description
Execute Semrush marketing intelligence report (SEO/PPC/traffic data). Requires: exact parameters from semrush_report_schema. Avoid-if: parameters unknown; call semrush_report_schema first.Semrush is a leading marketing intelligence platform providing SEO, PPC, content, and competitive research data.
Parameters
reportstringtoolkitstringblack_liststringExclude domains from the report output (separated by the '|' symbol).
business_namestringThe business name associated with the domain. It should match the name from the Google My Business profile.
campaign_idstringCampaign ID for position tracking project. Required to identify which tracking campaign to retrieve data from.
categorystringCategory name from the list of 110 categories. For example, human_resources.Refer to Industry categories to find the list of all available values along with the corresponding Market Overview business categories.
countrystringISO 3166-1 country code. Use-if: Trends geo filter; trends toolkit is available in toolkit enum. IMPORTANT: Call semrush_toolkit_info(toolkit='trends', table='geocodes') for valid codes.
country_codestringCountry code, as defined by ISO 3166-1 code reference (column Alpha-2 code).
databasestringRegional database code. Use-if: specific region. Avoid-if: global data. Values: us, uk, de, etc. mobile (prefixed with 'mobile-'), and extended (suffixed with '-ext').
date_beginstringStart date of the selected period.
date_endstringEnd date of the selected period.
device_typestringThis parameter lets you choose whether to retrieve desktop or mobile data. If the parameter isn't specified, data for all devices is shown by default.
display_dailystringThis parameter allows you to get daily updates on position changes that occurred in the last 30 days or more. If the parameter isn't specified, your report will show monthly results for the current and previous months. This option is applied only when display_positions is set.
display_datestringDate parameter for historical data analysis. Format and range varies by toolkit.
display_filterstringFilter expression using pipe '|' as separator. Format: <sign>|<field>|<operation>|<value>. Multiple filters: separate with '|'. Example: '+|Po|Eq|10' or multiple: '+|Po|Eq|10|+|Pd|Gt|5'. IMPORTANT: Call semrush_toolkit_info(toolkit, table='operators') for valid operators and fields. The pipe '|' is the required separator between all filter components.
display_limitnumberNumber of results to return. Default and maximum values vary by toolkit. Use-if: pagination needed. Avoid-if: default limit ok.
display_offsetnumberSkip N results. Use-if: pagination. Avoid-if: first page. Requires: display_limit.
display_positionsstringThe new value indicates keywords that brought a subfolder to Google's top 100 organic or paid search results;lost indicates keywords that no longer bring a subfolder to Google's top 100 organic or paid search results;rise indicates keywords that helped a subfolder get a higher ranking in Google's top 100 organic or paid search results;fall indicates keywords that are currently helping a subfolder remain in the Google top 100, though its ranking may have decreased.
display_positions_typestringThe organic value indicates keywords for which the subfolder ranks only in the traditional positions on the SERP. This is the default value.all indicates keywords for which the subfolder ranks for traditional positions and the keywords where the subfolder ranks in SERP Features.serp_features indicates keywords for which the subfolder ranks only in SERP Features.
display_sortstringSort parameter. Use-if: ordering needed. IMPORTANT: Call semrush_toolkit_info(toolkit, table='sort') for valid sort options.
display_tagsstringTags, separated by the '|' symbol. The '-' sign can be used to exclude a tag. If only the included tags are present in the expression, then the OR logic is used to group them. If both included and excluded tags are present, then each category is grouped using the OR logic, but then the AND logic is used to join the categories.
display_tags_conditionstringA newer variation of the display_tags filter. Tags separated by the | symbol (the OR logic) or the & symbol (the AND logic). To exclude a tag, use the ! symbol. All tags used in either campaign update or filter parameters are sanitized before use following these rules: 1) Any characters other than letters, digits, spaces, or specific allowed symbols, such as .,&,-,$,+,', and #, are removed. 2) Sequences of two or more spaces are replaced with a single space. 3) Three or more underscores in a row are replaced with two underscores. 4) Underscores at the beginning or end of tags are trimmed. 5) All tags are converted to lowercase and spaces are trimmed. IMPORTANT: When using this parameter, any tag values that include special characters must be double-encoded. For example, the "name&co" tag must be submitted as "name%2526co". Here, %25 is decoded as the % character, and then %26 is decoded as the & character.
domainstringClean domain format. Use-if: domain analysis. Avoid-if: subdomain/subfolder; use target.
domainsstringURL-encoded string that contains domains in a specified format, separated by the | symbol.This format requires a domain to include <sign>|<type>|<domain>, where: • <sign> means possible operations: +, -, *, or /.• <type> can be or for organic keywords or ad for paid keywords.• <domain> indicates a domain name.You can use the following combinations to see:• Shared keywords: *|or|<your domain>|*|or|<domain2>|*|or|<domain3> (in this example)• All keywords: *|or|<your domain>|+|or|<domain2>|+|or|<domain3>• Unique keywords for your domain: *|or|<your domain>|-|or|<domain2>|-|or|<domain3>• Untapped keywords for your domain: *|or|<domain2>|+|or|<domain3>|-|or|<your domain>• Missing keywords for your domain: *|or|<domain2>|*|or|<domain3>|-|or|<your domain>• Keywords only in one of the domains: *|or|<your domain>|/|or|<domain2>|/|or|<domain3> (only available via API)To encode the characters, use a URL encoder or refer to the Encode special characters section on the Construct your API call page.
export_columnsarrayColumn selection for customizing report output. Specify column names as array elements to include only needed data. IMPORTANT: Call semrush_toolkit_info(toolkit, table='columns') to discover available columns for each report. Supports analytics columns like organic/paid keywords, traffic metrics, competitive data, and performance indicators. Each toolkit has specific column sets optimized for different analysis types.
export_decodestringIf this parameter is set to 0, the response will be sent as a URL-encoded string; otherwise, the response won't be converted.
export_escapestringIf this parameter is set to 1, the report's columns will be wrapped in double quotation marks (").
filterstringFilter projects by user permissions. Use one of the possible values: - all: No filter. - own: Return only the projects owned by the user with the submitted ID key. Used by default. - shared: Return shared projects only. - corporate: For corporate subscribers only.
filter_enginestringSearch engine
geo_typearrayType of geographical coverage.If the value of the parameter is set to either continent or subcontinent, the geo column will be populated with corresponding region codes. Refer to Geo type codes to find the list of supported region codes.If this parameter isn't specified, the country data is shown by default. To define a country code, use the ISO 3166-1 code reference, column Alpha-2 code.
idstringProject ID. Learn how to get your project ID › Navigate to the main Projects page and select the required project. Check the page URL displayed in your browser's address bar. It will look like: https://www.semrush.com/projects/6647718. The number after 'projects' is your project ID. In this example, it's 6647718. Copy and save it for future requests.
include_forecasted_itemsbooleanThe parameter indicates whether the response includes forecasted items for the next four weeks. The display_date parameter must be set to the current month.The default value is false.
issueidstringAudit issue ID. Use-if: issue_details. Avoid-if: no audit. Requires: meta_issues report.
limitnumberThe limit. Default value: 7.
linktype_filterstringControls inclusion/exclusion of specific SERP feature rankings in reports. Value meanings: 0 - Include local pack and hotel rankings (default), 1 - Include only local pack and hotel rankings (organic rankings excluded), 2 - Exclude local pack rankings, 524288 - Exclude hotels rankings, 524290 - Exclude local pack and hotel rankings, 536870912 - Exclude AI Overview rankings, 536870914 - Exclude local pack and AI Overview rankings, 537395202 - Exclude local pack, hotels, and AI Overview rankings.
location_idnumberLocation ID
main_domainstringThe domain URL (without a mask) that will have its data displayed in a special block at the top of the competitors list in the response. Use a proper mask in requests with the url parameter. URL type examples: rootdomain: *.ebay.com/*, subdomain: www.ebay.com/*, subfolder: ebay.com/motors/*, url: http://www.ebay.com/motors/. Choose the appropriate mask format based on the scope of analysis you need. Important: Encode parameter values containing special characters such as / in the URL.
namestringLocation name to search for.
newlost_filterstringReturn only new or lost URLs.
offsetnumberThe offset. Default value: 0.
pagenumberThe page number. Default value: 1
pageidstringPage ID from crawl. Use-if: page_info report. Avoid-if: no crawl. Requires: page_list report.
phrasestringTarget keyword. Use-if: keyword analysis. Avoid-if: domain analysis.
positions_typestringThe organic value indicates results with only the traditional organic positions on the SERP. This is the default value.The all vale indicates results that contain the traditional organic positions and the SERP Features as positions. In that case, the Pt column will return -1 for the organic or SERP feature code.
project_idstringSemrush project ID. Use-if: project reports. Avoid-if: domain reports. Requires: valid Semrush project.
search_stringstringThis filter lets you get data for subfolders that contain the specified search term in their path.
segmentstringAn operator that defines the audience scope:contains unites the audience of the selected_targets.shares combines the audience who visited all the selected_targets.excludes selects the audience who visited other selected_targets domains but not the one you exclude.
selected_targetsarrayArray of domains separated by a comma. These are the domains selected from the targets parameter for analysis.The maximum number of domains depends on the number of domains in targets (up to 5).
serp_feature_filterstringFilters the report output for keywords that have a specific SERP feature on the SERP.For a full list of available features, refer to Basic doc > SERP features. Filters the report output for keywords that have a specific SERP feature on the SERP. Available SERP Features: aai (Ask AI), adb (Google Ads bottom), adt (Google Ads top), aic (AI chat), aim (AI summary), aio (AI overview), ais (AI stories), amp (AMP), app (Apps block), asr (AI search results), car (Organic carousel), ctt (Citations), drp (Double response), flg (Flights), fsn (Featured snippet), geo (Local pack), hot (Hotels), img (Images), ind (Indented), job (Jobs), kng (Knowledge panel), knw (Instant answer), mac (Media actions), new (Top stories), org (Organic), rel (People also ask), res (Related searches), rev (Reviews), rsp (Response), shp (Shopping ads), spb (Sports Onebox), stl (Sitelinks), tea (Teaser), twt (Twitter), vib (Featured video), vid (Video). You can select multiple SERP features or use 'none' to filter keywords without any SERP features.
snapshot_idstringAudit snapshot ID. Use-if: historical audit. Avoid-if: latest audit. Requires: snapshots report.
sortstringThe sorting type. Default value: DESC
sort_orderstringThis parameter lets you sort the data. For descending order, append _desc; for ascending order, append _asc. If this parameter isn't specified, data is shown in descending order by default.
subdomainstringUnique name of a website's subdomain you'd like to investigate.
subfolderstringUnique name of a website's subfolder you'd like to investigate.
targetstringPrimary analysis subject. Use-if: single domain/URL analysis. Avoid-if: multi-domain; use targets.
target_typestringType of requested target.
target_typesarrayTarget type array. Use-if: with targets parameter. Avoid-if: no targets. Requires: matching targets array.
targetsarrayArray of domains/URLs. Use-if: multi-domain analysis. Avoid-if: single domain; use target. Requires: target_types array.
top_endnumberThe bottom of the position range to search for competitors on SERP.
top_filterstringPositions filter.
top_startnumberThe top of the position range to search for competitors on SERP.
traffic_channelstringThis parameter lets you filter traffic sources by a specific channel type. If this parameter isn't specified, data for all traffic channels is shown by default.
traffic_typestringThis parameter allows you to retrieve organic or paid traffic. If this parameter isn't specified, data for all traffic types is shown by default.
typestringLocation type. Values: autonomous community, barrio, borough, canton, city, city region, country, county, department, district, governorate, municipality, municipality, district, neighborhood, okrug, postal, code, prefecture, province, quarter, region, state, sub-district, sub-ward, territory, union territory
urlstringExact URL format. Use-if: page analysis. Avoid-if: domain analysis. Requires: exact crawled format.
url_typestringType of competitor URLs. If omitted, the value from the campaign's settings is used.
use_volumestringSpecifies the level of CPC and volume to use in the report. If omitted, the bottom-most available level is used.