Get access to 30+ marketing and SEO tools. analyze competitors, keywords, and backlinks for free.. Free Sign Up!

Keyword research

3.1. Keyword overview

The SerpstatKeywordProcedure.getKeywordsInfo method provides you with the keyword overview showing its volume, CPC, level of competition, etc. The data set is similar to the Overview report in Keyword research.

General request parameters and instructions for using Serpstat API

Search databases available

Request parameters

Parameter

Description

Type

Optional

Default value

Value Options

id

A request id: the response contains the same id. Enter any number (number) or text (string) value

int/string

no

1, test

method

API method name

string

no

SerpstatKeywordProcedure.getKeywordsInfo

params

The object with parameters {...}, it lists all the following parameters and arrays [...]

array

no

keywords

Array with keywords to search for

array

no

["iphone", "iphone 11"]

se

ID of the search base to be searched (there are both Google and Yandex databases available, for example: g_us or y_157).

string

no

g_us

sort

Order of sorting the results in the format: {{{field}}: {{order}}}

field — field to sort by (all numeric fields, except suggestions_count and keywords_count)

order — sort direction (asc — ascending, desc — descending)

array

yes

[ ]empty array

{"cost": "desc"}

filters

Filter conditions

array

yes

"right_spelling": true$ "right_spelling": false

"minus_keywords": ["case", "red"]

"cost": "10";
"cost_to": "10";
"cost_from": 1

"concurrency": "7";
"concurrency_to": "7";
"concurrency_from": 1

"found_results": "100";
"found_results_to": "500";
"found_results_from": 300

"region_queries_count": "1000";
"region_queries_count_to": "2000";
"region_queries_count_from": 300

"region_queries_count_wide": "1000";
"region_queries_count_wide_to": "1500";
"region_queries_count_wide_from": 100

Response parameters

Parameter

Description

id

Response id corresponds the request id

result

Contains the answer

data

Array with data

keyword

Keyword

cost

Cost per click, $

concurrency

Keyword competition in PPC (0-100%)

found_results

Number of results found for the keyword

region_queries_count

Search volume in the selected region

region_queries_count_wide

Search volume (broad match)

types

List of special elements shown in SERP (for example, video, carousel or map)

geo_names

List of toponyms in the array (if toponyms are present in the keywords)

social_domains

Social domains listed top-10 by the keyword

right_spelling

Recommended correction of  a misspelled keyword

lang

Language

difficulty

Competition level for a keyword to advance in organic search in the top-10 positions

suggestions_count

Number of search suggestions

keywords_count

Number of keywords

summary_info

Object with data

page

Page number

left_lines

API credits remaining

Credits: the number of charged credits corresponds to the number of results obtained upon request. You can get no more than 60000 results per a query. Part of the API response, for which 1 credit is charged:

{
    "keyword": "iphone",
    "cost": 1.8822413793103445,
    "concurrency": 100,
    "found_results": 79,
    "region_queries_count": 1220000,
    "region_queries_count_wide": 0,
    "region_queries_count_phrase": 0,
    "types": [
        "shopping_top",
        "kn_graph_carousel_list",
        "also_asks"
        ],
    "geo_names": [],
    "social_domains": [
        "wikipedia",
        "amazon",
        "reddit"
        ],
    "right_spelling": null,
    "lang": null,
    "difficulty": 89.5890633703002,
    "suggestions_count": 2652668,
    "keywords_count": 8323766
},

3.2. Keywords selection

