API requests and responses

All API requests must have the following base URL: /api/v2/{API_KEY}/

All standard API responses are formatted as either XML or JSON. XML responses are the default. For JSON responses, add format=json to the request URL query string.

In most cases, the object(s) returned by a particular endpoint will not contain any sub-collections for that object type. Rather, each object will include a RequestUrl value, which is a reference to another endpoint where any sub-data contained within that result can be retrieved in full. For example, each project returned by the /projects/list endpoint will contain a pre-generated RequestUrl where you can retrieve the sites within that project; each site returned by /sites/list will contain a RequestUrl value to retrieve that site’s keywords; and so on.

The default daily limit for API calls is 1,000 calls per day. The daily count resets every night at midnight UTC. If you would like to exceed the daily limit, just talk to us.

API calls

  • Response codes The API will return an HTTP response code of 200 for all correct requests. These other response codes will indicate errors.
  • Projects: List This request returns all projects saved under your account.
  • Projects: Create This request creates a new project under your account.
  • Projects: Update This request updates a project’s name.
  • Projects: Delete This request deletes a project.
  • Sites: All This request returns all sites saved under your account.
  • Sites: List This request returns all sites saved under the specified project id.
  • Sites: Ranking Distributions This request returns all ranking distribution records for Google for a site with the specified id.
  • Sites: Create This request creates a new site under the specified project id. When a site is created, it is automatically placed within a folder called “api” within your chosen project.
  • Sites: Update This request updates a site under the specified id.
  • Sites: Delete This request deletes a site under the specified id.
  • Tags: List This request returns all tags saved under the specified site.
  • Tags: Ranking Distributions This request returns all ranking distribution records for Google for a tag with the specified id.
  • Keywords: List This request returns all keywords saved under the specified site.
  • Keywords: Create This request creates new keyword(s).
  • Keywords: Delete This request deletes a keyword or multiple keywords with the specified id(s).
  • Rankings: List This request returns all rankings archived for specified keyword and date range. Each response contains a maximum of 30 days.
  • SERPs: Show This request returns the archived SERP for the specified search engine and date for a specified keyword.
  • SoV: Sites This request returns the SoV score for each competitor domain that appears on the SERP for a specified site.
  • SoV: Tags This request returns the SoV score for each competitor domain that appears on the SERP for a specified tag.
  • Most Frequent Domains: Sites This request returns the competitor domains most frequently in the top 10 for the site specified for the engine specified.
  • Most Frequent Domains: Tags This request returns the competitor domains most frequently in the top 10 for the tag specified for the engine specified.
  • Subaccounts: List This request displays the user and API key information for all subaccounts for a given admin user.
  • Billing These requests provide data as seen within your billing summary.

Note that some bulk job types are included as a part of STAT’s standard API, while others are part of our optional paid specialty API services. See Overview: STAT API for more info.

Response codes

The following are other possible response codes that may be returned. Your API wrapper should anticipate these response codes and deal with them gracefully.

RESPONSE CODE INDICATES NOTES
400 Bad Request Request URL is malformed or required request parameters are not included or malformed. Also returned when Ranking from_date is lower than keyword created_at date, or to_date >= today’s date.
401 Unauthorized API Key Unable to verify API Key
403 Usage Limit Exceeded API usage exceeds daily limit
404 Not Found Project/Site/Keyword/SERP was not found
414 Request URI Too Large Reduce the number of characters in your request.
403 Too Many Requests You are currently making more than 1 request per second to the STAT API. Please reduce your request per second and re-try this request.
500 Internal Server Error Bad request. Service does not know how to route this request. See specific requests for possible 500 error messages and meanings.
503 Service unavailable We are currently unable to handle this request, please attempt again at a later time.

Return to the top

Projects: List

HTTP Method: GET

XML request URL:

/projects/list

XML typical response:

<?xml version="1.0" encoding="UTF-8"?>
<Response resultsreturned="11" responsecode="200">
 <Result>
  <Id>1</Id>
  <Name>celebrity</Name>
  <TotalSites>3</TotalSites>
  <CreatedAt>2009-12-18</CreatedAt>
  <UpdatedAt>2009-12-18</UpdatedAt>
  <RequestUrl>/sites/list?project_id=1</RequestUrl>
 </Result>
 ...
</Response>

JSON request URL:

/projects/list?format=json

JSON typical response:

{
   "Response":{
      "resultsreturned":"11",
      "responsecode":"200",
      "Result":[
         {
            "Id":"1",
            "Name":"celebrity",
            "TotalSites":"3",
            "CreatedAt":"2009-12-18",
            "UpdatedAt":"2009-12-18",
            "RequestUrl":"/sites/list?project_id=1&format=json"
         },
         ...
      ]
   }
}
REQUEST PARAMETER FORMAT REQUIRED NOTES
NONE NONE NONE

 

RESPONSE PARAMETER FORMAT NOTES
Id INTEGER Project ID
Name STRING Project Name
TotalSites INTEGER Number of sites in project
CreatedAt YYYY-MM-DD Project creation date
UpdatedAt YYYY-MM-DD Project updated at date
RequestUrl STRING Request URL for project sites

Return to the top

Projects: Create

HTTP Method: GET

XML request URL:

/projects/create?name={projectId}

XML typical response:

<?xml version="1.0" encoding="UTF-8"?>
<Response responsecode="200">
 <Result>
  <Id>17</Id>
  <Name>ABC</Name>
  <CreatedAt>2011-05-14</CreatedAt>
  <UpdatedAt>2011-05-14</UpdatedAt>
 </Result>
</Response>

JSON request URL:

/projects/create?name={projectId}&format=json

JSON typical response:

{
   "Response":{
      "responsecode":"200",
      "Result":{
         "Id":"17",
         "Name":"ABC",
         "CreatedAt":"2011-05-14",
         "UpdatedAt":"2011-05-14"
      }
   }
}
REQUEST PARAMETER FORMAT REQUIRED NOTES
name STRING YES

 

RESPONSE PARAMETER FORMAT NOTES
Id INTEGER Project ID
Name STRING Project Name
CreatedAt YYYY-MM-DD Project creation date
UpdatedAt YYYY-MM-DD Project updated at date
ERROR CODE ERROR MESSAGE ERROR STATEMENT NOTES
500 Create project failed <Errors on the project request> Project validation errors
500 Create project failed Could not create your project. Server error

Return to the top

Projects: Update

HTTP Method: GET

XML request URL:

/projects/update?id={projectId}&name={name}

XML typical response:

<?xml version="1.0" encoding="UTF-8"?>
<Response responsecode="200">
 <Result>
  <Id>17</Id>
  <Name>DEF</Name>
  <CreatedAt>2011-05-14</CreatedAt>
  <UpdatedAt>2011-05-14</UpdatedAt>
 </Result>
</Response>

JSON request URL:

/projects/update?id={projectId}&name={name}&format=json

JSON typical response:

{
   "Response":{
      "responsecode":"200",
      "Result":{
         "Id":"17",
         "Name":"DEF",
         "CreatedAt":"2011-05-14",
         "UpdatedAt":"2011-05-14"
      }
   }
}
REQUEST PARAMETER FORMAT REQUIRED NOTES
id INTEGER YES
name STRING YES
ERROR CODE ERROR MESSAGE ERROR STATEMENT NOTES
500 Project update failed <Project validation / failure error messages> Project validation errors (as listed)
500 Project update not authorized You do not have write permission to this project.
500 Project not found Could not find a project with this id.
RESPONSE PARAMETER FORMAT NOTES
Id INTEGER Project ID
Name STRING Project Name
CreatedAt YYYY-MM-DD Project creation date
UpdatedAt YYYY-MM-DD Project updated at date
ERROR CODE ERROR MESSAGE ERROR STATEMENT NOTES
500 Project update failed <Project validation / failure error messages> Project validation errors (as listed)
500 Project update not authorized You do not have write permission to this project.
500 Project not found Could not find a project with this id.

Return to the top

Projects: Delete

HTTP Method: GET

XML request URL:

/projects/delete?id={projectId}

XML typical response:

<?xml version="1.0" encoding="UTF-8"?>
<Response responsecode="200">
 <Result>
  <Id>17</Id>
 </Result>
</Response>

JSON request URL:

/projects/delete?id={projectId}&format=json

JSON typical response:

{
   "Response":{
      "responsecode":"200",
      "Result":{
         "Id":"17"
      }
   }
}
REQUEST PARAMETER FORMAT REQUIRED NOTES
id INTEGER YES

 

RESPONSE PARAMETER FORMAT NOTES
Id INTEGER Project ID
ERROR CODE ERROR MESSAGE ERROR STATEMENT NOTES
500 Project not authorized You do not have write permission to this project.
500 Project not found Could not find a project with this id.

Return to the top

Sites: All

HTTP Method: GET

The nextpage value only appears if there is an additional page of results to show. Use the results parameter to control how many results are returned per page (max 5,000).

XML request URL:

/sites/all[?start={start}][&results={results}]

XML typical response:

<?xml version="1.0" encoding="UTF-8"?>
<Response responsecode="200" totalresults=”100” resultsreturned="50" nextpage=”/sites/all?start=50”>
 <Result>
  <Id>1</Id>
  <ProjectId>13</ProjectId>
  <FolderId>22</FolderId>
  <FolderName>Blog</FolderName>
  <Title>tourismvancouver.com</Title>
  <Url>tourismvancouver.com</Url>
  <Synced>N/A</Synced>
  <TotalKeywords>63</TotalKeywords>
  <CreatedAt>2011-01-25</CreatedAt>
  <UpdatedAt>2011-01-25</UpdatedAt>
  <RequestUrl>/keywords/list?site_id=1</RequestUrl>
 </Result>
 <Result>
  <Id>2</Id>
  <ProjectId>13</ProjectId>
  <FolderId>N/A</FolderId>
  <FolderName>N/A</FolderName>
  <Title>perezhilton.com</Title>
  <Url>perezhilton.com</Url>
  <Synced>1</Synced>
  <TotalKeywords>63</TotalKeywords>
  <CreatedAt>2011-01-25</CreatedAt>
  <UpdatedAt>2011-01-25</UpdatedAt>
  <RequestUrl>/keywords/list?site_id=2</RequestUrl>
 </Result>
...
</Response>

JSON request URL:

/sites/all?[start={start}][&results={results}&]format=json

JSON typical response:

{
   "Response":{
      "responsecode":"200",
      "totalresults":"100",
      "resultsreturned":"50",
      "nextpage":"/sites/all?start=50&format=json",
      "Result":[
         {
            "Id":"1",
            "ProjectId":"13",
            "FolderId":"22",
            "FolderName":"Blog",
            "Title":"tourismvancouver.com",
            "Url":"tourismvancouver.com",
            "Synced":"N/A",
            "TotalKeywords":"63",
            "CreatedAt":"2011-01-25",
            "UpdatedAt":"2011-01-25",
            "RequestUrl":"/keywords/list?site_id=1&format=json"
         },
         {
            "Id":"2",
            "ProjectId":"13",
            "FolderId":"N/A",
            "FolderName":"N/A",
            "Title":"perezhilton.com",
            "Url":"perezhilton.com",
            "Synced":"1",
            "TotalKeywords":"63",
            "CreatedAt":"2011-01-25",
            "UpdatedAt":"2011-01-25",
            "RequestUrl":"/keywords/list?site_id=2&format=json"
         },
         ...
      ]
   }
}

 

REQUEST PARAMETER FORMAT REQUIRED NOTES
start INTEGER NO Default is 0 (zero indexed)
results INTEGER NO Default is 100
RESPONSE PARAMETER FORMAT NOTES
Id INTEGER Site ID
ProjectId INTEGER ID of the project that contains this site
FolderId INTEGER ID of folder that contains this site
FolderName STRING Name of folder that contains this site
Title STRING Site Title
Url STRING Site URL
Synced INTEGER ID of site that this site is synced with; returns N/A if this is not a synced site
TotalKeywords INTEGER Total number of keywords
CreatedAt YYYY-MM-DD Site creation date
UpdatedAt YYYY-MM-DD Site updated date
RequestUrl STRING Request URL for site’s keywords

Return to the top

 

Sites: List

HTTP Method: GET

XML request URL:

/sites/list?project_id={projectId}

XML typical response:

