Start Exploring Keyword Ideas

Use Serpstat to find the best keywords for your website

11625 48
Serpstat updates 13 min read October 5, 2020

How To Track Website Positions Via API: New Methods In Serpstat API For Rank Tracking

Как отслеживать позиции сайта через API: новые методы в API Serpstat для Мониторинга позиций
Максим Астахов
Maksym Astakhov
Product/Project Manager at Serpstat
Rank Tracking API is a new and important step in the development of our service. Public API methods give users the freedom of action and clear flow in working with data. Also, Rank Tracker API will not spend your credits. The completeness of the data will correspond to the interface, and in some cases will allow you to get even more information.
For example, in the Keywords report, we show only the best position of the domain, and using the API method, it will be possible to see all domain positions for the selected keyword.
Today I will talk about Rank Tracking API, how it works without spending credits, and what data it gives. Let's start :)

What is Rank Tracking API
API (Application Programming Interface) is a data retrieval method that helps you quickly get large amounts of information without using the Serpstat interface. It also allows you to integrate service analytics into your internal tools.

Serpstat API covers the modules Site Analysis, Keyword Analysis, Backlink Analysis, Site Audit, Rank Tracker.

The provided functionality allows you to save a lot of time. Plus, the blog has tons of tutorials. They will help specialists who do not know how to code, but who Google well ;)

Benefits of Rank Tracker API
Rank Tracker API works differently from the APIs of other modules. It works with ready-made user data, and you won't spend additional credits for using the methods. You get the following benefits:
Using the API without spending the Monitoring credits.
Uploading data for all projects without using the Serpstat interface. Each method makes it possible to obtain data on the corresponding reports: Keywords, Pages, Competitors, Search history.
Fast work with large amounts of data on especially large projects.
The ability to customize a number of your queries with different sets of parameters: regions and dates, as you like.
Using data to build your own dashboard.

Methods available for tracking positions
The first version of Rank Tracker API is currently available. It includes methods that will give only the most important data for the project. But we continue to work, so two more versions are expected to be developed.

In the first version, 4 methods are available, but they will allow you to fully obtain data from your project's reports in Rank Tracker.

Method #1: Regions and their states (getProjectRegions)
This method is intended to get all regions of the project and their statuses. Both active and deactivated regions will return. The user only needs to specify the project ID in the request. The response will contain a list of region ID and region settings.