The SerpstatKeywordProcedure.getKeywords shows organic keywords associated with the researched keyword that domains are ranking for in Google`s top-100 results and for every found keyword you’ll see its volume, CPC and level of competition. The data set is similar to the Keyword research — SEO research  Keywords selection report.

General request parameters and instructions for using Serpstat API

Search databases available

Request parameters

Parameter

Description

Type

Optional

Default value

Value Options

id

A request id: the response contains the same id. Enter any number (number) or text (string) value

int/string

no

1, test

method

API method name

string

no

SerpstatKeywordProcedure.getKeywords

params

The object with parameters {...}, it lists all the following parameters and arrays [...]

array

no

keyword

Keyword to search for

string

no

iphone

se

ID of the search base to be searched  (there are both Google and Yandex databases available, for example: g_us or y_157).

string

no

g_us

minusKeywords

Negative keyword array

array

yes

[ ]empty array

["app", "apple"]

filters

Filter conditions

array

yes

 

"cost": "10";
"cost_to": "10";
"cost_from": 1

"region_queries_count": "1000";
"region_queries_count_to": "2000";
"region_queries_count_from": 300

keyword_length : num
keyword_length_from : num
keyword_length_to : num

"difficulty": 3;
"difficulty_from": 5;
"difficulty_to": 10

"concurrency": "7";
"concurrency_to": "7";
"concurrency_from": 1

"right_spelling": true, "right_spelling": false

"misspelled": true, "misspelled": false

sort

Order of sorting the results in the format: {{{field}}: {{order}}}

field — field to sort by:
* cost
* concurrency
* found_results
* region_queries_count

* region_queries_count_wide
* keyword_length

order — sort direction (asc — ascending, desc — descending)

array

yes

['cost' => 'asc', 'region_queries_count' => 'desc']

{"keyword": "desc"} 

or

['cost' => 'asc', 'region_queries_count' => 'desc']

page Page number in response int yes 1 "page": "5"
size Number of results per page in response int yes 100

"size": "10"

min: 1, max: 1000

To filter the results, use the following parameters:

Parameter Description Possible values 
cost_from min CPC  0-200
cost_to max CPC  0-200
concurrency_from min competition for PPC keyword  0-100
concurrency_to max competition for PPC keyword  0-100
minus_keywords Negative keywords filter (a list of keywords separated by a comma) string

Response parameters

Parameter

Description

id

Response id corresponds the request id

result

Contains the answer

data Array with data

keyword

Keyword

cost

Cost per click, $

concurrency

Keyword competition in the PPC (0-100%)

found_results

Number of results found for the keyword

region_queries_count

Search volume in a selected region

region_queries_count_wide

Search volume in selected search engine database in broad match

types

List of special elements shown in SERP (for example, video, carousel or map)

geo_names

List of toponyms in the array (if toponyms are present in the keywords)

social_domains

Social domains listed top-10 for a selected keyword

right_spelling

Recommended correction of  a misspelled keyword
lang Language
keyword_length Number of words divided by space in a keyword
difficulty The assessment of the level of competition for a keyword to advance in organic search in the top-10 (from 0 to 100%)
summary_info Object with data
page Page number
total Number of found results
left_lines API credits remaining

Credits: the number of charged credits corresponds to the number of results obtained upon request. You can get no more than 60000 results per a query. Part of the API response, for which 1 credit is charged:

{
    "keyword": "how to download you tube videos on iphone",
    "cost": 0.56999999999999995,
    "concurrency": 1,
    "found_results": 729000000,
    "region_queries_count": 9900,
    "region_queries_count_wide": 0,
    "types": [
        "a_box_fsnippet",
        "local_related_search",
        "related_search"
        ],
    "geo_names": [],
    "social_domains": [
        "youtube",
        "reddit"
        ],
    "right_spelling": "how to download youtube videos on iphone",
    "lang": null,
    "keyword_length": 8,
    "difficulty": 17.57
},

3.3. Search suggestions

The SerpstatKeywordProcedure.getSuggestions method shows search suggestions for the keyword you requested (they are found by the full-text search). The data set is similar to the Keyword research — SEO research  Search suggestions report.

General request parameters and instructions for using Serpstat API

Search databases available

Request parameters

Parameter

Description

Type

Optional

Default value

Value Options

id

A request id: the response contains the same id. Enter any number (number) or text (string) value

int/string

no

1, test

method

API method name

string

no

SerpstatKeywordProcedure.getSuggestions

params

The object with parameters {...}, it lists all the following parameters and arrays [...]

array

no

keyword

Keyword to search for

string

no

iphone

se

ID of the search base to be searched (there are both Google and Yandex databases available, for example: g_us or y_157).

string

no

g_us

page Page number in response int yes 1 "page": "5"
size Number of results per page in response int yes 100

"size": "10"

min: 1, max: 1000

filters Filter conditions array yes

"minus_keywords": ["case", "red"]

Response parameters

Parameter

Description

id

Response id corresponds the request id

result

Contains the answer

data Array with data

keyword

Search suggestion

geo_names

List of toponyms in the array (if toponyms are present in the keywords)

summary_info

Object with data

page

Page number

total

Number of found search suggestions

left_lines

API credits remaining

Part of the API response, for which 1 credit is charged:

{
    "keyword": "iphone x fre case release",
    "geo_names": []
},

3.4. Related keywords

The SerpstatKeywordProcedure.getRelatedKeywords method shows all search queries that are semantically related to the searched keyword. The data set is similar to the Keyword research / Related keywords report.

General request parameters and instructions for using Serpstat API

Search databases available

Request parameter

Parameter

Description

Type

Optional

Default value

Value Options

id

A request id: the response contains the same id. Enter any number (number) or text (string) value

int/string

no

1, test

method

API method name

string

no

SerpstatKeywordProcedure.getRelatedKeywords

params

The object with parameters {...}, it lists all the following parameters and arrays [...]

array no

keyword

Keyword to search for

string

no

iphone

se

ID of the search base to be searched (there are both Google and Yandex databases available, for example: g_us or y_157).

string

no

g_us

filters

Filter conditions

array

yes

 

Connection strengh of related keywords:
{"weight":{{weight_from}}
{"weight":{{weight_to}}

Misspelled keywords:
{"right_spelling":true}
{"right_spelling":false}

Keyword Volume:
{"region_queries_count": 1}
{"region_queries_count_to": 2}
{"region_queries_count_from": 3}

sort

Synonyms for "/"Order of sorting the results in the format: {{{field}}: {{order}}}

field — field to sort by:
* cost
* concurrency
* weight
* region_queries_count
* keyword


order — sort direction (asc — ascending, desc — descending)

array

yes

['cost' => 'asc', 'region_queries_count' => 'desc']

 cost: {{"asc"|"desc"}}}

page Page number in response int yes 1 "page": "5"
size Number of results per page in response int yes 100

"size": "10"

min: 1, max: 1000

Response parameters

Parameter

Description

id

Response id corresponds the request id

result

Contains the answer

data

Array with data

keyword

Related keyword

region_queries_count

Search volume in selected region

cost

Cost per click, $

concurrency

Keyword competition in the PPC (0-100%)

geo_names

List of toponyms in the array (if toponyms are present in the keywords)

types

List of special elements shown in SERP (for example, video, carousel or map)

right_spelling

Recommended correction of a misspelled keyword

weight

Connection strength of related keywords

difficulty

The assessment of the level of competition for a keyword to advance in organic search in the top-10 (from 0 to 100%)

summary_info

Object with data

page

Page number

total Total number of related keywords found
left_lines API credits remaining

Credits: the number of charged credits corresponds to the number of results obtained upon request. You can get no more than 60000 results per a query. Part of the API response, for which 1 credit is charged:

"data": {
            "6 plus portrait dimensions": {
                "keyword": "6 plus portrait dimensions",
                "region_queries_count": 1,
                "cost": 0,
                "concurrency": 0,
                "geo_names": [],
                "types": [
                    "also_asks",
                    "video",
                    "related_search",
                    "snip_breadcrumbs"
                ],
                "right_spelling": null,
                "weight": 1,
                "difficulty": null
            }

3.5. Top by keyword

The SerpstatKeywordProcedure.getKeywordTop method shows you Google's top-100 or Yandex's top-50 search results for the analyzed keyword. The data set is similar to the Top by keyword report in Keyword research.

General request parameters and instructions for using Serpstat API

Search databases available

Request parameters

Parameter

Description

Type

Optional

Default value

Value Options

id

A request id: the response contains the same id. Enter any number (number) or text (string) value

int/string

no

1, test

method

API method name

string

no

SerpstatKeywordProcedure.getKeywordTop

params

The object with parameters {...}, it lists all the following parameters and arrays [...]

array

no

keyword

Keyword to search for

string

no

iphone

se

ID of the search base to be searched (there are both Google and Yandex databases available, for example: g_us or y_157).

string

no

g_us

filters

Filter conditions

int

yes

 {"top_size": 100}

"top_size": 100

"position": 1
"position_from": 2
"position_to": 10

"url": https://www.apple.com/iphone/

"exact_url": https://www.apple.com/iphone-13-pro/

"domain": www.apple.com

"minus_domain": www.blackberry.com

"subdomain": developer.apple.com

Response parameters

Parameter

Description

id

Response id corresponds the request id

result

Contains the answer

data Array with data

top

Contains the result

position

Domain's position for a keyword

url

Page that ranks for the keyword

domain

Domain which ranks for the keyword

subdomain

Subdomain which ranks for the keyword

types

List of special elements shown in SERP (for example, video, carousel or map)

ads

Number of found Ads (if there are ads in the results)

results

Number of results

summary_info

Object with data

page

Page number

left_lines

API credits remaining

Credits: the number of charged credits corresponds to the number of results obtained upon request. You can get no more than 60000 results per a query. Part of the API response, for which 1 credit is charged:

{
    "position": 1,
    "url": "https://www.apple.com/iphone/",
    "domain": "apple.com",
    "subdomain": "www.apple.com",
    "types": [
        "shopping_top",
        "kn_graph_carousel_list",
        "also_asks",
        "snip_breadcrumbs"
        ]
},

3.6. Сompetitors in organic search results

The SerpstatKeywordProcedure.getCompetitors method lists the domains that rank for the given keyword in Google top-20 results. The data set is similar to the Keyword research — SEO research  Competitors report.

General request parameters and instructions for using Serpstat API

Search databases available

Filter

Request parameters

Parameter

Description

Type

Optional

Default value

Value Options

id

A request id: the response contains the same id. Enter any number (number) or text (string) value

int/string

no

1, test

method API method name string no SerpstatKeywordProcedure.getCompetitors

params

The object with parameters {...}, it lists all the following parameters and arrays [...]

array

no

keyword

Keyword to search for

string

no

iphone

se

ID of the search base to be searched (there are both Google and Yandex databases available, for example: g_us or y_157).

string

no

g_us

sort

Order of sorting the results in the format: {{{field}}: {{order}}}

field — field to sort by:
* visible
* keywords
* traff
* visible_dynamic
* keywords_dynamic
* traff_dynamic
* ads_dynamic
* new_keywords
* out_keywords
* rised_keywords
* down_keywords
* ad_keywords
* ads
* intersected
* relevance
* our_relevance

order — sort direction (asc — ascending, desc — descending)

array

yes

 [ ] empty array

{"keyword": "desc"} 

or

{"visible": "asc"}

size

Number of results per page in response

int

yes

100

"size": "10"

min: 1, max: 1000

filters

Filter conditions

array

yes

"domain": www.apple.com

"minus_domain": www.blackberry.com

"visible": 30;
"visible_from": 20;
"visible_to": 100

"traff": 300;
"traff": 500;
"traff": 1000

"relevance": 5;
"relevance_from": 25;
"relevance_to": 30

"our_relevance": 11
"our_relevance_from": 25;
"our_relevance_to": 30

Response parameters

Parameter

Description

id

Response id corresponds the request id

result

Contains the answer

data

Array with data

domain

Domain

visible

Domain's visibility

keywords

Number of keywords found in the chosen search engine

traff Estimated search traffic based on keyword positions and search volume
visible_dynamic Change in visibility since the last upgrade
keywords_dynamic Change in the number of keywords since the last upgrade
traff_dynamic Traffic change since the last upgrade
ads_dynamic Keyword change in PPC Ads
new_keywords Number of new keywords for the domain since the last upgrade
out_keywords Number of keywords lost by a domain since the last upgrade
rised_keywords Number of domain keywords which positions have improved since the last upgrade
down_keywords Number of domain keywords which positions have dropped since the last upgrade
ad_keywords Number of keywords in PPC
ads Number of Ads
intersected Number of domain keywords which contain a target keyword
relevance Domain's relevance to the keyword
summary_info Object with data
page Page number
left_lines Number of remaining API lines

Credits: the number of charged credits corresponds to the number of results obtained upon request. You can get no more than 60000 results per a query. Part of the API response, for which 1 credit is charged:

{
"apple.com": {
    "domain": "apple.com",
    "visible": 3417.2564,
    "keywords": 46650466,
    "traff": 1998603882,
    "visible_dynamic": 6.359480000000076,
    "keywords_dynamic": -751,
    "traff_dynamic": 7691041,
    "ads_dynamic": -390,
    "new_keywords": 153290,
    "out_keywords": 154041,
    "rised_keywords": 453556,
    "down_keywords": 465903,
    "ad_keywords": 5422,
    "ads": 4018,
    "intersected": 829984,
    "relevance": 1.78,
    "our_relevance": 9.97
},

3.7. Ads examples

The SerpstatKeywordProcedure.getAdKeywords returns paid keywords and ads copies that pop up for the queried keyword in paid search resultsThe data set is similar to the Keyword research — PPC research  Ads examples report.

General request parameters and instructions for using Serpstat API

Search databases available

Request parameters

Parameter

Description

Type

Optional

Default value

Value Options

id

A request id: the response contains the same id. Enter any number (number) or text (string) value

int/string

no

1, test

method

API method name

string

no

SerpstatKeywordProcedure.getAdKeywords

params

The object with parameters {...}, it lists all the following parameters and arrays [...]

array

no

keyword

Keyword to search for

string

no

iphone

se

ID of the search base to be searched (there are both Google and Yandex databases available, for example: g_us or y_157).

string

no

g_us

domains

Domains list

array

yes

 [ ] 

["apple.com","verizon.com"]

minusKeywords

Negative keywords

array

yes

[]

["app", "apple"]

filters

Filter conditions

json object

yes

{"queries_from": 10} {"queries_to": 100}

sort

Order of sorting the results in the format: {{{field}}: {{order}}}

field — field to sort by:
* keyword_length
* position
* type
* cost
* concurrency
* found_results
* region_queries_count
* region_queries_count_wide

order — sort direction (asc — ascending, desc — descending)

json object

yes

{"position": "asc", "region_queries_count":"desc"}

{"cost": "asc"}

page

Page number in response

int

yes

1

"page": "5"

size Number of results per page in response int yes 100 "size": "10"

min: 1, max: 1000
filter Fillter conditions array yes

"right_spelling": true; "right_spelling": false

minus_domain : www.domain.com

subdomain : blog.domain.com

url (exact_url) : https://www.apple.com/airpods/

types : "carousel", "also_asks"

keyword_length : num
keyword_length_from : num
keyword_length_to : num

"region_queries_count": "1000";
"region_queries_count_to": "2000";
"region_queries_count_from": 300

"region_queries_count_wide": "1000";
"region_queries_count_wide_to": "1500";
"region_queries_count_wide_from": 100

"position": 1
"position_from": 2
"position_to": 10

"cost": "10";
"cost_to": "10";
"cost_from": 1

"concurrency": "7";
"concurrency_to": "7";
"concurrency_from": 1

"difficulty": 3;
"difficulty_from": 5;
"difficulty_to": 10

Response parameters

Parameter

Description

id

Response id corresponds the request id

result

Contains the answer

data Array with data
keyword Keyword which domain's ad is displayed in SERP
keyword_length Number of words divided by space in a keyword

domain

Domain
subdomain Subdomain of the domain
url URL where the ad leads

title

Ad title

text

Ad text

position

Ad position

type

Ad placement type in relation to SERP (1 - above; 2 - under; 3 - side)

cost

Cost per click, $

Cost per click, $

Keyword competition in the PPC (0-100%)

found_results

Number of results found for the keyword

region_queries_count

Search volume in selected region

region_queries_count_wide

Search volume (broad match)

types

List of special elements shown in SERP (for example, video, carousel or map)

geo_names

List of toponyms in the array (if toponyms are present in the keywords)

difficulty

The assessment of the level of competition for a keyword to advance in organic search in the top-10 (from 0 to 100%)

summary_info

Object with data

page

Page number

total

Number of paid search results for the keyword

left_lines

API credits remaining

Credits: the number of charged credits corresponds to the number of results obtained upon request. Part of the API response, for which 1 credit is charged:

{
    "keyword": "upgrade iphone x to xs",
    "keyword_length": 5,
    "domain": "apple.com",
    "subdomain": "www.apple.com",
    "url": "https://www.apple.com/iphone/",
    "title": "Trade in for iPhone 12 - Apple Official Site",
    "text": "Get $90 - $515 off iPhone 12 when you trade in an iPhone 7 or newer. Terms apply. A14 Bionic Chip. 5G speed. Ceramic Shield. Super Retina XDR display. Services: Free no-contact delivery, Finance with Apple Card, 3% cash back w/Apple Card, Prepaid mail-in kit.",
    "position": 2,
    "type": "1",
    "cost": 0,
    "concurrency": 50,
    "found_results": 325000000,
    "region_queries_count": 10,
    "region_queries_count_wide": 0,
    "types": [
        "carousel",
        "also_asks",
        "video",
        "ads_top"
        ],
    "geo_names": [],
    "difficulty": null
},

3.8. Competitors in paid search results

The SerpstatDomainProcedure.getAdsCompetitors method brings in the list of domain competitors in PPC. The data set is similar to the Competitors report in PPC research of the domain.

General request parameters and instructions for using Serpstat API

Search databases available

Request parameters

Parameter

Description

Optional

Default value

Value options

id

A request id: the response contains the same id. Enter any number (number) or text (string) value

no

1, test

method

API method name

no

SerpstatDomainProcedure.getAdsCompetitors

params

The object with parameters {...}, it lists all the following parameters and arrays [...]

no

domain

Domain name

no

 

nike.com

se

ID of the search base to be searched (there are both Google and Yandex databases available, for example: g_us or y_157).

no

 

g_us

sort

Sort order of the results in the format:
{{{field}}: {{order}}}

field - field to sort by:
ads
keywords
intersected
missing_keywords

order - sort direction (asc - ascending, desc - descending)

yes

{"relevance":"desc"}

{"ads":"desc"}

page

Page number in response

yes

1

"page": "1"

size

Number of results per page in response

yes

100

"size": "50"

min: 50, max: 1000

Response parameters

Parameter

Description

id

Response id corresponds the request id

result

Contains the answer

data

Array with data

domain

Domain

keywords

Number of paid keywords

ads Number of ads.
intersected Number of keywords bringing users to an analyzed domain and its competitor via paid results
missing_keywords Number of keywords that competitor use in PPC and analyzed domain does not use.
summary_info Object with data
page Page number
left_lines API credits remaining

Credits: the number of charged credits corresponds to the number of results obtained upon request. Part of the API response, for which 1 credit is charged:

{
    "domain": "finishline.com",
    "keywords": 495,
    "ads": 453,
    "intersected": 57,
    "missing_keywords": 438
},

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.

Name

Email

Phone

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

Thank you, we have saved your new mailing settings.

We use cookies to make Serpstat better. By clicking "Accept cookies", you agree to the storing of cookies on your device to enhance site navigation, analyze site usage, and assist in our marketing efforts. Learn more

Open support chat