Some options are limited.

This site uses cookies and other tracking technologies to make possible your usage of the website, assist with navigation and your ability to provide feedback, analyse your use of our products and services, assist with our promotional and marketing efforts, and provide better user experience.

By using the website, you agree to our Privacy policy

Accept and continue

Domain Organic Keywords (domain_keywords)


This report shows keywords a domain ranks for in Google top 100 search results.

You can get up to 60000 results in this report.


Following parameters can be used for pagination:

  • page_size : number of results per page (default: 100, max: 1000)
  • page :  page number (set to the 1st page by default)

You can use the following parameters to filter the results

Parameter Description Possible settings
position_from min position for a keyword  1-100
position_to max position for a keyword  1-100
queries_from min number of monthly searches  0-100,000,000
queries_to max number of monthly searches  0-100,000,000
cost_from min CPC  0-200
cost_to max CPC  0-200
concurrency_from min level of competition  1-100
concurrency_to max level of competition  1-100
url filtering by url  string
keywords filtering by keywords (list of keywords separated by commas)  string
minus_keywords filtering by negative keywords (separated by commas)  string
pm_url lookup belonging to the partial url  1/0 (active/inactive)

To sort the results apply following parameters:

  • sort : field that needs to be sorted
  • order : sorting order (asc - ascending, desc -  descending)
Metrics Description
result Encapsulates the answer

Number of keywords for which the domain ranks in top-100

region_queries_count Search volume in selected search engine database
domain Domain which ranks for the keyword
keyword Keyword for which the domain ranks
keyword_length Number of words divided by space in a keyword
url URL of a page which appears in SERP for the keyword
right_spelling Proposed correction for a keyword with a spelling error
dynamic How the position of this keyword has changed

The number of results found for ""keywords""

keyword_crc The checksum for a quick search
url_crc crc code (encryption method)
cost Cost per click, $
concurrency Keyword competition in PPC
position Domain's position for a keyword
keyword_id Keyword ID in our database
subdomain Subdomain which ranks for the keyword
region_queries_count_last Search volume (last month)
types A 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)
status_msg Response "Ok" or "Error" report on a successful or unsuccessful request
status_code Response code 200 — successful request.
Errors occur when limits are exceeded (number of simultaneous requests or account limits)
left_lines API limits remaining

Example PHP Python
Request data:
Response data:


// This example works on serpstat-sdk only

require_once __DIR__ . '/../vendor/autoload.php';
// configure your application
$config = [
    'token' => '19666fc1ae1724da1d5ea2f3a99d5f5a',
$domain = '';
// init client with your serpstat api token
$apiClient = new \Serpstat\Sdk\Core\ApiGuzzleHttpClient($config['token']);
// create instance of any api method class
// list of methods classes in folder src\Methods
$apiMethod = new \Serpstat\Sdk\Methods\DomainKeywordsMethod(
try {
    // try call api method
    $response = $apiClient->call($apiMethod);
} catch (\Exception $e) {
    // catch api error
    $response = $e->getMessage();
import codecs
import json
import pprint
import urllib.request as urlrequest
from urllib.parse import urlencode

host = ''

method = 'domain_keywords'
params = {
    'query': '',  # string for get info
    'se': 'g_us',  # string search engine
    'token': 'ijmiom4f5m34905g03um8342dm04923lre3w',  # string personal token

api_url = "{host}/{method}?{params}".format(

    json_data = urlrequest.urlopen(api_url).read()
except Exception as e0:
    print("API request error: {error}".format(error=e0))

data = json.loads(json_data)

Share this article with your friends

Sign In Free Sign Up

You’ve reached your query limit.

Or email
Forgot password?
Or email
Back To Login

Don’t worry! Just fill in your email and we’ll send over your password.

Are you sure?


To complete your registration you need to enter your phone number


We sent confirmation code to your phone number

Your phone Resend code Queries left

Something went wrong.

Contact our support team
Or confirm the registration using the Telegram bot Follow this link
Please pick the project to work on

Personal demonstration

Serpstat is all about saving time, and we want to save yours! One of our specialists will contact you and discuss options going forward.

These may include a personal demonstration, a trial period, comprehensive training articles & webinar recordings, and custom advice from a Serpstat specialist. It is our goal to make you feel comfortable while using Serpstat.




We are glad of your comment
Upgrade your plan

Upgrade your plan

Export is not available for your account. Please upgrade to Lite or higher to get access to the tool. Learn more

Sign Up Free

Спасибо, мы с вами свяжемся в ближайшее время

View Editing


You have run out of limits

You have reached the limit for the number of created projects. You cannot create new projects unless you increase the limits or delete existing projects.

I want more limits