Why API?

Analyze Big Data at lightning speed. Display and analyze only what is relevant to your website’s optimization, instead of spending hours parsing through tons of data.

Enhance your own software. Our API is designed to be integrated simply into any kind of application, widget, or dashboard; and it allows you to visualize our data through custom user interface. It also fits nicely with solutions built on e-commerce platforms or CMS like Magento, Shopify, Drupal, PrestaShop, and many others.

Benefit from valuable data. Analyze competitive strategies in organic and paid search, their display ads, and backlinks. Launch projects to track any keyword or domain at any location and get daily updates on websites’ position changes.

Getting Started

Ready to start integrating with SEMrush API? You can be up and running in just a few short steps.

What’s inside?

Historical data collected since 2012 is only available for the US database. Data for other databases is available from a later date.

How many API units do you need?

We distinguish between three types of requests made via SEMrush API: lines, calls, and keywords. A line request involves the uploading of data from different reports. A call request should be used when you want to create, update, or delete a project. You should apply a keyword request when you need to add new search terms to your tracking campaign. In this case, you will be charged additionally for each new added keyword.

The cost of requests is measured in units. Units are determined by the type of report or request. Delivering historical data requires more units than live data. One dollar is equal to approximately 20,000 API units.

For example, one line of results in the Organic Keywords Report costs 10 units for live results and 50 units for historical data. If you’d like to list 1,000 organic keywords for 100 domains, you will be charged for 1,000,000 and 5,000,000 units, respectively (1,000 keywords * 10 API units for live data * 100 domains = 1,000,000 units; 1,000 keywords *50 API units for historical data * 100 domains= 5,000,000 units).

We recommend that you calculate your API request limit before purchasing an API package. You can increase your request limit by upgrading your subscription or by purchasing API units.