<?xml version="1.0" encoding="UTF-8"?>
<Response responsecode="200">
 <Result>
  <Id>1</Id>
  <FolderId>22</FolderId>
  <FolderName>Blog</FolderName>
  <Title>tourismvancouver.com</Title>
  <Url>tourismvancouver.com</Url>
  <Synced>N/A</Synced>
  <TotalKeywords>63</TotalKeywords>
  <CreatedAt>2011-01-25</CreatedAt>
  <UpdatedAt>2011-01-25</UpdatedAt>
  <RequestUrl>/keywords/list?site_id=1</RequestUrl>
 </Result>
 <Result>
  <Id>2</Id>
  <FolderId>N/A</FolderId>
  <FolderName>N/A</FolderName>
  <Title>perezhilton.com</Title>
  <Url>perezhilton.com</Url>
  <Synced>1</Synced>
  <TotalKeywords>63</TotalKeywords>
  <CreatedAt>2011-01-25</CreatedAt>
  <UpdatedAt>2011-01-25</UpdatedAt>
  <RequestUrl>/keywords/list?site_id=2</RequestUrl>
 </Result>
...
</Response>

JSON request URL:

/sites/list?project_id={projectId}&format=json

JSON typical response:

{
   "Response":{
      "responsecode":"200",
      "Result":[
         {
            "Id":"1",
            "FolderId":"22",
            "FolderName":"Blog",
            "Title":"tourismvancouver.com",
            "Url":"tourismvancouver.com",
            "Synced":"N/A",
            "TotalKeywords":"63",
            "CreatedAt":"2011-01-25",
            "UpdatedAt":"2011-01-25",
            "RequestUrl":"/keywords/list?site_id=1&format=json"
         },
         {
            "Id":"2",
            "FolderId":"N/A",
            "FolderName":"N/A",
            "Title":"perezhilton.com",
            "Url":"perezhilton.com",
            "Synced":"1",
            "TotalKeywords":"63",
            "CreatedAt":"2011-01-25",
            "UpdatedAt":"2011-01-25",
            "RequestUrl":"/keywords/list?site_id=2&format=json"
         },
         ...
      ]
   }
}
REQUEST PARAMETER FORMAT REQUIRED NOTES
project_id INTEGER YES

 

RESPONSE PARAMETER FORMAT NOTES
Id INTEGER Site ID
FolderId INTEGER ID of folder that contains this site
FolderName STRING Name of folder that contains this site
Title STRING Site Title
Url STRING Site Url
Synced INTEGER ID of site that this site is synced with; returns N/A if this is not a synced site
TotalKeywords INTEGER Total number of keywords
CreatedAt YYYY-MM-DD Site creation date
UpdatedAt YYYY-MM-DD Site updated date
RequestUrl STRING Request URL for site’s keywords
ERROR CODE ERROR MESSAGE ERROR STATEMENT NOTES
500 Project not authorized You do not have read permission to this project.
500 Project not found Could not find a project with this id.

Return to the top

Sites: Ranking Distributions

HTTP Method: GET

The maximum date range can be no greater than 31 days.

XML request URL:

/sites/ranking_distributions?id={siteId}&from_date={YYYY-MM-DD}&to_date={YYYY-MM-DD}

XML typical response:

<?xml version="1.0" encoding="UTF-8"?>
<Response responsecode="200">
 <RankDistribution date="2015-03-15">
  <Google>
   <One>3386</One>
   <Two>748</Two>
   <Three>721</Three>
   <Four>481</Four>
   <Five>313</Five>
   <SixToTen>705</SixToTen>
   <ElevenToTwenty>301</ElevenToTwenty>
   <TwentyOneToThirty>104</TwentyOneToThirty>
   <ThirtyOneToForty>57</ThirtyOneToForty>
   <FortyOneToFifty>37</FortyOneToFifty>
   <FiftyOneToHundred>124</FiftyOneToHundred>
   <NonRanking>247</NonRanking>
  </Google>
  <GoogleBaseRank>
   <One>3409</One>
   <Two>765</Two>
   <Three>717</Three>
   <Four>475</Four>
   <Five>321</Five>
   <SixToTen>676</SixToTen>
   <ElevenToTwenty>290</ElevenToTwenty>
   <TwentyOneToThirty>102</TwentyOneToThirty>
   <ThirtyOneToForty>53</ThirtyOneToForty>
   <FortyOneToFifty>36</FortyOneToFifty>
   <FiftyOneToHundred>125</FiftyOneToHundred>
   <NonRanking>255</NonRanking>
  </GoogleBaseRank>
 </RankDistribution>
 <RankDistribution date="2013-08-09">
 ...
 </RankDistribution>
 ...
</Response>

JSON request URL:

/sites/ranking_distributions?id={siteId}&from_date={YYYY-MM-DD}&to_date={YYYY-MM-DD}&format=json

JSON typical response:

{
   "Response":{
      "responsecode":"200",
      "RankDistribution":[
         {
            "date":"2015-03-15",
            "Google":{
               "One":"3386",
               "Two":"748",
               "Three":"721",
               "Four":"481",
               "Five":"313",
               "SixToTen":"705",
               "ElevenToTwenty":"301",
               "TwentyOneToThirty":"104",
               "ThirtyOneToForty":"57",
               "FortyOneToFifty":"37",
               "FiftyOneToHundred":"124",
               "NonRanking":"247"
            },
            "GoogleBaseRank":{
               "One":"3409",
               "Two":"765",
               "Three":"717",
               "Four":"475",
               "Five":"321",
               "SixToTen":"676",
               "ElevenToTwenty":"290",
               "TwentyOneToThirty":"102",
               "ThirtyOneToForty":"53",
               "FortyOneToFifty":"36",
               "FiftyOneToHundred":"125",
               "NonRanking":"255"
            }
         },
         {
            "date":"2013-08-09",
         	...
         },
         ...
      ]
   }
}
REQUEST PARAMETER FORMAT REQUIRED NOTES
id INTEGER YES
from_date YYYY-MM-DD YES
to_date YYYY-MM-DD YES

 

RESPONSE PARAMETER FORMAT NOTES
<Result date=” “> YYYY-MM-DD Date of ranking result. XML only.
Date YYYY-MM-DD Date of ranking result. JSON only.
One INTEGER # of keywords ranked 1
Two INTEGER # of keywords ranked 2
Three INTEGER # of keywords ranked 3
Four INTEGER # of keywords ranked 4
Five INTEGER # of keywords ranked 5
SixToTen INTEGER # of keywords ranked 6-10
ElevenToTwenty INTEGER # of keywords ranked 11-20
TwentyOneToThirty INTEGER # of keywords ranked 21-30
ThirtyOneToForty INTEGER # of keywords ranked 31-40
FortyOneToFifty INTEGER # of keywords ranked 41-50
FiftyOneToHundred INTEGER # of keywords ranked 51-100
NonRanking INTEGER # of non-ranking keywords
ERROR CODE ERROR MESSAGE ERROR STATEMENT NOTES
500 Missing Date The parameter <date parameter> must be provided.
500 Malformed Date The parameter <date parameter> must be in the format YYYY-MM-DD.
500 Unavailable date The requested parameter <date parameter> is not yet available. Please check the System Status section on help.getstat.com for more information.
500 Data unavailable for some dates Complete data is not available for the following dates: <affected date list>. Please check the System Status section on help.getstat.com for more information.
500 Bad date <Date parameter> predates availability of data for this user.
500 Bad dates The from_date value must be earlier than or equal to the to_date value for this operation.
500 Bad dates The maximum date range between from_date and to_date is 31 days.
500 Site not authorized You do not have read permission to this site’s project.
500 Site not found Could not find a site with this id.

Return to the top

Sites: Create

HTTP Method: GET

For more information on how the DropWWWPrefix and DropDirectories values work, go to Creating your first project and site.

XML request URL:

/sites/create?project_id={projectId}&url={url}[&drop_www_prefix={boolean}][&drop_directories={boolean}]

XML typical response:

<?xml version="1.0" encoding="UTF-8"?>
<Response responsecode="200">
 <Result>
  <Id>146</Id>
  <ProjectId>13</ProjectId>
  <Title>google.com</Title>
  <Url>google.com</Url>
  <DropWWWPrefix>true</DropWWWPrefix>
  <DropDirectories>true</DropDirectories>
  <CreatedAt>2011-05-14</CreatedAt>
 </Result>
</Response>

JSON request URL:

/sites/create?project_id={projectId}&url={url}[&drop_www_prefix={boolean}][&drop_directories={boolean}]&format=json

JSON typical response:

