SEO/PPC Competitor Research API
SEO/PPC Competitor Research API allows to get competitor and keyword statistics from organic and paid search results in a convenient form.
To access the section, you should have an active subscription or positive account balance.
Errors
HTTP code | Error message |
403 | Empty balance |
403 | License expired |
Domain overview (selected database)
Description
This method returns the keyword statistics for organic or paid traffic for the selected database.
Request format
GET https://api4.seranking.com/research/{source}/overview/?domain=domain.com
Request parameters
Name | Required | Description |
source | Yes | Database addressed by the query |
domain | Yes | Domain |
with_subdomains | No | 1 – take subdomains into account (by default) 0 – not take subdomains into account |
Result
If successful, the server returns the keyword statistics for organic or paid traffic for the selected database.
Example
{
“organic”: {
“base_domain”:”domain.com”,
“keywords_new_count”:182,
“keywords_up_count”:292,
“keywords_equal_count”:55,
“keywords_lost_count”:282,
“top11_20”:127,
“top51_100”:331,
“keywords_down_count”:558,
“top1_5”:25,
“top21_50”:270,
“top6_10”:52,
“keywords_count”:790,
“traffic_sum”:3149,
“price_sum”: 23167.97,
“year”:2022,
“month”:8
},
“adv”: {
“base_domain”: “domain.com”,
“keywords_new_count”:91,
“keywords_up_count”:17,
“keywords_equal_count”:18,
“keywords_lost_count”:62,
“top11_20” 0,
“top1_2”:53,
“top51_100”:0,
“keywords_down_count”:76,
“top1_5”:121,
“top21_50”:0,
“top3_5”:68,
“top6_8”:19,
“top9_11”:0,
“top6_10”:19,
“keywords_count”:140,
“traffic_sum”:2968,
“price_sum”:17795.26,
“year”:2022,
“month”:8
}
}
Response parameters
Name | Description |
organic | Organic traffic data |
avd | Paid traffic data |
base_domain | Base domain |
keywords_count | Total number of keywords |
traffic_sum | Traffic forecast |
price_sum | Cost estimate |
top1_5 | Total number of keywords ranked 1-5 |
top6_10 | Total number of keywords ranked 6-10 |
top11_20 | Total number of keywords ranked 11-20 |
top1_2 | Total number of keywords ranked 1, 2 (for paid traffic) |
top3_5 | Total number of keywords ranked 3, 4, 5 (for paid traffic) |
top6_8 | Total number of keywords ranked 6, 7, 8 (for paid traffic) |
top9_11 | Total number of keywords ranked 9, 10, 11 (for paid traffic) |
keywords_new_count | Total number of new keywords |
keywords_lost_count | Total number of keywords dropped from SERPs |
keyword_equal_count | Ranking positions are unchanged |
keywords_up_count | Ranking position rise |
keywords_down_count | Ranking position drop |
year | Year |
month | Month |
Errors
HTTP code | Error message |
400 | Invalid domain |
404 | Invalid source |
Domain overview (history)
Description
The method allows to get historical data on parameters (number of keywords, clicks, cost) for organic or paid traffic.
Request format
GET https://api4.seranking.com/research/{source}/overview/history/?domain=domain.com&type=organic
Request parameters
Name | Required | Description |
source | Yes | Database addressed by the query |
domain | Yes | Domain |
type | No | organic – organic traffic data (default) adv – paid traffic data |
Result
If successful, the server returns historical data on certain parameters for organic or paid traffic.
Example
[
{
“keywords_count”:51,
“traffic_sum”:184,
“price_sum”:1095.87,
“year”:2016,
“month”:9,
“top1_2”:13,
“top3_5”:18,
“top6_8”:20,
“top9_11”:0
},
…
]
Response parameters
Name | Description |
keywords_count | Number of keywords |
traffic_sum | Traffic forecast |
price_sum | Cost estimate |
year | Year |
month | Month |
top1_5 | Total number of keywords ranked 1-5 |
top6_10 | Total number of keywords ranked 6-10 |
top11_20 | Total number of keywords ranked 11-20 |
top21_50 | Total number of keywords ranked 21-50 |
top51_100 | Total number of keywords ranked 51-100 |
top1_2 | Total number of keywords ranked 1, 2 (for paid traffic) |
top3_5 | Total number of keywords ranked 3, 4, 5 (for paid traffic) |
top6_8 | Total number of keywords ranked 6, 7, 8 (for paid traffic) |
top9_11 | Total number of keywords ranked 9, 10, 11 (for paid traffic) |
Errors
HTTP code | Error message |
400 | Invalid domain |
404 | Invalid source |
Domain keywords
Description
This method allows to get a list of keywords for a domain.
Request format
GET https://api4.seranking.com/research/{source}/keywords/?domain=domain.com&type=organic&order_field=position&order_type=desc&cols=position,prev_pos
Request parameters
Name | Required | Description |
source | Yes | Database addressed by the query |
domain | Yes | Domain |
type | No | organic – organic traffic data (default) adv – paid traffic data |
order_field | No | Sort field (traffic by default) |
order_type | No | asc or desc (by default) |
page | No | Results page (by default – 1) |
limit | No | Number of elements (by default – 100, max. 1000) |
cols | No | List of return values (comma-separated) |
pos_change | No | Position change filter. up – position growth down – position drop new – new in the SERP lost – dropped out of the SERP same – positions have not changed |
Result
If successful, the server returns a list of keywords for a domain and its parameters.
Example
[
{
“keyword”:”seranking.com”,
“position”:1,
“prev_pos”:1,
“volume”:10,
“cpc”:0.00,
“competition”:0.00,
“url”:”https://seranking.com/”,
“total_sites”:88,
“traffic”:3,
“traffic_percent”:11.11,
“price”:0
},
…
]
Response parameters
Name | Description |
keyword | Keyword |
position | Position |
prev_pos | Position in the previous month |
volume | Volume |
cpc | CPC |
competition | Competition |
url | URL |
total_sites | Total number of sites for query |
traffic | Traffic |
traffic_percent | Traffic share |
price | Cost |
For paid traffic (type=adv), you get information about the ad in addition to the parameters above.
Example
[
{
“keyword”:”nyc hotels”,
“position”:4,
“prev_pos”:4,
“volume”:550000,
“cpc”:3.75,
“competition”:0.16,
“url”:”https://www.booking.com/city/us/new-york.html”,
“total_sites”:851000000,
“traffic”:11000,
“traffic_percent”:0.96,
“price”:41250,
“block”:”top”,
“snippet_num”:579,
“snippets_count”:1,
“snippet_title”:”Hotels in New York, NY | Lowest Price Guarantee.”,
“snippet_description”:”Book your Hotel in New York NY online. No reservation costs. Great rates. 24/7 Customer Service. Hotels. Secure Booking. Villas. Hostels. No Booking Fees. Best Price Guarantee.”,
“snippet_display_url”:”www.booking.com/city/us/new-york.html”
},
…
]
block | top | bottom – ad type |
snippet_num | Ad number |
snippets_count | Number of ads |
snippet_title | Ad title |
snippet_description | Ad text |
snippet_display_url | Display ad URL |
Errors
HTTP code | Error message |
400 | Invalid domain |
400 | Invalid source |
400 | Incorrect order |
400 | Row limit exceeded |
Paid ads for keyword
Description
The method allows to get an overview of paid ads for a keyword.
Request format
GET https://api4.seranking.com/research/{source}/advertising/?keyword=seo
Request parameters
Name | Required | Description |
keyword | Yes | Keyword |
from | No | Year and month of the beginning of the period (2017-01) |
to | No | Year and month of the end of the period (2018-12) |
page | No | Results page (by default – 1) |
limit | No | Number of elements (by default – 100, maximum 100) |
Result
If successful, the server returns an overview of paid ads for a keyword.
Example
[
{
“domain”:”hotels.com”,
“ads_count”:19,
“keywords_count”:78972,
“traffic_sum”:3565364,
“price_sum”:10411189,
“snippets”:
{
2018-11:
{
“position”:2,
“snippet_title”:”Booking | Hotels.com”,
“snippet_description”:”Stay 10 nights & get 1 free! Redeem your reward night anytime, anywhere. Last Minute Hotel Deals. Exclusive Deals. Photos & Reviews. Price Guarantee. Earn Free Hotel Nights. Guest Reviews. No Cancellation Fees. Travel Guides. Luxury Hotels. Budget Hotels.”,
“snippet_display_url”:”www.hotels.com/”,
“snippet_count”:1,
“url”:”https://www.hotels.com/”
},
…
}
},
…
]
Response parameters
Name | Description |
domain | Domain |
ads_count | Number of ads |
keywords_count | Number of keywords |
traffic_sum | Traffic |
price_sum | Budget |
snippets | List of ads of a domain |
snippet_num | Ad number |
snippets_count | Number of ads |
snippet_title | Ad title |
snippet_description | Ad text |
snippet_display_url | Display ad URL |
url | Link |
Errors
HTTP code | Error message |
400 | Invalid domain |
400 | Invalid source |
400 | Row limit exceeded |
Paid ads for domain
Description
The method allows to get an overview of paid ads for a domain.
Request format
GET https://api4.seranking.com/research/{source}/advertising/?domain=booking.com
Request parameters
Name | Required | Description |
domain | Yes | Domain |
from | No | Year and month of the beginning of the period (2017-01) |
to | No | Year and month of the end of the period (2018-12) |
page | No | Results page (by default – 1) |
limit | No | Number of elements (by default – 100, maximum 100) |
Result
If successful, the server returns an overview of paid ads for a domain.
Example
[{
“keyword”:”locanda vivaldi venice”,
“ads_count”:24,
“competition”:0.39,
“cpc”:5.64,
“volume”:100,
“traffic”:47.9,
“traffic_percent”:0.51,
“snippets”:
{
2017-01:
{
“position”:2,
“snippet_title”:”Locanda Vivaldi, Venice – Booking.com”,
“snippet_description:”Book at Locanda Vivaldi, Venice. No reservation costs. Great rates Amenities: Free Wifi, Non Smoking Rooms, 24 Hour Front Desk, Air Conditioning”,
“snippet_display_url”:”www.booking.com/hotel/it/locanda-vivaldi.en.html?a”,
“snippet_count”:1,
“url”:”http://www.booking.com/hotel/it/locanda-vivaldi.en.html?aid=311088″
},
,
…
]
Response parameters
Name | Description |
keyword | Keyword |
ads_count | Number of ads in total |
volume | Volume |
cpc | CPC |
competition | Competition |
url | URL |
traffic | Traffic |
traffic_percent | Traffic share |
snippets | List of ads of a domain |
snippet_count | Number of ads of a domain |
snippet_title | Ad title |
snippet_description | Ad text |
snippet_display_url | Displayed ad URL |
url | Link |
Errors
HTTP code | Error message |
400 | Row limit exceeded |
400 | Invalid keyword |
400 | Invalid source |
Competitors
Description
The method allows to get a list of competitor domains (maximum 500).
Request format
GET https://api4.seranking.com/research/{source}/competitors?domain=booking.com&type=adv
Request parameters
Name | Required | Description |
domain | Yes | Domain |
type | No | organic – organic traffic data (default) adv – paid traffic data |
big_players | No | 0 – hide major players (by default) 1 – show major players |
stats | No | 0 – only the list of domains and the number of common keywords (by default) 1 – extra parameters |
Result
If successful, the server returns a list of competitor domains.
Example
[
{
“domain”:”tripadvisor.com”,
“common_keywords”:1076
},
…
]
..stats=1
[
{
“domain”:”tripadvisor.com”,
“common_keywords”:1076,
“total_keywords”:2084,
“missing_keywords”:5450,
“traffic_sum”:291,
“price_sum”:40.12,
},
…
]
Response parameters
Name | Description |
domain | Competitor domain |
common_keywords | Keywords used both by the analyzed site and its competitors |
total_keywords | The total number of keywords for which competitors rank for on Google’s top 100 |
missing_keywords | The keywords your competitors rank for in the top 100 Google search results that the analyzed website does not use or uses but without any search engine visibility |
traffic_sum | Estimated traffic volume for a site with existing keywords. It’s calculated by the formula of the expected CTR (click-through rate), volume and current positions |
price_sum | Estimated monthly cost of selected ads based on the number of keywords, their cost and traffic |
Errors
HTTP code | Error message |
400 | Invalid domain |
400 | Invalid source |
Domain comparison
Description
The method allows to get a list of keywords for two domains.
Request format
GET https://api4.seranking.com/research/{source}/competitors/compare?domain=booking.com&compare=google.com&type=adv
Request parameters
Name | Required | Description |
domain | Yes | Domain |
compare | Yes | Competitor domain |
type | No | organic – organic traffic data (default) adv – paid traffic data |
cols | No | List of return values (comma-separated) |
page | No | Results page (by default – 1) |
limit | No | Number of elements (by default – 100, maximum 1000) |
diff | No | 0 – common keywords for domain and compare domains (by default) 1 – keywords for compare domain that are missing for domain |
Result
If successful, the server returns a list of keywords for two domains.
Example
[
{
“keyword”: “haworth hotel holland mi”,
“volume”: 10,
“cpc”: 3.01,
“competition”: 0.38,
“difficulty”: 5,
“total_sites”: 94,
“position”: 4,
“url”: “https://www.booking.com/hotel/us/haworth-inn-center.html”,
“price”: 2.44,
“traffic”: 0.81,
“compare_position”: 5,
“compare_url”: “https://www.hotels.com/ho576868/haworth/”,
“compare_price”: 1.84,
“compare_traffic”: 0.61
},
…
]
Response parameters
Name | Description |
keyword | Analyzed keyword |
position | Position |
volume | Monthly number of Google searches that occur for the specified keyword |
cpc | CPC (Cost per Click) |
competition | Competition |
difficulty | Keyword difficulty |
url | URL of the page that is ranked on Google for the specified keyword |
total_sites | Total number of sites for the query |
traffic | Traffic |
price | Cost |
compare_position | Position of the compared domain |
compare_url | Page URL of the compared domain |
compare_price | Traffic cost of the compared domain |
compare_traffic | Traffic of the compared domain |
Errors
HTTP code | Error message |
400 | Invalid domain |
400 | Invalid source |