Request example:
    "id": 1,
    "method": "RtApiSearchEngineProcedure.getProjectRegions",
    "params": {
        "projectId": 1

Method #2: Getting a list of domains from the top 20 for project keywords (getTopCompetitorsDomainsHistory)
The procedure replaces the Competitors report and will allow you to get a list of domains in the top 20 results for at least 2 keywords of the project in 1 region.
In the request, you must specify 1 region identifier in the project for which data is needed.
If the project has several regions, then you can make several requests in parallel separately by region.
It is possible not to specify the period by dates, then the method will return data for a maximum of the last 30 days.
If you want to specify a period, it should be no more than 30 days. If you need to get data for a longer period, make several requests with different time intervals.
You can shorten the response by passing in the request only those domains for which data is needed. (For example, if you are interested in specific competitors, and not everything that is in the SERP).
When adding a project domain, the method returns data on the project domain and its mirrors.
If you specify a mirror domain, it returns data only for the specified domain.
Additionally, the answer can be sorted by one of the following parameters:

  • domain alphabetically;
  • traffic distribution (by default from highest to lowest if no sorting is specified);
  • average position (organic);
  • average position in the top block (for context);
  • average position in the side block (for context);
  • average position in the bottom block (for context);
  • the number of project phrases for which the domain was found in search results (for organic);
  • the number of phrases for which the domain is out of the top (for organic);
  • the number of project phrases for which the domain was found in advertising (for context);
  • the number of project phrases for which the domain was not in the context (for context);
  • the number of project phrases for which there was no context in the search results (for context);
  • the number of ads in SERPs by domain (for context only);
  • the number of phrases for which the domain was in the top ad unit (for context);
  • the number of phrases for which the domain was in the side ad unit (for context);
  • the number of phrases for which the domain was in the bottom ad unit (for context).
And if no sorting is specified, then domains will be sorted from highest to lowest by the Traffic distribution parameter.

Pagination size: 20, 50, 100, 200, 500 results per page. If not specified, there will be 100 results in 1 response page by default.

The data will be available for both organic and contextual regions.

The answer is an array of domains, each of which has a list of dates with data for each of them.

Request example:
    "id": "1",
    "method": "RtApiSerpResultsProcedure.getTopCompetitorsDomainsHistory",
   "params": {
        "projectId": 651696,
        "projectRegionId": 249084,
        "page": 1,
        "pageSize": 20,
        "dateFrom": "2020-08-27",
        "dateTo": "2020-08-28",
        "sort": "domain",
        "order": "asc",
        "domains": [

Method #3: Getting the search history in the region for keywords (getKeywordsSerpResultsHistory)
The procedure is an analog of the Search History report.

The method only works for one region and only for organic. If you want to get results for several regions for a given keyword, you'll need to make several queries with different regions.
If you do not specify dates, then the method will return data for the last 30 days.
It is not possible to receive data for a period longer than 30 days in one request. If you need a longer period, then you can split it into several separate requests.
Users may not specify keywords, as a result they will receive an answer for 1000 keywords from the project in alphabetical order from A to Z.
If you need to receive an answer for more than 1000 keywords, you will need to split the request and send a group of keywords in each.
In response, you will receive an array of keywords, in which there will be a search history for each word, and the top results for each date.
Additionally, the answer can be sorted by date from new to old (by default) and vice versa, or by keyword alphabetically.
Pagination size: 20, 50, 100, 200, 500 results per page. If you do not specify the default in 1 answer page, there will be 100 results.

The response will return an array of keywords for which the top results were requested.

Each key contains a list of dates with checks for the project within the requested period. And for each date - the top results, consisting of position and URL.

Request example:
    "id": 1,
    "method": "RtApiSerpResultsProcedure.getKeywordsSerpResultsHistory",
    "params": {
        "projectId": 715910,
        "projectRegionId": 262189,
        "page": 1,
        "pageSize": 500,
        "dateFrom": "2020-05-19",
        "dateTo": "2020-05-21",
        "sort": "date",
        "order": "asc",
        "keywords": ["1"]

Method #4: Getting a list of pages and their positions by domain (getUrlsSerpResultsHistory)
The procedure is analogous to the combined Pages and Keywords reports. It allows you to get in the context of 1 region all the desired domain positions, not only the best.
You can define a specific domain for which data is needed: for example, your competitor's domain. If the domain is not specified, then the default response is data on the project domain. Additionally, you can get the results of a separate page.
If you do not need data for the entire domain, then you can specify a URL in the request and get information only on it.
You can specify up to 1000 keyword from the project.
If users need more, they need to send several requests with different groups of keywords.
If you do not specify keywords, then 1000 phrases will be selected, sorted alphabetically from A to Z.
You can specify the period for which the data is needed.
If not specified, the data for the last 30 days from the last check will be returned.
The answer can be sorted by keyword alphabetically or
by date from new to old. By default, keywords will be sorted alphabetically from A to Z.
Pagination size: 20, 50, 100, 200, 500 results per page. But if no page size is specified, the default will be 100 results per page.
You will receive an array of keywords in response, for which you requested the result. Each keyword has a history of dates from a specified period.
For each date for the specified domain, you will receive the position and URL that was found in the top of the search results.
If there was a request for a result by the contextual region, then there will be a separate parameter indicating the ad unit in which the ad was encountered.

Request example:
    "id": 1,
    "method": "RtApiSerpResultsProcedure.getUrlsSerpResultsHistory",
    "params": {
        "projectId": 704912,
        "projectRegionId": 259628,
        "page": 1,
        "pageSize": 500,
        "dateFrom": "2020-05-07",
        "dateTo": "2020-05-08",
        "sort": "date",
        "order": "desc",
        "keywords": [],
        "domain": "авито холодильник&roistat=direct2_search_7016883518_авито холодильник&roistat_referrer=none&roistat_pos=premium_1&yclid=2444208711193363538"

Pricing plans including API
Rank Tracking API is available for users of the following pricing plans:

As you already understood, Rank Tracking API significantly expands your capabilities for tracking positions, speeds up your work, and does not spend credits. With it, you can quickly get all the data you need, configure a number of queries with different sets of parameters and use the data to build your dashboards. And this is only the first version, therefore, there will be more;)

If you have any questions about the API - ask them in the comments or ask our technical support :)
To keep abreast of all the news from the Serpstat blog, subscribe to our newsletter. And also join our group on Facebook and follow our Twitter.

Speed up your search marketing growth with Serpstat!

Keyword and backlink opportunities, competitors' online strategy, daily rankings and SEO-related issues.

A pack of tools for reducing your time on SEO tasks.

Get free 7-day trial

Rate the article on a five-point scale

The article has already been rated by 21 people on average 5 out of 5
Found an error? Select it and press Ctrl + Enter to tell us

Share this article with your friends

Are you sure?

Introducing Serpstat

Find out about the main features of the service in a convenient way for you!

Please send a request, and our specialist will offer you education options: a personal demonstration, a trial period, or materials for self-study and increasing expertise — everything for a comfortable start to work with Serpstat.




We are glad of your comment
I agree to Serpstat`s Privacy Policy.

Thank you, we have saved your new mailing settings.

Report a bug

Open support chat
mail pocket flipboard Messenger telegramm