{
   "Response":{
      "responsecode":"200",
      "Result":{
         "Id":"146",
         "ProjectId":"13",
         "Title":"google.com",
         "Url":"google.com",
         "DropWWWPrefix":"true",
         "DropDirectories":"true",
         "CreatedAt":"2011-05-14"
      }
   }
}
REQUEST PARAMETER FORMAT REQUIRED NOTES
project_id INTEGER YES
url STRING YES (must start with ‘http://’)
drop_www_prefix BOOLEAN NO Default is true
drop_directories BOOLEAN NO Default is false

 

RESPONSE PARAMETER FORMAT NOTES
Id INTEGER Site ID
ProjectId INTEGER Project ID
Url STRING Site URL
Title STRING Site Title
DropWWWPrefix BOOLEAN Setting for URL matching in SERPs
DropDirectories BOOLEAN Setting for URL matching in SERPs
CreatedAt YYYY-MM-DD Site creation date
ERROR CODE ERROR MESSAGE ERROR STATEMENT NOTES
500 Site not created Could not create the site. Site creation failed on server side
500 Project not authorized You do not have write permission to this project.
500 Project not found Could not find a project with this id.

Return to the top

Sites: Update

HTTP Method: GET

XML request URL:

/sites/update?id={siteId}[&url={url}][&title={title}][&drop_www_prefix={boolean}][&drop_directories={boolean}]

XML typical response:

<?xml version="1.0" encoding="UTF-8"?>
<Response responsecode="200">
 <Result>
  <Id>146</Id>
  <ProjectId>13</ProjectId>
  <Title>my site</Title>
  <Url>google.com</Url>
  <DropWWWPrefix>true</DropWWWPrefix>
  <DropDirectories>true</DropDirectories>
  <CreatedAt>2011-05-14</CreatedAt>
  <UpdatedAt>2011-05-14</UpdatedAt>
 </Result>
</Response>

JSON request URL:

/sites/update?id={siteId}[&url={url}][&title={title}][&drop_www_prefix={boolean}][&drop_directories={boolean}]&format=json

JSON typical response:

{
   "Response":{
      "responsecode":"200",
      "Result":{
         "Id":"146",
         "ProjectId":"13",
         "Title":"my site",
         "Url":"google.com",
         "DropWWWPrefix":"true",
         "DropDirectories":"true",
         "CreatedAt":"2011-05-14",
         "UpdatedAt":"2011-05-14"
      }
   }
}
REQUEST PARAMETER FORMAT REQUIRED NOTES
id INTEGER YES
url STRING NO (must start with http://)
title STRING NO
drop_www_prefix BOOLEAN NO
drop_directories BOOLEAN NO

 

RESPONSE PARAMETER FORMAT NOTES
Id INTEGER Site ID
ProjectId INTEGER Project ID
Url STRING Site URL
Title STRING Site Title
DropWWWPrefix BOOLEAN Setting for URL matching in SERPs
DropDirectories BOOLEAN Setting for URL matching in SERPs
CreatedAt YYYY-MM-DD Site creation date
UpdatedAt YYYY-MM-DD Site updated date
ERROR CODE ERROR MESSAGE ERROR STATEMENT NOTES
500 Expected more parameters Expected more parameters. No parameters passed in
500 Site not updated Could not update the site. Site update failed on server side
500 Site not authorized You do not have write permission to this site.
500 Site not found Could not find a site with this id.

Return to the top

Sites: Delete

HTTP Method: GET

XML request URL:

/sites/delete?id={siteId}

XML typical response:

<?xml version="1.0" encoding="UTF-8"?>
<Response responsecode="200">
 <Result>
  <Id>146</Id>
 </Result>
</Response>

JSON request URL:

/sites/delete?id={siteId}&format=json

JSON typical response:

{
   "Response":{
      "responsecode":"200",
      "Result":{
         "Id":"146"
      }
   }
}
REQUEST PARAMETER FORMAT REQUIRED NOTES
id INTEGER YES

 

RESPONSE PARAMETER FORMAT NOTES
Id INTEGER Site ID
ERROR CODE ERROR MESSAGE ERROR STATEMENT NOTES
500 Site not authorized You do not have write permission to this site’s project.
500 Site not found Could not find a site with this id.

Return to the top

Tags: List

Use the results parameter to control how many results are returned per-page (max 5,000).

HTTP Method: GET

XML request URL:

/tags/list?site_id={siteId}[&start={start}][&results={results}]

XML typical response:

<?xml version="1.0" encoding="UTF-8"?>
<Response responsecode="200" resultsreturned="100" totalresults="223" nextpage="/tags/list?site_id=1&start=100">
 <Result>
 <Id>16900</Id>
 <Tag>abc</Tag>
 <Type>Standard</Type>
 <Keywords>
  <Id>4525</Id>
  <Id>4526</Id>
 </Keywords>
 </Result>
 <Result>
  <Id>16902</Id>
  <Tag>abcd</Tag>
  <Type>Dynamic</Type>
  <Keywords>none</Keywords>
 </Result>
 ...
</Response>

JSON request URL:

/tags/list?site_id={siteId}&format=json

JSON typical response:

{
   "Response":{
      "responsecode":"200",
      "resultsreturned":"100",
      "totalresults":"223",
      "nextpage":"/tags/list?site_id=1&start=100&format=json",
      "Result":[
         {
            "Id":"16900",
            "Tag":"abc",
            "Type":"Standard",
            "Keywords":{
               "Id":[
                  "4525",
                  "4526"
               ]
            }
         },
         {
            "Id":"16902",
            "Tag":"abcd",
            "Type":"Dynamic",
            "Keywords":"none"
         }
      ]
   }
}
REQUEST PARAMETER FORMAT REQUIRED NOTES
site_id INTEGER YES
start INTEGER NO Default is 0 (zero indexed)
results INTEGER NO Default is 100

 

RESPONSE PARAMETER FORMAT NOTES
Id INTEGER Tag ID
Tag STRING Tag Text
Type STRING Value can be either “Standard” or “Dynamic”
Keywords:Id STRING IDs of keywords belonging to the tag
ERROR CODE ERROR MESSAGE ERROR STATEMENT NOTES
500 Site not authorized You do not have read permission to this site’s project.
500 Site not found Could not find a site with this id.

Return to the top

Tags: Ranking Distributions

The maximum date range can be no greater than 31 days.

XML request URL:

/tags/ranking_distributions?id={tagId}&from_date={YYYY-MM-DD}&to_date={YYYY-MM-DD}

XML typical response:

<?xml version="1.0" encoding="UTF-8"?>
<Response responsecode="200">
 <RankDistribution date="2015-03-15">
  <Google>
   <One>3386</One>
   <Two>748</Two>
   <Three>721</Three>
   <Four>481</Four>
   <Five>313</Five>
   <SixToTen>705</SixToTen>
   <ElevenToTwenty>301</ElevenToTwenty>
   <TwentyOneToThirty>104</TwentyOneToThirty>
   <ThirtyOneToForty>57</ThirtyOneToForty>
   <FortyOneToFifty>37</FortyOneToFifty>
   <FiftyOneToHundred>124</FiftyOneToHundred>
   <NonRanking>247</NonRanking>
  </Google>
  <GoogleBaseRank>
   <One>3409</One>
   <Two>765</Two>
   <Three>717</Three>
   <Four>475</Four>
   <Five>321</Five>
   <SixToTen>676</SixToTen>
   <ElevenToTwenty>290</ElevenToTwenty>
   <TwentyOneToThirty>102</TwentyOneToThirty>
   <ThirtyOneToForty>53</ThirtyOneToForty>
   <FortyOneToFifty>36</FortyOneToFifty>
   <FiftyOneToHundred>125</FiftyOneToHundred>
   <NonRanking>255</NonRanking>
  </GoogleBaseRank>
 </RankDistribution>

JSON request URL:

/tags/ranking_distributions?id={tagId}&from_date={YYYY-MM-DD}&to_date={YYYY-MM-DD}&format=json

JSON typical response:

{
   "Response":{
      "responsecode":"200",
      "RankDistribution":[
         {
            "date":"2015-03-15",
            "Google":{
               "One":"3386",
               "Two":"748",
               "Three":"721",
               "Four":"481",
               "Five":"313",
               "SixToTen":"705",
               "ElevenToTwenty":"301",
               "TwentyOneToThirty":"104",
               "ThirtyOneToForty":"57",
               "FortyOneToFifty":"37",
               "FiftyOneToHundred":"124",
               "NonRanking":"247"
            },
            "GoogleBaseRank":{
               "One":"3409",
               "Two":"765",
               "Three":"717",
               "Four":"475",
               "Five":"321",
               "SixToTen":"676",
               "ElevenToTwenty":"290",
               "TwentyOneToThirty":"102",
               "ThirtyOneToForty":"53",
               "FortyOneToFifty":"36",
               "FiftyOneToHundred":"125",
               "NonRanking":"255"
            }
         },
         {
            "date":"2013-08-09",
            ...
         },
         ...
      ]
   }
REQUEST PARAMETER FORMAT REQUIRED NOTES
id INTEGER YES
from_date YYYY-MM-DD YES
to_date YYYY-MM-DD YES

 

RESPONSE PARAMETER FORMAT NOTES
<Result date=” “> YYYY-MM-DD Date of ranking result. XML only.
Date YYYY-MM-DD Date of ranking result. JSON only.
One INTEGER # of keywords ranked 1
Two INTEGER # of keywords ranked 2
Three INTEGER # of keywords ranked 3
Four INTEGER # of keywords ranked 4
Five INTEGER # of keywords ranked 5
SixToTen INTEGER # of keywords ranked 6-10
ElevenToTwenty INTEGER # of keywords ranked 11-20
TwentyOneToThirty INTEGER # of keywords ranked 21-30
ThirtyOneToForty INTEGER # of keywords ranked 31-40
FortyOneToFifty INTEGER # of keywords ranked 41-50
FiftyOneToHundred INTEGER # of keywords ranked 51-100
NonRanking INTEGER # of non-ranking keywords
ERROR CODE ERROR MESSAGE ERROR STATEMENT NOTES
500 Missing Site ID You must include the site_id parameter to request ranking distribution data for the ‘untagged keywords’ tag.
500 Site not authorized You do not have read permission to this site’s project.
500 Site not found Could not find a site with this id.
500 Tag not authorized You do not have read permission to this tag’s project.
500 Tag not found Could not find a tag with this id.
500 Missing Date The parameter <date parameter> must be provided.
500 Malformed Date The parameter <date parameter> must be in the format YYYY-MM-DD.
500 Unavailable date The requested parameter <date parameter> is not yet available. Please check the System Status section on help.getstat.com for more information.
500 Data unavailable for some dates Complete data is not available for the following dates: <affected date list>. Please check the System Status section on help.getstat.com for more information.
500 Bad date <Date parameter> predates availability of data for this user.
500 Bad dates The from_date value must be earlier than or equal to the to_date value for this operation.
500 Bad dates The maximum date range between from_date and to_date is 31 days.

Return to the top

Keywords: List

HTTP Method: GET

The nextpage= value contains the URL to retrieve the next page of results. Use the results parameter to control how many results are returned per-page (max 5,000).

XML request URL:

/keywords/list?site_id={siteId}[&start={start}][&results={results}]

XML typical response:

<?xml version="1.0" encoding="UTF-8"?>
<Response responsecode="200" resultsreturned="63" totalresults=”150” nextpage="/keywords/list?site_id=1&start=1000">
 <Result>
  <Id>11</Id>
  <Keyword>black celebrity gossip</Keyword>
  <KeywordMarket>US-en</KeywordMarket>
  <KeywordLocation>Boston</KeywordLocation>
  <KeywordDevice>Smartphone</KeywordDevice>
  <KeywordTranslation>potins de célébrités noires</KeywordTranslation>
  <KeywordTags>gossip</KeywordTags>
  <KeywordStats>
   <AdvertiserCompetition>0.86748</AdvertiserCompetition>
   <GlobalSearchVolume>80000</GlobalSearchVolume>
   <RegionalSearchVolume>54000</RegionalSearchVolume>
   <LocalSearchTrendsByMonth>
    <Oct>-</Oct>
    <Sep>49500</Sep>
    <Aug>60500</Aug>
    <Jul>49500</Jul>
    <Jun>49500</Jun>
    <May>49500</May>
    <Apr>49500</Apr>
    <Mar>49500</Mar>
    <Feb>49500</Feb>
    <Jan>49500</Jan>
    <Dec>40500</Dec>
    <Nov>49500</Nov>
   </LocalSearchTrendsByMonth>
   <CPC>1.42</CPC>
  </KeywordStats>
  <KeywordRanking date="2014-07-09">
   <Google>
   <Rank>1</Rank>
   <BaseRank>1</BaseRank>
   <Url>www.zillow.com/mortgage-rates/ca/</Url>
   </Google>
  </KeywordRanking>
  <CreatedAt>2011-01-25</CreatedAt>
  <RequestUrl>/rankings?keyword_id=11&from_date=2011-01-25&to_date=</RequestUrl>
 </Result>
 ...
</Response>

JSON request URL:

/keywords/list?site_id={siteId}[&start={start}][&results={results}]&format=json

JSON typical response:

{
   "Response":{
      "responsecode":"200",
      "resultsreturned":"63",
      "totalresults":"150",
      "nextpage":"/keywords/list?site_id=1&start=1000&format=json",
      "Result":[
         {
            "Id":"11",
            "Keyword":"black celebrity gossip",
            "KeywordMarket":"US-en",
            "KeywordLocation":"Boston",
            "KeywordDevice":"Smartphone",
            "KeywordTranslation":"potins de célébrités noires",
            "KeywordTags":"gossip",
            "KeywordStats":{
               "AdvertiserCompetition":"0.86748",
               "GlobalSearchVolume":"80000",
               "RegionalSearchVolume":"54000",
               "LocalSearchTrendsByMonth":{
                  "Oct":"-",
                  "Sep":"49500",
                  "Aug":"60500",
                  "Jul":"49500",
                  "Jun":"49500",
                  "May":"49500",
                  "Apr":"49500",
                  "Mar":"49500",
                  "Feb":"49500",
                  "Jan":"49500",
                  "Dec":"40500",
                  "Nov":"49500"
               },
               "CPC":"1.42"
            },
            "KeywordRanking":{
               "date":"2014-07-09",
               "Google":{
                  "Rank":"1",
                  "BaseRank":"1",
                  "Url":"www.zillow.com/mortgage-rates/ca/"
               },
            },
            "CreatedAt":"2011-01-25",
            "RequestUrl":"/rankings?keyword_id=11&format=json&from_date=2011-01-25&to_date="
         },
         ...
      ]
   }
}

 

REQUEST PARAMETER FORMAT REQUIRED NOTES
site_id INTEGER YES
start INTEGER NO Default is 0 (zero indexed)
results INTEGER NO Default is 100

 

RESPONSE PARAMETER FORMAT NOTES
Id INTEGER Keyword ID
Keyword STRING Keyword Text
KeywordMarket STRING Global market where keyword is tracked. Formatted at US-en, CA-en, DE-de, etc.
KeywordLocation STRING Location where keyword is tracked. Can be a city name, a state, or a postal code. IE: Boston, 90210, California, etc. When a keyword is not tracked at a local level, the value is blank.
KeywordDevice STRING Default is Desktop. Only other option is Smartphone.
KeywordTags STRING (comma separated) Tags applied to keyword. When tags are unavailable, value will be “none”.
AdvertiserCompetition DECIMAL Value between 0 and 1 (inclusive). When unavailable, value will be -1.0
GlobalSearchVolume INTEGER When unavailable, value will be -1
RegionalSearchVolume INTEGER Targeted to KeywordMarket. When unavailable, value will be -1
LocalSearchTrendsByMonth INTEGERS Regional Search Volume numbers for previous 12 months
CPC DECIMAL The cost-per-click for this keyword.
CreatedAt YYYY-MM-DD Keyword creation date
RequestUrl STRING Request URL for keyword’s rankings
Translation STRING The translation of the keyword

Return to the top

Keywords: Create

Multiple keywords can be separated by commas. You can create keywords that include commas by using a backslash to escape them. For example:

/keywords/create?site_id={siteId}&market=US-en&location=Boston&device=smartphone&keyword=shirt\,shoes

Without the backslash, the code creates two keyword search terms (“shirt” and “shoes”):

/keywords/create?site_id={siteId}&market=US-en&location=Boston&device=smartphone&keyword=shirt,shoes

Tags are optional.

HTTP Method: GET

XML request URL:

/keywords/create?site_id={siteId}&market={market}&keyword={keywords}[&location={location}][&device={device}][&tag={tags}]

XML typical response:

<?xml version="1.0" encoding="UTF-8"?>
<Response responsecode="200" resultsreturned=”2”>
 <Result>
  <Id>3008</Id>
  <Keyword>shirt</Keyword>
  <KeywordMarket>US-en</KeywordMarket>
  <KeywordLocation>Boston</KeywordLocation>
  <KeywordDevice>Smartphone</KeywordDevice>
  <CreatedAt>2011-01-25</CreatedAt>
 </Result>
 <Result>
  <Id>3009</Id>
  <Keyword>shoes</Keyword>
  <KeywordMarket>US-en</KeywordMarket>
  <KeywordLocation>Boston</KeywordLocation>
  <KeywordDevice>Smartphone</KeywordDevice>
  <CreatedAt>2011-01-25</CreatedAt>
 </Result>
</Response>

JSON request URL:

/keywords/create?site_id={siteId}&market={market}&keyword={keywords}[&location={location}][&device={device}][&tag={tags}]&format=json

JSON typical response:

{
   "Response":{
      "responsecode":"200",
      "resultsreturned":"2",
      "Result":[
         {
            "Id":"3008",
            "Keyword":"shirt",
            "KeywordMarket":"US-en",
            "KeywordLocation":"Boston",
            "KeywordDevice":"Smartphone",
            "CreatedAt":"2011-01-25"
         },
         {
            "Id":"3009",
            "Keyword":"shoes",
            "KeywordMarket":"US-en",
            "KeywordLocation":"Boston",
            "CreatedAt":"2011-01-25"
         }
      ]
   }
}
REQUEST PARAMETER FORMAT REQUIRED NOTES
site_id INTEGER YES
market STRING YES COUNTRY-lang i.e. ‘US-en’
keyword STRING YES comma separated
location STRING NO Any location string i.e. ‘los angeles’
device STRING NO ‘desktop’ or ‘smartphone’
tag STRING NO

 

RESPONSE PARAMETER FORMAT NOTES
Id INTEGER Keyword ID
Keyword STRING Keyword Text
KeywordMarket STRING Global market where keyword is tracked. Formatted at US-en, CA-en, DE-de, etc.
KeywordLocation STRING Location where keyword is tracked. Can be a city name, a state, or a postal code. IE: Boston, 90210, California, etc. When a keyword is not tracked at a local level, the value is blank.
KeywordDevice STRING Default is Desktop. Only other option is Smartphone.
CreatedAt YYYY-MM-DD Keyword creation date
ERROR CODE ERROR MESSAGE ERROR STATEMENT NOTES
403 Keyword limit exceeded Oops. You have crossed the <keyword limit> keywords trial limit.
Please remove the additional <keywords over limit> keyword(s) to proceed.
STAT clients are able to track unlimited keywords.
If you would like to become a client, write us at support@getSTAT.com
500 Bad market The market: <market> is not supported
500 Keyword not created No new keywords and/or no new tags for existing keywords found in params.
500 Site not authorized You do not have write permission to this site’s project.
500 Site not found Could not find a site with this id.
500 Keyword not created Could not create the keyword. Keyword creation failed on server side

Return to the top

Keywords: Delete

When you delete a keyword, all of the historical ranking data for that keyword is permanently erased from your account. If you want to keep the data, you can turn tracking off for a keyword instead. You can delete multiple keywords using comma separated values for id.

HTTP Method: GET

XML request URL:

/keywords/delete?id={keywordId}

XML typical response:

<?xml version="1.0" encoding="UTF-8"?>
<Response responsecode="200">
 <Result>
  <Id>3008</Id>
 </Result>
</Response>

JSON request URL:

/keywords/delete?id={keywordId}&format=json

JSON typical response:

{
   "Response":{
      "responsecode":"200",
      "Result":{
         "Id":"3008"
      }
   }
}
REQUEST PARAMETER FORMAT REQUIRED NOTES
id INTEGER YES

 

RESPONSE PARAMETER FORMAT NOTES
Id INTEGER Keyword ID
ERROR CODE ERROR MESSAGE ERROR STATEMENT NOTES
500 Keyword not found Could not find a keyword with this id.
500 Keyword delete not authorized You do not have write permission to this keyword’s project.

Return to the top

Rankings: List

HTTP Method: GET

The nextpage= value contains the URL to retrieve the next page of results. Each result is separated into three sub-results, one for each search engine.

XML request URL:

/rankings/list?keyword_id={keywordId}[&from_date={YYYY-MM-DD}][&to_date={YYYY-MM-DD}][&start={start}][&results={results}]

XML typical response:

<?xml version="1.0" encoding="UTF-8"?>
<Response responsecode="200" resultsreturned="30" totalresults=”1000” nextpage="/rankings/list?keyword_id=14&from_date=2011-01-25&to_date=2011-03-13&start=60">
 <Result date="2011-01-25">
  <Google>
   <Rank>55</Rank>
   <Url>http://tourismvancouver.com/5014342/nobody-cares-about-perez-hilton</Url>
   <BaseRank>50</BaseRank>
   <RequestUrl>/serps/show?keyword_id=14&engine=google&date=2011-01-25</RequestUrl>
  </Google>
 </Result>
 ...
</Response>

JSON request URL:

/rankings/list?keyword_id={keywordId}[&from_date={YYYY-MM-DD}][&to_date={YYYY-MM-DD}][&start={start}][&results={results}]&format=json

JSON typical response:

{
   "Response":{
      "responsecode":"200",
      "resultsreturned":"30",
      "totalresults":"1000",
      "nextpage":"/rankings/list?keyword_id=14&from_date=2011-01-25&to_date=2011-03-13&start=60&format=json",
      "Result":[
         {
            "date":"2011-01-25",
            "Google":{
               "Rank":"55",
               "Url":"http://tourismvancouver.com/5014342/nobody-cares-about-perez-hilton",
               "BaseRank":"50",
               "RequestUrl":"/serps/show?keyword_id=14&engine=google&date=2011-01-25&format=json"
            }
         },
         {
            "date":"2011-01-26",
            ...
         }
         ...
      ]
   }
}
REQUEST PARAMETER FORMAT REQUIRED NOTES
keyword_id INTEGER YES
from_date YYYY-MM-DD NO Default is 100 most recent results
to_date YYYY-MM-DD NO Default is most recent ranking day
start INTEGER NO Default is 0 (zero indexedThe starting result for paginated reques
results INTEGER NO Default is 100

 

RESPONSE PARAMETER FORMAT NOTES
<Result date=” “> YYYY-MM-DD Date of ranking result. XML only.
Date YYYY-MM-DD Date of ranking result. JSON only.
Rank INTEGER SERP Result Number (between 0 – 100 inclusive). Rank 0 indicates that site is not ranking in SERP.
BaseRank INTEGER Value defaults to 0 unless engine request parameter = “google”.
RequestUrl STRING Request URL for archived SERP
ERROR CODE ERROR MESSAGE ERROR STATEMENT NOTES
500 Bad From Date The From Date is earlier than the Keywords Creation Date.
500 Bad To Date The To Date is in the future.
500 Data unavailable for some dates Complete data is not available for the following dates: <affected date list>. Please check the System Status section on help.getstat.com for more information.
500 Keyword not found Could not find a keyword with this id.
500 List rankings not authorized You do not have read permission to this keyword’s project.

Return to the top

SERPs: Show

HTTP Method: GET

XML request URL:

/serps/show?keyword_id={keywordId}&engine={engine}&date={YYYY-MM-DD}

XML typical response:

<?xml version="1.0" encoding="UTF-8"?>
<Response responsecode="200">
 <Result>
    <ResultTypes>
       <ResultType>news</ResultType>
       <ResultType>amp</ResultType>
       <ResultType>carousel</ResultType>
    </ResultTypes>
    <Rank>2</Rank>
    <BaseRank></BaseRank>
    <Url>
          www.slashgear.com
    </Url>
  <Title>Cat Backpacks</Title>
  <Protocol>https</Protocol>
  </Result>
  <Result>
    <ResultTypes>
       <ResultType>news</ResultType>
       <ResultType>amp</ResultType>
       <ResultType>carousel</ResultType>
    </ResultTypes>
    <Rank>2</Rank>
    <BaseRank></BaseRank>
    <Url>
          www.space.com
    </Url>
  <Title>Hamster Wheel</Title>
  <Protocol>https</Protocol>
  </Result>
...
</Response>

JSON request URL:

/serps/show?keyword_id={keywordId}&engine={engine}&date={YYYY-MM-DD}&format=json

JSON typical response:

{
   "Response":{
      "responsecode":"200",
      "Result":[
              {
                  "ResultTypes": {
                      "ResultType":[
                          "amp",
                          "carousel",
                          "news"
                       ]
                   },
                   "Rank":"2",
                   "BaseRank":"",
                   "Url":"www.slashgear.com",
                   "Title": "Cat Backpacks",
                   "Protocol":"https"
               },
              {
                  "ResultTypes": {
                      "ResultType":[
                          "amp",
                          "carousel",
                          "news"
                       ]
                   },
                   "Rank":"2",
                   "BaseRank":"",
                   "Url":"www.space.com",
                   "Title": "Hamster Wheel",
                   "Protocol":"https"
                }
         ]
  }
}
REQUEST PARAMETER FORMAT REQUIRED NOTES
keyword_id INTEGER YES
engine STRING YES ‘google’
date YYYY-MM-DD YES

 

RESPONSE PARAMETER FORMAT NOTES
ResultTypes OBJECT Contains an object of type ResultType
ResultType STRING or ARRAY Contains an array of strings or single string value of the type(s) or attribute(s) for a SERP result. The default is ‘regular’, which means the result type is organic. Possible values are: amp, answers, app download, books, carousel, explore, flights, home services, images, jobs, knowledge graph, list, map, news, paragraph, people also ask, places, placesV3, recipes, refine by, related searches, shopping, table, twitter box, unknown, videos
Rank INTEGER SERP Result Number (between 0 – 100 inclusive).
Note: All sub-results in a carousel will have the same rank.
BaseRank INTEGER Value defaults to 0 unless engine request parameter = “google”.
Url STRING URL of SERP Result
ERROR CODE ERROR MESSAGE ERROR STATEMENT NOTES
500 Bad Date The requested date is in the future.
500 Unavailable date Your requested data is not yet available. Please check the System Status section on help.getstat.com for more information.
500 SERP not found Could not find a SERP for this date.
500 Keyword not found Could not find a keyword with this id.
500 Show SERPs not authorized You do not have read permission to this keyword’s project.
500 SERP not found Could not find SERP for the specified date <date>. Server encountered an error retrieving the SERP
500 Server error An unspecified error occurred on the server.

Return to the top

SoV: Sites

HTTP Method: GET

The score is calculated on each domain for all the keywords in the site specified. The response contains a date-wise breakdown of each competitor domain, the score, and whether or not it is a pinned site.

XML request URL:

/sites/sov?id={siteId}&from_date={YYYY-MM-DD}&to_date={YYYY-MM-DD}[&start={start}][&results={results}]

XML typical response:

<?xml version="1.0" encoding="UTF-8"?>
<Response responsecode="200" resultsreturned="XX" totalresults="XXXX" nextpage="/[sites/tags]/sov?id=XX&from_date=XXXX-XX-XX&to_date=YYYY-YY-YY&start=XX">
<ShareOfVoice date="XXXX-XX-XX">
	<Site>
		<Domain>xxx.com</Domain>
		<Share>13.0</Share>
		<Pinned>false</Pinned>
	</Site>
	<Site>
		<Domain>yyy.com</Domain>
		<Share>9.0</Share>
		<Pinned>true</Pinned>
	</Site>
        ...

</ShareOfVoice>
<ShareOfVoice date="YYYY-YY-YY">
	<Site>
		<Domain>xxx.com</Domain>
		<Share>11.0</Share>
		<Pinned>false</Pinned>
	</Site>
	<Site>
		<Domain>yyy.com</Domain>
		<Share>10.0</Share>
		<Pinned>true</Pinned>
	</Site>
        ...

</ShareOfVoice>
    ...

JSON request URL:

/sites/sov?id={siteId}&from_date={YYYY-MM-DD}&to_date={YYYY-MM-DD}[&start={start}][&results={results}]&format=json

JSON typical response:

{
    "Response":{
        "responsecode":"200",
        "resultsreturned":"XX",
        "totalresults":"XXXX",
        "nextpage":"/[sites/tags]/sov?id=XX&from_date=XXXX-XX-XX&to_date=YYYY-YY-YY&start=XX",
        "ShareOfVoice":[
            {
                "date":"XXXX-XX-XX",
                "Site":[
                    {
                        "Domain":"xxx.com",
                        "Share":"13.0",
                        "Pinned":"false"
                    },
                    {
                        "Domain":"yyy.com",
                        "Share":"9.0",
                        "Pinned":"true"
                    }
                ]
            },
            {
                "date":"YYYY-YY-YY",
                "Site":[
                    {
                        "Domain":"xxx.com",
                        "Share":"11.0",
                        "Pinned":"false"
                    },
                    {
                        "Domain":"yyy.com",
                        "Share":"10.0",
                        "Pinned":"true"
                    }
                ]
            }
        ]
    }
}
REQUEST PARAMETER FORMAT REQUIRED NOTES
id INTEGER YES The ID number of the site
from_date STRING YES The start date of the reporting period
to_date STRING YES The end date of the reporting period
results INTEGER NO The number of results per page. Default is 100; the maximum is 5000.
start INTEGER NO The starting result for paginated requests (default is 0)

 

RESPONSE CODE ERROR MESSAGE ERROR STATEMENT
400 Bad request Expected a ‘<required parameter>’ parameter in your request
500 Wrong date format The <date parameter> must be in the format YYYY-MM-DD.
500 Invalid dates The from_date must be before or the same as the to_date.
500 Max date range exceeded The maximum date range between the from_date and the to_date is 365 days.
500 Invalid future date The to_date is in the future. Use a current or past date instead.
500 No SOV data Share of voice data is not available for the selected to_date. The last date with data is <latest_date>.
500 SOV not yet available Share of voice data is not yet available for this site.
500 Not authorized You don’t have read permissions for this site.
500 Site not found There is no site with this ID number.
RESPONSE PARAMETER FORMAT NOTES
<ShareOfVoice date=> STRING The date for this share of voice percentage
Domain STRING The site with this share of voice percentage
Share FLOAT The share of voice percentage for this site
Pinned BOOLEAN Whether or not the site is pinned

Return to the top

SoV: Tags

The SoV score is calculated on each domain for all the keywords in the tag specified. The response con-tains a date-wise breakdown of each competitor domain, the score, and whether or not it a pinned site.

HTTP Method: GET

XML request URL:

/tags/sov?id={tagId}&from_date={YYYY-MM-DD}&to_date={YYYY-MM-DD}[&start={start}][&results={results}]

XML typical response:

<?xml version="1.0" encoding="UTF-8"?>
<Response responsecode="200" resultsreturned="XX" totalresults="XXXX" nextpage="/tags/sov?id=XX&from_date=XXXX-XX-XX&to_date=YYYY-YY-YY&start=XX">
    <ShareOfVoice date="XXXX-XX-XX">
        <Site>
            <Domain>xxx.com</Domain>
            <Share>13.0</Share>
            <Pinned>false</Pinned>
        </Site>
        <Site>
            <Domain>yyy.com</Domain>
            <Share>9.0</Share>
            <Pinned>true</Pinned>
        </Site>
        ...
    </ShareOfVoice>
    <ShareOfVoice date="YYYY-YY-YY">
        <Site>
            <Domain>xxx.com</Domain>
            <Share>11.0</Share>
            <Pinned>false</Pinned>
        </Site>
        <Site>
            <Domain>yyy.com</Domain>
            <Share>10.0</Share>
            <Pinned>true</Pinned>
        </Site>
        ...
    </ShareOfVoice>
    ...
</Response>

JSON request URL:

/tags/sov?id={tagId}&from_date={YYYY-MM-DD}&to_date={YYYY-MM-DD}[&start={start}][&results={results}]&format=json

JSON typical response:

{
    "Response":{
        "responsecode":"200",
        "resultsreturned":"XX",
        "totalresults":"XXXX",
        "nextpage":"/tags/sov?id=XX&from_date=XXXX-XX-XX&to_date=YYYY-YY-YY&start=XX",
        "ShareOfVoice":[
            {
                "date":"XXXX-XX-XX",
                "Site":[
                    {
                        "Domain":"xxx.com",
                        "Share":"13.0",
                        "Pinned":"false"
                    },
                    {
                        "Domain":"yyy.com",
                        "Share":"9.0",
                        "Pinned":"true"
                    }
                ]
            },
            {
                "date":"YYYY-YY-YY",
                "Site":[
                    {
                        "Domain":"xxx.com",
                        "Share":"11.0",
                        "Pinned":"false"
                    },
                    {
                        "Domain":"yyy.com",
                        "Share":"10.0",
                        "Pinned":"true"
                    }
                ]
            }
        ]
REQUEST PARAMETER FORMAT REQUIRED NOTES
id INTEGER YES The ID number of the tag
from_date STRING YES The start date of the reporting period
to_date STRING YES The end date of the reporting period
results INTEGER NO The number of results per page. Default is 100; the maximum is 5000.
start INTEGER NO The starting result for paginated requests (default is 0)
RESPONSE CODE ERROR MESSAGE ERROR STATEMENT
400 Bad request Expected a ‘<required parameter>’ parameter in your request
500 Wrong date format The <date parameter> must be in the format YYYY-MM-DD.
500 Invalid dates The from_date must be before or the same as the to_date.
500 Max date range exceeded The maximum date range between the from_date and the to_date is 365 days.
500 Invalid future date The to_date is in the future. Use a current or past date instead.
500 No SOV data Share of voice data is not available for the selected to_date. The last date with data is <latest_date>.
500 SOV not yet available Share of voice data is not yet available for this tag.
500 Not authorized You do not have read permissions for this tag.
500 Tag not found There is no tag with this ID number.
RESPONSE PARAMETER FORMAT NOTES
<ShareOfVoice date=> STRING The date for this share of voice percentage
Domain STRING The site with this share of voice percentage
Share FLOAT The share of voice percentage for this site
Pinned BOOLEAN Whether or not the site is pinned

Return to the top

Most Frequent Domains: Sites

STAT tallies which competitors are most frequently in the top 10 for the keyword set by engine and the percentage coverage for this set.

HTTP Method: GET

XML request URL:

/sites/most_frequent_domains?id={siteId}&engine={engine}

XML typical response:

<?xml version="1.0" encoding="UTF-8"?>
<Response responsecode="200">
    <Site>
        <Domain>xxx.com</Domain>
        <TopTenResults>800</TopTenResults>
        <ResultsAnalyzed>16800</ResultsAnalyzed>
        <Coverage>4.76%</Coverage>
        <AnalyzedOn>XXXX-XX-XX</AnalyzedOn>
    </Site>
    <Site>
        <Domain>yyy.com</Domain>
        <TopTenResults>686</TopTenResults>
        <ResultsAnalyzed>16800</ResultsAnalyzed>
        <Coverage>4.08</Coverage>
        <AnalyzedOn>XXXX-XX-XX</AnalyzedOn>
    </Site>
    ...
</Response>

JSON request URL:

/sites/most_frequent_domains?id={siteId}&engine={engine}&format=json

JSON typical response:

{
    "Response":{
        "responsecode":"200",
        "Site":[
            {
                "Domain":"xxx.com",
                "TopTenResults":"800",
                "ResultsAnalyzed":"16800",
                "Coverage":"4.76%",
                "AnalyzedOn":"XXXX-XX-XX"
            },
            {
                "Domain":"yyy.com",
                "TopTenResults":"686",
                "ResultsAnalyzed":"16800",
                "Coverage":"4.08",
                "AnalyzedOn":"XXXX-XX-XX"
            }
        ]
    }
}
REQUEST PARAMETER FORMAT REQUIRED NOTES
id INTEGER YES The site ID to get data for
engine STRING YES ‘google’
RESPONSE CODE ERROR MESSAGE ERROR STATEMENT
400 Bad request Expected a ‘<required parameter>’ parameter in your request
500 Not yet available Your requested data is not yet available.
500 Invalid engine The engine ‘<engine>’ is invalid. It must be google.
500 Not authorized You do not have read permission for this site.
500 Site not found There is no site with this ID number.
RESPONSE PARAMETER FORMAT NOTES
Domain STRING The URL for a site most frequently seen in top-10 results
TopTenResults INTEGER Number of times this site ranked in the top 10
ResultsAnalyzed INTEGER Number of top-10 SERPs included in analysis
Coverage FLOAT Percent of top-10 SERPs in which this site ranked
AnalyzedOn STRING Date of analysis

Return to the top

Most Frequent Domains: Tags

STAT tallies which competitors are most frequently in the top 10 for the keyword set by engine and the percentage coverage for this set.

HTTP Method: GET

XML request URL:

/tags/most_frequent_domains?id={tagId}&engine={engine}

XML typical response:

<?xml version="1.0" encoding="UTF-8"?>
<Response responsecode="200">
    <Site>
        <Domain>xxx.com</Domain>
        <TopTenResults>800</TopTenResults>
        <ResultsAnalyzed>16800</ResultsAnalyzed>
        <Coverage>4.76%</Coverage>
        <AnalyzedOn>XXXX-XX-XX</AnalyzedOn>
    </Site>
    <Site>
        <Domain>yyy.com</Domain>
        <TopTenResults>686</TopTenResults>
        <ResultsAnalyzed>16800</ResultsAnalyzed>
        <Coverage>4.08</Coverage>
        <AnalyzedOn>XXXX-XX-XX</AnalyzedOn>
    </Site>
    ...
</Response>

JSON request URL:

/tags/most_frequent_domains?id={tagId}&engine={engine}&format=json

JSON typical response:

{
    "Response":{
        "responsecode":"200",
        "Site":[
            {
                "Domain":"xxx.com",
                "TopTenResults":"800",
                "ResultsAnalyzed":"16800",
                "Coverage":"4.76%",
                "AnalyzedOn":"XXXX-XX-XX"
            },
            {
                "Domain":"yyy.com",
                "TopTenResults":"686",
                "ResultsAnalyzed":"16800",
                "Coverage":"4.08",
                "AnalyzedOn":"XXXX-XX-XX"
            }
        ]
    }
}
REQUEST PARAMETER FORMAT REQUIRED NOTES
id INTEGER YES The tag ID to get data for
engine STRING YES  ‘google’
RESPONSE CODE ERROR MESSAGE ERROR STATEMENT
400 Bad request Expected a ‘<required parameter>’ parameter in your request
500 Not yet available Your requested data is not yet available.
500 Invalid engine The engine ‘<engine>’ is invalid. It must be one google.
500 Not authorized You do not have read permissions for this tag.
500 Tag not found There is no tag with this ID number.
RESPONSE PARAMETER FORMAT NOTES
Domain STRING The URL for a site most frequently seen in top-10 results
TopTenResults INTEGER Number of times this site ranked in the top 10
ResultsAnalyzed INTEGER Number of top-10 SERPs included in analysis
Coverage FLOAT Percent of top-10 SERPs in which this site ranked
AnalyzedOn STRING Date of analysis

Return to the top

Subaccounts: List

HTTP Method: GET

XML request URL:

/subaccounts/list

XML typical response:

<?xml version="1.0" encoding="UTF-8"?>
<Response responsecode="200">
 <User>
  <Id>3008</Id>
  <Login>user3008</Login>
  <ApiKey>540D245230F1638E3F6542F465232534</ApiKey>
  <CreatedAt>2011-01-25</CreatedAt>
 </User>
  ...
 <User>
  <Id>3009</Id>
  <Login>user3009</Login>
  <ApiKey>697D211110F1611A3F7657F460987222</ApiKey>
  <CreatedAt>2011-01-26</CreatedAt>
 <User>
<Response>

JSON request URL:

/subaccounts/list?format=json

JSON typical response:

{
   "Response":{
      "responsecode":"200",
      "User":[
        {
            "Id":"3008",
            "Login":"user3008",
            "ApiKey":"540D245230F1638E3F6542F465232534",
            "CreatedAt":"2011-01-25"
         },
         {
            "Id":"3009",
            "Login":"user3009",
            "ApiKey":"697D211110F1611A3F7657F460987222",
            "CreatedAt":"2011-01-26"
         }
      ]
   }
}
RESPONSE PARAMETER FORMAT NOTES
Id INTEGER User ID
Login STRING User login name
ApiKey STRING User API key
CreatedAt YYYY-MM-DD User creation date
ERROR CODE ERROR MESSAGE ERROR STATEMENT NOTES
500 List subaccounts not authorized You do not have permission to access this data.

Return to the top

Billing

There are three Billing API requests available:

  • Billing: Bill This request provides the data seen on the Bill tab of the billing summary. It includes keyword tracking, optional services and totals.
  • Billing: User breakdown This request provides the data seen on the User Breakdown tab of the billing summary. It includes tracked keywords by user, percentage of bill by user and total by user.
  • Billing: Site breakdown This request provides the data seen on the Site Breakdown tab of the billing summary. It includes tracked keywords, percentage of bill and site total with site info.

For the most up-to-date Billing API information, please contact our support team: support@getSTAT.com

Return to the top

Bulk Export Jobs: List

The Bulk List API returns data in a paginated format. It always returns the first hundred results when no page is specified. To navigate to subsequent pages, the start parameter can be passed with values at increments of 100. For example, to get to page 2, pass start=100. For page 3, start=200, etc

XML request URL:

/bulk/list

XML typical response:

<?xml version="1.0" encoding="UTF-8"?>
<Response responsecode=”200”>
 <Result>
  <Id>100</Id>
  <JobType>ranks</JobType>
  <Format>xml</Format>
  <Date>2011-02-05</Date>
  <Status>NotStarted</Status>
  <Url></Url>
  <StreamUrl></StreamUrl>
  <CreatedAt>2011-02-06</CreatedAt>
 </Result>
 <Result>
  <Id>99</Id>
  <JobType>ranks</JobType>
  <Format>json</Format>
  <Date>2014-02-04</Date>
  <Status>Completed</Status>
  <Url></Url>
  <StreamUrl></StreamUrl>
  <CreatedAt>2014-02-05</CreatedAt>
 </Result>
 ...
</Response>

JSON request URL:

/bulk/list?format=json

JSON typical response:

{
   "Response":{
      "responsecode":"200",
      "Result":[
         {
            "Id":"100",
            "JobType":"ranks",
            "Format":"xml",
            "Date":"2011-02-05",
            "Status":"NotStarted",
            "Url":null,
            "StreamUrl":null,
            "CreatedAt":"2011-02-06"
         },
         {
            "Id":"99",
            "JobType":"ranks",
            "Format":"json",
            "Date":"2014-02-04",
            "Status":"Completed",
            "Url":null,
            "StreamUrl":null,
            "CreatedAt":"2014-02-05"
         },
         ...
      ]
   }
}
REQUEST PARAMETER FORMAT REQUIRED NOTES
results INTEGER NO The number of results per page. The default is 100; the maximum is 5000.
start INTEGER NO The starting result for paginated requests (default is 0)
RESPONSE PARAMETER FORMAT NOTES
Id INTEGER Id of the Bulk Job
JobType STRING The type of job (ranks,serps,adwords,html-serps,site_ranking_distributions,tag_ranking_distributions)
Format STRING Format of bulk output file. Possible values are “xml” and “json”. Default is “xml”.
Status STRING Current Job Status (NotStarted,InProgress,Completed,Deleted,Failed)
Url STRING URL for downloading gzipped job result. Only displays when JobStatus == Completed.
StreamUrl STRING URL for streaming uncompressed job result. Only displays when JobStatus == Completed for JobType != html-serps.
CreatedAt YYYY-MM-DD Date bulk job was created

Return to the top

Bulk Export Jobs: Ranks

If no site_id is passed in, ranks are reported for all sites in the system on the given date. (Note that you cannot create bulk jobs for the current date or dates in the future.) Optionally, pass in one or more site_id values (comma separated) to report on specific sites.

rank_type: This parameter changes the call between getting the highest ranks for the keywords for the date with the value highest, or getting all the ranks for each engine for a keyword for a date with the value all. Defaults to highest if not provided.

engines: This parameter lets you choose which search engines to include in the export, defaulting to Google. Engines can be passed in comma separated to get multiple.

currently_tracked_only: This parameter will cause the API to output only keywords which currently have tracking on at the time the API request is generated.

crawled_keywords_only: This parameter causes the API to only include output for keywords that were crawled on the date parameter provided.

HTTP Method: GET

XML request URL:

/bulk/ranks?date={YYYY-MM-DD}[&site_id={siteIds}][&rank_type={ranktype}][&engines={engines}][&currently_tracked_only={boolean}][&crawled_keywords_only={boolean}]

XML typical response:

<?xml version="1.0" encoding="UTF-8"?>
<Response responsecode=”200”>
 <Result>
  <Id>1</Id>
 </Result>
</Response>

JSON request URL:

/bulk/ranks?date={YYYY-MM-DD}[&site_id={siteIds}][&rank_type={ranktype}][&engines={engines}][&currently_tracked_only={boolean}][&crawled_keywords_only={boolean}]&format=json

JSON typical response:

{
   "Response":{
      "responsecode":"200",
      "Result":{
         "Id":"1"
      }
   }
}
REQUEST PARAMETER FORMAT REQUIRED NOTES
date YYYY-MM-DD YES
site_id INTEGER NO Comma separated list of specific site IDs, default is all sites.
rank_type STRING NO ‘highest’ or ‘all’. Default is ‘highest’
engines STRING NO Default is ‘google’
currently_tracked_only BOOLEAN NO Default is false
crawled_keywords_only BOOLEAN NO Default is false
RESPONSE PARAMETER FORMAT NOTES
Id INTEGER Id of the Bulk Job
ERROR CODE ERROR MESSAGE ERROR STATEMENT NOTES
500 Missing Date The parameter date must be provided.
500 Malformed Date The parameter date must be in the format YYYY-MM-DD.
500 Unavailable date The requested parameter date is not yet available. Please check the System Status section on help.getstat.com for more information.
500 Bad Date <Date parameter> predates availability of data for this user.
500 Invalid Engine The engine <engine> is invalid. It must be one google. One or more engines can be passed in comma separated.
500 Invalid Rank Type The rank type is invalid. It must be one or more of the following: highest, all.
500 ParamsFile Error There was an error in saving the params file. Server error saving params file

Depending on the rank_type parameter provided, the output file’s Ranking node will change.

  • For rank_type=highest the Ranking node will always contain all the engines that have been requested (default to all: google, bing). Rank, BaseRank, and Url will show either numerical values or blanks (<Rank></Rank> for XML or Rank: null for JSON)
  • For rank_type=all the Ranking node will always contain all the engines that have been requested, but there are different cases depending on whether or not ranks exist. In the case of a ranking result for a particular engine in XML, there will be one or more <Result></Result> nodes that wrap Rank, BaseRank, and Url. The same case for JSON has two possibilities. If there is one ranking there will be a single object within the Result key, like engine: { Result: {Rank, BaseRank, Url} }. If there are multiple rankings the Result key becomes an array of results like engine: { Result: [{Rank,BaseRank,Url}, {Rank,BaseRank,Url}, ...] }
  • For a non-ranking value (where a custom non-ranking value has not been set for the site), the XML output will simply self-close the engine node (e.g. <Google/>) and the JSON output will make the engine key null (e.g. Google: null).

XML output file format when rank_type=highest:

<?xml version="1.0" encoding="UTF-8"?>
<Response responsecode="200">
<Project>
  <Id>9</Id>
  <Name>STAT Search Analytics</Name>
  <TotalSites>4</TotalSites>
  <CreatedAt>2014-11-13</CreatedAt>
  <Site>
    <Id>19</Id>
    <Url>getstat.com</Url>
    <TotalKeywords>1203</TotalKeywords>
    <CreatedAt>2014-11-13</CreatedAt>
      <Keyword>
        <Id>154010</Id>
        <Keyword>unlimited tracking</Keyword>
        <KeywordMarket>US-en</KeywordMarket>
        <KeywordLocation />
        <KeywordDevice>desktop</KeywordDevice>
        <KeywordTranslation>hello</KeywordTranslation>
        <KeywordCategories />
        <KeywordTags />
        <KeywordStats>
          <AdvertiserCompetition>0.04</AdvertiserCompetition>
          <GlobalSearchVolume>40500</GlobalSearchVolume>
          <TargetedSearchVolume>27100</TargetedSearchVolume>
          <LocalSearchTrendsByMonth>
            <Apr>40500</Apr>
            <Mar>33100</Mar>
            <Feb>27100</Feb>
            <Jan>27100</Jan>
            <Dec>27100</Dec>
            <Nov>27100</Nov>
            <Oct>27100</Oct>
            <Sep>27100</Sep>
            <Aug>27100</Aug>
            <Jul>27100</Jul>
            <Jun>27100</Jun>
            <May>27100</May>
          </LocalSearchTrendsByMonth>
          <CPC>0.24</CPC>
        </KeywordStats>
        <CreatedAt>2014-11-13</CreatedAt>
        <Ranking date="2015-05-12" type=“highest”>
          <Google>
            <Rank>6</Rank>
            <BaseRank>6</BaseRank>
            <Url>getstat.com/take-the-tour</Url>
          </Google>
          <Bing>
            <Rank>29</Rank>
            <Url>getstat.com/take-the-tour</Url>
          </Bing>
        </Ranking>
      </Keyword>
      <Keyword>
       ...
      </Keyword>
       ...
    </Site>
  </Project>
</Response>

JSON output file format when rank_type=highest:

{
   "Response":{
       "responsecode":"200",
       "Project":{
           "Id":"9",
           "Name":"STAT Search Analytics",
           "TotalSites":"4",
           "CreatedAt":"2014-11-13",
           "Site":{
               "Id":"19",
               "Url":"getstat.com",
               "TotalKeywords":"1203",
               "CreatedAt":"2014-11-13",
               "Keyword":[
                   {
                       "Id":"154010",
                       "Keyword":"unlimited tracking",
                       "KeywordMarket":"US-en",
                       "KeywordLocation":null,
                       "KeywordDevice":"desktop",
                       "KeywordTranslation":"hello",
                       "KeywordCategories":null,
                       "KeywordTags":null,
                       "KeywordStats":{
                           "AdvertiserCompetition":"0.04",
                           "GlobalSearchVolume":"40500",
                           "TargetedSearchVolume":"27100",
                           "LocalSearchTrendsByMonth":{
                               "Apr":"40500",
                               "Mar":"33100",
                               "Feb":"27100",
                               "Jan":"27100",
                               "Dec":"27100",
                               "Nov":"27100",
                               "Oct":"27100",
                               "Sep":"27100",
                               "Aug":"27100",
                               "Jul":"27100",
                               "Jun":"27100",
                               "May":"27100"
                           },
                           "CPC":"0.24"
                       },
                       "CreatedAt":"2014-11-13",
                       "Ranking":{
                           "date":"2015-05-12",
                           “type”:”highest”,
                           "Google":{
                               "Rank":"6",
                               "BaseRank":"6",
                               "Url":"getstat.com/take-the-tour"
                           },
                           "Bing":{
                               "Rank":"29",
                               "Url":"getstat.com/take-the-tour"
                           }
                       }
                   }
                   ...
               ]
           }
       }
   }

XML output example when rank_type=all:
(Note different search engines returning single ranks, multiple ranks, and non-ranking results.)

<Ranking date="2015-05-12" type="all">
  <Google>
    <Result>
      <Rank>6</Rank>
      <BaseRank>6</BaseRank>
      <Url>getstat.com/take-the-tour</Url>
    </Result>
    <Result>
      <Rank>10</Rank>
      <BaseRank>10</BaseRank>
      <Url>getstat.com/our-clients</Url>
    </Result>
  </Google>
  <Bing/>
</Ranking>

JSON output example when rank_type=all:
(Note different search engines returning single ranks, multiple ranks, and non-ranking results.)

"Ranking":{
  "date":"2015-05-12",
  “type”:”all”,
  "Google": {
     "Result": [
        {
          "Rank":"6",
          "BaseRank":"6",
          "Url":"getstat.com/take-the-tour"
        },
        {
          "Rank":"10",
          "BaseRank":"10",
          "Url":"getstat.com/our-clients"
        }
     ]
  },
  “Bing”:null
}
RESPONSE PARAMETER FORMAT NOTES
Project/Id INTEGER ID of the project
Name STRING Name of the project
TotalSites INTEGER Number of sites in the project
Project/CreatedAt YYYY-MM-DD Project creation date
Site/Id INTEGER ID of the site
Site/Url STRING Site URL
TotalKeywords INTEGER Number of keywords on the site (includes untracked)
Site/CreatedAt YYYY-MM-DD Site creation date
Keyword/Id INTEGER ID of the keyword
Keyword STRING Keyword text
KeywordMarket STRING Global market where keyword is tracked. Formatted as US-en, CA-en, DE-de, etc.
KeywordLocation STRING Location where keyword is tracked. Can be a city name, a state, or a postal code. IE: Boston, 90210, California, etc. When a keyword is not tracked at a local level, the value is blank.
KeywordDevice STRING Default is Desktop. Only other option is Smartphone.
KeywordCategories STRING Deprecated (always empty)
KeywordTags STRING (comma separated) Tags applied to keyword. When tags are unavailable, value will be “none”.
AdvertiserCompetition DECIMAL Value between 0 and 1 (inclusive). When unavailable, value will be -1.0
GlobalSearchVolume INTEGER When unavailable, value will be -1
TargetedSearchVolume INTEGER Targeted to KeywordMarket. When unavailable, value will be -1
Translation STRING The translation of the keyword
LocalSearchTrendsByMonth INTEGERS Targeted Search Volume numbers for previous 12 months
CPC DECIMAL The cost-per-click for this keyword.
Keyword/CreatedAt YYYY-MM-DD Keyword creation date
Rank INTEGER SERP Result Number (between 1 – 120 inclusive, or custom value set in site settings). A blank value indicates that the site is not ranking in the SERP.
BaseRank INTEGER Value only shows up when looking at Google results. Defaults to blank when non-ranking. It is what the rank would be if Google Universal results were not in the SERP.
Ranking/Url INTEGER Request URL for ranking

Return to the top

Bulk Export Jobs: Status

HTTP Method: GET

XML request URL:

/bulk/status?id={bulkjobId}

XML typical response:

<?xml version="1.0" encoding="UTF-8"?>
<Response responsecode="200">
 <Result>
  <Id>5</Id>
  <JobType>ranks</JobType>
  <Format>json</Format>
  <Date>2011-04-15</Date>
  <SiteId>1,5,10</SiteId>
  <Status>InProgress</Status>
  <Url></Url>
  <CreatedAt>2011-05-03</CreatedAt>
 </Result>
</Response>

JSON request URL:

/bulk/status?id={bulkjobId}&format=json

JSON typical response:

{
   "Response":{
      "responsecode":"200",
      "Result":{
         "Id":"5",
         "JobType":"ranks",
         "Format":"json",
         "Date":"2011-04-15",
         "SiteId":"1,5,10",
         "Status":"InProgress",
         "Url":null,
         "CreatedAt":"2011-05-03"
      }
   }
}
REQUEST PARAMETER FORMAT REQUIRED
Id INTEGER YES
RESPONSE PARAMETER FORMAT NOTES
Id INTEGER Id of the Bulk Job
JobType STRING The type of job (ranks,serps,adwords,xml-serps,html-serps)
Format STRING Format of bulk output file. Possible values are “xml” and “json”. Default is “xml”.
Date YYYY-MM-DD The date parameter passed in when creating the job
SiteId INTEGER (comma separated) The site_id parameter passed in when creating the job (will not display if no site_id was passed in)
Status STRING Current Job Status (NotStarted,InProgress,Completed,Deleted,Failed)
Url STRING URL for downloading gzipped job result. Only displays when JobStatus == Completed.
StreamUrl STRING URL for streaming uncompressed job result. Only displays when JobStatus == Completed.
CreatedAt YYYY-MM-DD Date bulk job was created
ERROR CODE ERROR MESSAGE ERROR STATEMENT NOTES
500 Job not found Could not find a Bulk Job with this id.

Return to the top

Bulk Export Jobs: Delete

HTTP Method: GET

XML request URL:

/bulk/delete?id={bulkjobId}

XML typical response:

<?xml version="1.0" encoding="UTF-8"?>
<Response responsecode=”200”>
 <Result>
  <Id>1</Id>
 </Result>
</Response>

JSON request URL:

/bulk/delete?id={bulkjobId}&format=json

JSON typical response:

{
   "Response":{
      "responsecode":"200",
      "Result":{
         "Id":"1"
      }
   }
}
REQUEST PARAMETER FORMAT REQUIRED NOTES
Id INTEGER YES

 

RESPONSE PARAMETER FORMAT NOTES
Id INTEGER Id of the Bulk Job deleted
ERROR CODE ERROR MESSAGE ERROR STATEMENT NOTES
500 Job not found Could not find a Bulk Job with this id.
500 Job already deleted This job has already been deleted.

Return to the top

Bulk Export Jobs: Site Ranking Distributions

Ranking distribution records are reported for all sites in system on the given date. (Note that you cannot create bulk jobs for the current date or dates in the future.)

HTTP Method: GET

XML request URL:

/bulk/site_ranking_distributions?date={YYYY-MM-DD}

XML typical response:

<?xml version="1.0" encoding="UTF-8"?>
<Response responsecode=”200”>
 <Result>
  <Id>1</Id>
 </Result>
</Response>

JSON request URL:

/bulk/site_ranking_distributions?date={YYYY-MM-DD}&format=json

JSON typical response:

{
   "Response":{
      "responsecode":"200",
      "Result":{
         "Id":"1"
      }
   }
}
REQUEST PARAMETER FORMAT REQUIRED NOTES
date YYYY-MM-DD YES

 

RESPONSE PARAMETER FORMAT NOTES
Id INTEGER Id of the Bulk Job
ERROR CODE ERROR MESSAGE ERROR STATEMENT NOTES
500 Missing Date The parameter date must be provided.
500 Malformed Date The parameter date must be in the format YYYY-MM-DD.
500 Unavailable Date The requested parameter date is not yet available. Please check the System Status section on help.getstat.com for more information.
500 Bad Date <Date parameter> predates availability of data for this user.
500 ParamsFile Error There was an error in saving the params file. Server error saving params file

Return to the top

Bulk Export Jobs: Tag Ranking Distributions

HTTP Method: GET

XML request URL:

/bulk/tag_ranking_distributions?date={YYYY-MM-DD}

XML typical response:

<?xml version="1.0" encoding="UTF-8"?>
<Response responsecode=”200”>
 <Result>
  <Id>1</Id>
 </Result>
</Response>

JSON request URL:

/bulk/tag_ranking_distributions?date={YYYY-MM-DD}&format=json

JSON typical response:

{
   "Response":{
      "responsecode":"200",
      "Result":{
         "Id":"1"
      }
   }
}
REQUEST PARAMETER FORMAT REQUIRED NOTES
date YYYY-MM-DD YES

 

RESPONSE PARAMETER FORMAT NOTES
Id INTEGER Id of the Bulk Job
ERROR CODE ERROR MESSAGE ERROR STATEMENT NOTES
500 Missing Date The parameter date must be provided.
500 Malformed Date The parameter date must be in the format YYYY-MM-DD.
500 Unavailable Date The requested parameter date is not yet available. Please check the System Status section on help.getstat.com for more information.
500 Bad Date <Date parameter> predates availability of data for this user.
500 ParamsFile Error There was an error in saving the params file. Server error saving params file

Return to the top

Bulk: Google HTML SERP, SERP, Google Ads (Optional specialized service)

These are part of our optional specialty paid API services which can be turned on for individual sites via Site Tools > Settings.

To receive the most accurate Google Ads data from this service, it’s important to set a precise Location (city, state, province, ZIP code and/or postal code) for all of your keywords when adding them to STAT. If your keywords don’t have locations set, learn more about your options for editing your keywords.

HTTP Method: GET

XML request URL:

/bulk/list

XML typical response for an HTML SERP archive:

<?xml version="1.0" encoding="UTF-8"?>
<Response responsecode=”200”>
 <Result>
  <Id>8</Id>
  <JobType>html-serps</JobType>
  <Format>xml</Format>
  <Project>Cats R Us</Project>
  <Folder>Kitten Kaboodle</Folder>
  <SiteTitle>Fancy Feast</SiteTitle>
  <SiteUrl>www.holyanchovy.com</SiteUrl>
  <SiteId>123</SiteId>
  <Date>2014-12-14</Date>
  <Status>Completed</Status>
  <Url>http://stat.getstat.com/bulk_reports/download_report/99?key=xyz123</Url>
  <CreatedAt>2014-12-15</CreatedAt>
 </Result>
 ...
</Response>

XML typical response for a SERP archive:

<?xml version="1.0" encoding="UTF-8"?>
<Response responsecode=”200”>
 <Result>
  <Id>13</Id>
  <JobType>serps</JobType>
  <Format>xml</Format>
  <Project>News</Project>
  <Folder>other sites</Folder>
  <SiteTitle>abcnews.go.com</SiteTitle>
  <SiteUrl>abcnews.go.com</SiteUrl>
  <SiteId>118</SiteId>
  <Date>2014-11-05</Date>
  <Status>Completed</Status>
  <Url>http://stat.getstat.com/bulk_reports/download_report/13?key=xyz123</Url>
  <StreamUrl>http://stat.getstat.com/bulk_reports/stream_report/13?key=xyz123</StreamUrl>
  <CreatedAt>2014-11-06</CreatedAt>
 </Result>
 ...
</Response>

XML typical response for a Google Ads archive:

<?xml version="1.0" encoding="UTF-8"?>
<Response responsecode=”200”>
 <Result>
  <Id>19</Id>
  <JobType>serps</JobType>
  <Format>xml</Format>
  <Project>QA PROJECT</Project>
  <Folder/>
  <SiteTitle>Samplesite.com</SiteTitle>
  <SiteUrl>www.samplesite.com</SiteUrl>
  <SiteId>641</SiteId>
  <Date>2014-11-05</Date>
  <Status>Completed</Status>
  <Url>http://stat.getstat.com/bulk_reports/download_report/19?key=xyz123</Url>
  <StreamUrl>http://stat.getstat.com/bulk_reports/stream_report/19?key=xyz123</StreamUrl>
  <CreatedAt>2014-11-06</CreatedAt>
 </Result>
 ...
</Response>


JSON request URL:

/bulk/list?format=json

JSON typical response for an HTML SERP archive:

{
   "Response":{
      "responsecode":"200",
      "Result":{
         "Id":"8",
         "JobType":"html-serps",
         "Format":"json",
         "Project":"Cats R Us",
         "Folder":"Kitten Kaboodle",
         "SiteTitle":"Fancy Feast",
         "SiteUrl":"www.holyanchovy.com",
         "SiteId":"123",
         "Date":"2014-12-14",
         "Status":"Completed",
         "Url":"http://stat.getstat.com/bulk_reports/download_report/99?key=xyz123",
         "CreatedAt":"2014-12-15"
      }
      ...
   }
}



JSON typical response for a SERP archive:

{
   "Response":{
      "responsecode":"200",
      "Result":{
         "Id":"13",
         "JobType":"serps",
         "Format":"json",
         "Project":"News",
         "Folder":"other sites",
         "SiteTitle":"abcnews.go.com",
         "SiteUrl":"abcnews.go.com",
         "SiteId":"118",
         "Date":"2014-11-05",
         "Status":"Completed",
         "Url":"http://stat.getstat.com/bulk_reports/download_report/13?key=xyz123",
         "StreamUrl":"http://stat.getstat.com/bulk_reports/stream_report/13?key=xyz123",
         "CreatedAt":"2014-11-06"
      }
      ...
   }
}




JSON typical response for a Google Ads archive:

{
   "Response":{
      "responsecode":"200",
      "Result":{
         "Id":"19",
         "JobType":"serps",
         "Format":"json",
         "Project":"QA PROJECT",
         "Folder":null,
         "SiteTitle":"Samplesite.com",
         "SiteUrl":"www.samplesite.com",
         "SiteId":"641",
         "Date":"2014-11-05",
         "Status":"Completed",
         "Url":"http://stat.getstat.com/bulk_reports/download_report/19?key=xyz123",
         "StreamUrl":"http://stat.getstat.com/bulk_reports/stream_report/19?key=xyz123",
         "CreatedAt":"2014-11-06"
      }
      ...
   }
}





XML typical response for a SERP archive in CSV format:

<?xml version="1.0" encoding="UTF-8"?>
 <Response responsecode="200" resultsreturned="100" totalresults="5883" nextpage="/bulk/list?start=100">
    <Result>
        <Id>23456</Id>
        <JobType>serps</JobType>
        <Format>csv</Format>
        <Project>Cats R Us</Project>
         <Folder/>
        <SiteTitle>Fancy Feast</SiteTitle>
        <SiteUrl>www.holyanchovy.com</SiteUrl>
        <SiteId>123</SiteId>
        <Date>2023-06-13</Date>
        <Status>Completed</Status>
        <Url>https://s3.us-east-1.amazonaws.com/stat.getstat.com/84d64577-a173-4ed2-9163-f27286fd8244.csv.gz</Url>
        <StreamUrl>https://stat.getstat.com/bulk_reports/stream_report/82959?key=041e73fd2f97b613959e6a4fdb055b1f5122b0b6</StreamUrl>
        <CreatedAt>2023-06-14</CreatedAt>
    </Result>
 ...
</Response>

JSON typical response for a SERP archive in CSV format:

{
    "Response": {
        "responsecode": "200",
        "resultsreturned": "100",
        "totalresults": "5883",
        "nextpage": "/bulk/list?start=100&format=json",
        "Result": [
            {
                "Id": "42959",
                "JobType": "serps",
                "Format": "csv",
                "Project": "News",
                "Folder": other sites,
                "SiteTitle": "abcnews.go.com",
                "SiteUrl": "abcnews.co.com",
                "SiteId": "118",
                "Date": "2023-06-13",
                "Status": "Completed",
                "Url": "https://s3.us-east-1.amazonaws.com/stat.getstat.com/84d64577-a173-4ed2-9163-f27286fd8244.csv.gz",
                "StreamUrl": "https://stat.rc.getstat.com/bulk_reports/stream_report/82959?key=041e73fd2f97b613959e6a4fdb055b1f5122b0b6",
                "CreatedAt": "2023-06-14"
            },
            ...
   }
}

XML typical response for a Google Ads archive in CSV format:

<?xml version="1.0" encoding="UTF-8"?>
 <Response responsecode="200" resultsreturned="100" totalresults="5883" nextpage="/bulk/list?start=100">
    <Result>
         <Id>80539</Id>
          <JobType>adwords</JobType>
          <Format>csv </Format>
          <Project>QA PROJECT</Project>
          <Folder/>
          <SiteTitle>www.samplesite.com</SiteTitle>
          <SiteUrl>www.samplesite.com</SiteUrl>
          <SiteId>94</SiteId>
          <Date>2023-06-13</Date>
          <Status>Completed</Status>


         <Url>https://s3.us-east-1.amazonaws.com/stat.com/fe9d8033-d122-4694-bfaa-2db2952c9873.xml.gz </Url>
         <StreamUrl>https://stat.getstat.com/bulk_reports/stream_report/40539?key=960d852ca5265d6ba233c0a477c47d44ae320a42 </StreamUrl>
         <CreatedAt>2023-06-13 </CreatedAt>
 ...
 </Response>

JSON typical response for a Google Ads archive in CSV format:

{
    "Response": {
        "responsecode": "200",
        "resultsreturned": "100",
        "totalresults": "5883",
        "nextpage": "/bulk/list?start=100&format=json",
        "Result": [
            {
                "Id": "80539",
                "JobType": "adwords",
                "Format": "csv",
                "Project": "QA PROJECT",
                "Folder": null,
                "SiteTitle": "Samplesite",
                "SiteUrl": "www.samplesite.com",
                "SiteId": "83",
                "Date": "2023-06-13",
                "Status": "Completed",
                "Url": "https://s3.us-east-1.amazonaws.com/stat.getstat.com/fe9d8033-d122-4694-bfaa-2db2952c9873.xml.gz",
                "StreamUrl": "https://stat.getstat.com/bulk_reports/stream_report/40539?key=960d852ca5265d6ba233c0a477c47d44ae320a42",
                "CreatedAt": "2023-06-13"
            },
            ...
   }
}
REQUEST PARAMETER FORMAT REQUIRED NOTES
NONE NONE NONE
RESPONSE PARAMETERS FORMAT NOTES
Id INTEGER Id of the bulk job
JobType STRING The type of bulk job. Could be ranks, serps, adwords, site_ranking_distributions, tag_ranking_distributions.
Project STRING The name of the project that contains the site this bulk job belongs to
Folder STRING The name of the folder this site is contained in (could be empty)
SiteTitle STRING The title of the site this bulk job belongs to
SiteUrl STRING Url of the site this bulk job belongs to
SiteId INTEGER Id of the site this bulk job belongs to
Date STRING Date this archive was compiled
Status STRING Current Job Status. Could be waiting, completed, failed.
Url STRING URL for downloading gzipped job result. Only displays when Status == Completed.
StreamUrl STRING URL for streaming uncompressed archive. Only displays when Status == Completed.
CreatedAt YYYY-MM-DD Date this bulk job was created

HTML SERP archives are compiled into gzip (.GZ) archives for download. The gzip archive decompresses into a folder with the same name as the original archive filename. This folder contains each HTML SERP within the site on the given date.

HTML SERPs are named with the following convention:

<engine>-<date>-<keyword>-<market>-<location>-<device>.html

So, the following file indicates that it is the Google SERP on May 12, 2015 for the keyword [mens shoes] tracked in the GB-en market, with no location, against a desktop device:

google-2015-05-12-mens shoes-GB-en--desktop.html

This file indicates that it is the Google SERP on May 12, 2015 for the keyword [mens shoes] tracked in the GB-en market, within the location of London, against a mobile device:

google-2015-05-12-mens shoes-GB-en-London-mobile.html
NOTE: For keywords containing a forward slash, the forward slash in downloaded bulk HTML SERP files is automatically replaced with “_slash_”. For example, the keyword “p/e ratio” is rendered as “p_slash_e ratio”. So the filename in this case would be google-2015-05-12-p_slash_e ratio-GB-en--desktop.html.

Your parsed SERP archive returns Google SERPs in XML, JSON, and CSV formats for all keywords in a site.

  • XML archive filename format: <bulk-job-id>.xml.gz
  • XML filename format: <bulk-job-id>.xml
  • JSON archive filename format: <bulk-job-id>.json.gz
  • JSON filename format: <bulk-job-id>.json
  • CSV archive filename format: <bulk-job-id>.csv.gz
  • CSV filename format: <bulk-job-id>.csv

XML typical response:

<?xml version="1.0" encoding="UTF-8"? >
<Response responsecode="200">
 <DateRequested>2014-12-14</DateRequested>
 <SitesRequested>Feline Fancy</SitesRequested>
 <Site id="123">
  <KeywordSerps keyword_id="2345" keyword="cat" market="US-en" location="" device="mobile">
   <Google>
        <Result>
             <ResultTypes>
                  <ResultType>amp</ResultType>
                  <ResultType>carousel</ResultType>
                  <ResultType>news</ResultType>
             </ResultTypes>
             <Rank>2</Rank>
             <BaseRank></BaseRank>
             <Protocol>http</Protocol>
             <Url>
                   www.slashgear.com
             </Url>
             <Title>Cat Backpacks</Title>
        </Result>
        <Result>
             <ResultTypes>
                  <ResultType>news</ResultType>
                  <ResultType>amp</ResultType>
                  <ResultType>carousel</ResultType>
             </ResultTypes>
             <Rank>2</Rank>
             <BaseRank></BaseRank>
             <Protocol>http</Protocol>
             <Url>
                   www.space.com
             </Url>
             <Title>Hamster Wheel</Title>
        </Result>
   </Google>
 ...
</Response>

JSON typical response:

{
   "Response":{
      "responsecode":"200",
      "DateRequested":"2014-12-14",
      "SitesRequested":"Feline Fancy",
      "Sites": [
       {
            "id":"123",
            "KeywordSerps":{
            "keyword_id":"2345",
            "keyword":"cat",
            "market":"US-en",
            "location":"",
            "device":"mobile",
   "Google":{
        "Result":[
             {
                "ResultTypes": {
                     "ResultType":[
                          "amp",
                          "carousel",
                          "news"
                      ]
                 },
                 "Rank":"2",
                 "BaseRank":"",
                 "Protocol": "http",
                 "Url":"www.slashgear.com",
                 "Title": "Cat Backpacks"
               },
              {
                "ResultTypes": {
                     "ResultType":[
                          "amp",
                          "carousel",
                          "news"
                      ]
                 },
                 "Rank":"2",
                 "BaseRank":"",
                 "Protocol": "http",
                 "Url":"www.space.com",
                 "Title": "Hamster Wheel"
               }
        ...
     ]
},
}

CSV typical response:

Site ID,Keyword ID,Keyword,Market,Location,Device,Result Type,Rank,Base Rank,Protocol,URL,Title,Translation
975,3398912,cat,US-en,,mobile,"""amp,carousel,news""",1,1,www.slashgear.com,"""Cat Backpacks""",
975,3398912,hamster,US-en,,mobile,"""regular""",2,2,www.space.com,"""Hamster Wheell""",
975,3398912,Dog,US-en,,mobile,"""regular,carousel,Image""",3,3,www.dogbehaviour.com,"""Dog Behaviour""",
RESPONSE PARAMETERS FORMAT NOTES
DateRequested DATE (YYYY-MM-DD) Date API call was made
SitesRequested STRING Title of requested site
ResultTypes STRING Contains an array of different SERP feature types
ResultType STRING The type of SERP feature for the keyword. The default is ‘regular’, which means the result type is organic. Possible values are: amp, answers, app download, books, carousel, explore, flights, home services, images, jobs, knowledge graph, list, map, news, paragraph, people also ask, places, placesV3, recipes, refine by, related searches, shopping, table, twitter box, unknown, videos
Rank INTEGER SERP Result Number (between 0 – 100 inclusive)
Note: All sub-results within a carousel will have the same rank.
BaseRank INTEGER Value defaults to 0 unless engine parameter = “google”.
Protocol STRING Protocol of the SERP Result. Possible values for google: http, https. Possible values for bing: ‘ ’ or ‘null’
Url STRING URL of SERP Result

Your Google Ads archive returns Google Ads data in XML and JSON formats for all keywords in a site.

  • Archive filename format: <bulk-job-id>.xml.gz
  • XML filename format: <bulk-job-id>.xml
  • CSV archive filename format: <bulk-job-id>.csv.gz
  • CSV filename format: <bulk-job-id>.csv

XML typical response:

<?xml version="1.0" encoding="UTF-8"?>
<Response responsecode="200">
 <DateRequested>2014-12-14</DateRequested>
 <SitesRequested>Feline Fancy</SitesRequested>
 <Site id="123">
  <KeywordAdwords keyword_id="2345" keyword="cat" market="US-en" location="" device="desktop">
   <KeywordTags>
    <Tag>yarn</Tag>
    <Tag>wool</Tag>
   </KeywordTags>
   <KeywordStats>
    <AdvertiserCompetition>0.01</AdvertiserCompetition>
    <GlobalSearchVolume>1500000</GlobalSearchVolume>
    <RegionalSearchVolume>450000</RegionalSearchVolume>
    <CPC>2.11</CPC>
   </KeywordStats>
   <Ads>
    <Ad>
     <Rank>1</Rank>
     <Title/>
     <Copy>
      Save up to 25% on Knitting and Crochet Yarns Online at Yarn.com
     </Copy>
     <DisplayUrl>www.yarn.com/</DisplayUrl>
     <DestinationUrl>http://www.yarn.com/</DestinationUrl>
     <CrawledAt>2014-12-14 00:04:17 UTC</CrawledAt>
    </Ad>
    ...
   </Ads>
  </KeywordAdwords>
  ...
 </Site>

JSON typical response:

{
  "Response":{
    "responsecode":"200",
    "DateRequested":"2014-12-14",
    "SitesRequested":"Feline Fancy",
    "Sites": [
      {
        "id":"123",
        "KeywordAdwords": [
          {
            "keyword_id":"2345",
            "keyword":"cat",
            "market":"US-en",
            "location":"",
            "device":"desktop",
            "KeywordTags": [
              "yarn", "wool"
            ],
            "KeywordStats":{
               "AdvertiserCompetition":"0.01",
               "GlobalSearchVolume":"1500000",
               "RegionalSearchVolume":"450000",
               "CPC":"2.11"
            },
            "Ads": [
              {
                "Rank":"1",
                "Title":null,
                "Copy":"Save up to 25% on Knitting and Crochet Yarns Online at Yarn.com",
                "DisplayUrl":"www.yarn.com/",
                "DestinationUrl":"http://www.yarn.com/",
                "CrawledAt":"2014-12-14 00:04:17 UTC"
              }
              ...
            ]
          }
          ...
        ]
      }
    ]
   }
}

CSV typical response:

SiteID,KeywordID,Keyword,Market,Location,Device,Translation,AdvertiserCompetition,GlobalSearchVolume,RegionalSearchVolume,CPC,Rank,Title,Copy,DisplayUrl,DestinationUrl,CrawledAt
963,3225328,yarn,US-en,"""seattle, wa""",desktop,,0.2,9900,2400,18.44,1,""Crochet & Knitting Wool & Yarn""","""Find a full range of the finest yarns and knitting wool from all your favourite brands",,https://www.lovecrafts.com/ 02:33:46 UTC
963,3225328,wool,US-en,"""seattle, wa""",desktop,,0.2,9900,2400,18.44,2,"""Knitting Yarns - Shop Now - Up To 50% June Summer Sale""","""Get Your 15% Welcome Discount and Free Delivery on Orders over £30.""",,https://https://www.woolwarehouse.co.uk 02:33:46 UTC
963,3225328,cotton reels,US-en,"""seattle, wa""",desktop,,0.2,9900,2400,18.44,3,"""Cotton cords - Reels, rolls & cut lengths""","""Trade And Wholesale Supplies Of fine cotton cords and tapes.""",,https://www.supplydivision.com/ 02:33:46 UTC
RESPONSE PARAMETERS FORMAT NOTES
DateRequested DATE (YYYY-MM-DD) Date API call was made
SitesRequested STRING Title of requested site
KeywordTags ARRAY Tags applied to keyword. When tags are unavailable, value will be an empty array.
AdvertiserCompetition DECIMAL Supplied by Google Ads API. Value between 0 and 1 (inclusive). When unavailable, value will be -1.0.
GlobalSearchVolume INTEGER Supplied by Google Ads API. When unavailable, value will be -1.
RegionalSearchVolume INTEGER Supplied by Google Ads API. Targeted to KeywordMarket. When unavailable, value will be -1.
CPC DECIMAL Cost-per-click for this keyword
Rank INTEGER SERP Result Number (between 0 – 100 inclusive)
Title STRING Ad title
Copy STRING Ad copy
DisplayUrl STRING Displayed URL
DestinationUrl STRING URL user is directed to from SERP
CrawledAt DATE (YYYY-MM-DD HH:MM:SS UTC) Date and time keyword was crawled

Return to the top