When working with Semrush data, you can sometimes notice that API results don’t exactly match what you see in the Semrush UI. In most cases, it’s because of different settings, filters, or data scopes.
The most common reasons for such discrepancies and tips on how to avoid them are described further.
If you need help with troubleshooting, contact Semrush Tech Support. To help the Support team investigate and resolve the issue efficiently, provide a detailed description of the problem with the API request, including the specific feature or endpoint involved, any error messages received, and the type of user account you have.
Filters applied differently
The UI may have filters set (for example, keyword type, SERP features, and backlink type), while the API call retrieves unfiltered data—or vice versa. In some cases, filters in the API call are misconfigured, producing different results from the UI.
Solution: Always double-check that the same filters are applied both in the UI and in the API request.
Different data scope (domain vs. subdomain vs. subfolder)
The Semrush UI lets you drill down into subdomains or subfolders, but some API endpoints only support the root domain level. For example, the Backlinks overview endpoint does not provide subfolder scope, while the UI does. Comparing data from a subfolder in the UI with a root domain in the API will naturally lead to mismatches.
Solution: Ensure that you are comparing the same scope. If the API doesn’t support the same level, the results will not align.
Other possible differences
Date ranges and update cycles: data may be updated on a slightly different schedule in the UI and API (for example, the API pulls fresh data from the database, while the UI still shows cached data).
Metric definitions and aggregation: some metrics may be rounded or aggregated differently between API and UI (for example, traffic in the UI is shown as a monthly total, but the API provides daily data that needs to be summed).
Limits and pagination: certain endpoints (for example, top-N results) return only part of the dataset unless pagination is used (the display_limit and display_offset parameters).
API call and UI tool naming: differences in naming may lead to confusion (for example, the Domain Overview report in the UI uses the domain_organic endpoint).