Search our Knowledge Base

Search Query API

The search_api_query is a direct query rank on-demand API method that returns the HTML of the search results for a keyword and search engine query. This is a real-time tracking API method that features a callback URL option for automation with your software. 

Search Engines: data is available for Google Desktop, and Google Mobile. Note that desktop and mobile can vary in the type of SERP features available in the results, for example, desktop results may include an image URL in a Featured Snippet, but mobile does not.

Frequency: one-time on-demand.

API Type: this is a stand-alone API-only package, it does not include access to our reporting platform reports or Reporting API methods.

Data Retention: data generated by this API is stored for 24 hours

Data Format: XML is the default format, and JSON can be obtained by adding an output parameter to the request

User-Agent: Only used for mobile search engines. By default the user agent is android, however, if the data is required for IOS then the user agent has to be set.

Package Capacity: 
  • The recurring monthly fee is based on the number of units purchased (1 unit = 1 keyword tracked 1 time on 1 search engine).
  • Units are available in multiples of 1000. 
  • At the beginning of each month, the package capacity is reset (unused capacity is not transferable from the previous month).
Contact us with the number of keyword queries you want to run per month and we'll provide you with pricing.

Search Query API


API Options & Restrictions


API package capacity can be upgraded at any time.

Search API packages do not include access to Rank Ranger's reporting platform or white label features, these are data-only packages.

This on-demand API does not require a campaign setup, it is used for one-time queries on one search engine per query so it can be built into your software or website, and as such, there is no data storage.


Query Parameters

key string The unique API key assigned to your account
keyword string Keyword
&keyword=your keyword
se_id int Search Engine ID (get search engine ID list)
string Optional: custom Location can be entered to target a specific location by adding &geo=location name or postal code. For example:
  • miami, fl  OR 90210 (specific postal code within the area of Google USA)
  • california (the entire state) 
  • london  or  wc1n (specific postal code within the area of
  • amsterdam or 1012nx (specific postal code within the area of
useragent string Related only to mobile search engines requests. To obtain a search query for IOS, add &useragent=ios to the search query request.
callback int Optional: When &callback=true is included in the request, the system will send a callback to the URL that is defined for your account as the 'callback_url'. 
A callback is a POST request sent to your machine informing it that the data extraction task has been completed, and it provides the URL for downloading the HTML of the search results pages. 

Important! Account Setup - when you subscribe to the Search Query API if you want to use the Callback URL option you must send a message to with the URL that you want us to send the callback URL to so we can set it up in our system.

Keyword Query with Callback URL

To receive the URL for downloading the HTML of the search results when the data extraction task has been completed, add the callback parameter to your keyword query and a POST response will be sent to your machine.

Example of Keyword Query to obtain Callback URL

Sample Callback URL Response

Keyword Query Examples without Callback


Run Keyword Query for XML output

Run Keyword Query for JSON output

Run Keyword Query for specific USA location, tn

Run Keyword Query for a specific city for a non-USA location when using a country-specific search engine (e.g., Google UK)
The default output is in XML format, if you would like the output to be JSON then add "&output=json” at the end of the string.

Response: Successful Query Processing

Query ID

A successful search_api_query request returns a status of success, along with a Query ID (query_id) that can be used to call the rank results.

Get Results Parameters


se_id int Search Engine ID (get search engine ID list)
query_id int Query ID is used to request rank results after submitting a keyword query
parse_results string To obtain parsed results, add &parse_results=true&se_id=XXX to the request
parse_serp_features string Optional: Adding &parse_serp_features=true to the search_query-api_results request provides the special SERP indicators from our Google SERP Features API and Related Search API when those features are present in the search results for the query.
output string To obtain JSON format, add &output=json to the request

HTML Results Request Example

The Parse Results, Parse SERP Features, and/or Output parameters can be added to the Callback URL or it can be used in its original form to obtain the HTML SERP results.  

Example of a Callback URL

HTML Results Example

The Callback URL produces the full HTML results inside of content tags. For example:

Example of saved HTML results viewed in a web browser 

Callback HTML

Parsed Results Request Example

Parsed results can be requested manually in the following format using the query_id received via the search_api_query request, plus the parse_results and se_id parameters.

Example of Search Query API Parsed Results including SERP Features
In this example viewed in a JSON editor, are
  • organic search results with rank, URL, title, description, and any page extras that display in the SERP (e.g., HTTP, sitelinks, etc.)
  • plus Google SERP Features such as knowledge panel, answer boxes, (e.g., related questions, featured snippets, people also search for, etc.), top stories, videos,  related search, and Google Ads

Search Query API Parsed JSON Results

Results for Mobile Data

As previously mentioned the query results for mobile search engine by default retrieves data for Android with the following results example:

Search Query API Android Results

However, if the IOS data is required then &useragent=ios should be added to the request and a different query id should be used. The results will be as follows:

Search Query API IOS Results

Results Not Available

Depending upon the queue results may be returned in a matter of seconds to a minute or slightly more for the query to process, so your results request should be set to repeat until results are returned.

When results are not ready, this Not available error is the response:

How to Identify Featured Snippet Rank in Search Intelligence APIs

Question: With your Rank Top 50Rank Top 100 or Search Query API, how can I distinguish between a keyword that organically ranked in position 1 vs. one that ranked in position 1 because it was in a featured snippet?
  • In the search_results for each rank position, our Rank Top 50, Rank Top 100 and Search Query APIs provide rank, url, extra and title.  SERP indicators are recorded as extra data, extra: Featured Snippet is the indicator you will see when a keyword ranks in position 1 inside of a Featured Snippet.
  • For APIs that have Google SERP Features included, Featured Snippets are identified in the google_serp_features > answer boxes > answer_boxab_type: Featured Snippet. Included in that result is the title, url and image_url when they exist in the Featured Snippet.

This illustration provides an example of our Rank Top 50 API results, demonstrating how results from the SERP are presented (Rank Top 100 and Search Query APIs deliver that data in the same way).

Featured Snippet in API results

How to Obtain API Access

If you'd like to help determining which of our API plans is most appropriate for your needs, contact our service team and an account manager will be happy to assist you.

If you already have a Rank Ranger plan and see an error message when accessing the Account Settings > API & Connected Apps screen, then to obtain API access you will need to upgrade to a package that includes API access by completing a custom package request form or contacting Rank Ranger support with your requirements.

If your company has API services included in a plan and you aren't able to access the screen, contact your company's Rank Ranger account administrator to request that your user permissions be set to include access to the Account Settings > API & Connected Apps screen.

How to Generate New API Keys

You can obtain API Keys per user if your Rank Ranger account has API access by navigating to
1. Campaigns
2. API Resources
3. API Key Generator
4. Click the Generate Key button
5. Select a User and add a note (optional)
6. Click the Add button

Generate API Key

API Console: Construct & Test API Requests

To make construction of API requests easy, we offer this API testing tool. Most parameters are included in the options of the console, however, you may need to add custom option parameters to your API requests based on the specific API you're using. Referencing the parameters information that is listed in the specific API method documentation, you can construct and test API requests in Rank Ranger's API Console by navigating to:

1. Campaigns
2. API Resources > API Console
3. Select the Method and complete the applicable fields
4. Click the Generate button
5. Test your API method by clicking the launch URL icon and view your results. Once your results are as you want them, copy that URL into your own application and modify as needed for each request.

Rank Ranger API Testing Tool

Getting Started: Samples of APIs used for Creating Campaigns

We recommend reviewing our Best Practices Guide prior to structuring campaigns.

Get Packages Info: Required when there is more than 1 package in an account

Add a Profile: An option for adding an identifier to your campaigns for categorization (e.g., by language, country, etc) Name&profile_ref_id=YourInternalReferenceID

Get Profile ID list: Optional Data needed for Add a Campaign

Obtain the Search Engine List: Data needed for Add a Campaign

Add a Campaign: Create a new campaign, response will include the Campaign ID number that is needed for adding a search engine and keywords

*Note that Profile ID is an optional field that you may use, if you choose not to use it, then please remove "&profile_id=ProfileIDnumber” from the end of this call

Add a Search Engine: Add search engine to a campaign

Add a Keyword: An optional field is available for keyword_identifier field, allowing you to add your own unique identifier to each keyword &keyword=yourkeyword&keyword_identifier=your-keyword-identifier

Bulk Add Keywords: You may download and use the spreadsheet found on the Campaign Settings > Keywords screen to organize and import your keywords, or use this API,keyword2,keyword3

You'll find additional API methods in the Account Management and Data documentation

API Query Limits

Rank Ranger APIs can pull up to 100 queries per minute. If more than 10,000 API GET requests per hour is required, then there is an option available at an additional throughput fee, contact customer service for assistance.

Rank Reporting Method Limits
  • Rank Data & Research Reporting API methods can only provide data from campaigns tracking in your Rank Ranger account.
  • You can run an unlimited number of queries through the API.
Research API Methods
  • The variety of Research Method APIs have limits on the number of queries per day based on the capacity of your package. If you require additional units, please contact customer service and an account manager will provide you with package upgrade pricing.
Search API Method Limits
  • SEO Intelligence API method query limits are based on the number of units purchased for your custom plan (e.g., 1 unit = 1 keyword tracked on 1 search engine, 1 time).
  • Search API plans do not include access to the reporting platform.

Developer API Methods

Account Management 


Account Data 

Reporting API

Rank Data Methods 


Research Methods 

Search API

SEO Intelligence Methods

These are stand-alone packages that do not include use of reports, graphs or analysis tools in the Rank Ranger platform.


API Error Codes

Code Text Description
101 Invalid Method
Method does not exist, check your syntax
102 Invalid API Key
The API Key inserted is invalid, check for key accuracy
103 Invalid Domain
The Domain requested is invalid or does not exist in your account
104 Invalid Date
The selected date range or syntax is invalid
105 Invalid Keyword
The Keyword does not exist in this campaign 
202 Invalid Campaign Name
The Campaign name is invalid or missing
203 Invalid Primary URL
The Primary URL is invalid or missing
204 Invalid Campaign ID
The Campaign ID is invalid or missing
208 Invalid Search Engine
Invalid Search Engine ID
210 Keyword already exists
The Keyword already exists in this campaign
211 Keywords exist in campaign
You need to delete Keywords from this campaign before trying to delete the campaign
212 Invalid Package ID
Invalid Package ID
215 Custom White Label URL is already in use for another campaign
The Custom URL that you have selected for your White Label Portal is in use by another campaign, please select a different URL
400 No Results
No results were found
401 Limit Reached
You have reached the maximum number of Campaigns allowed in your package

406 Too many processes requested
The account has exceeded the limit on the number of exports that can be run and stored via the Campaigns > Import & Export > Campaign Export tool. After downloading the files, you may delete them in the Campaign Export screen or via the API.

Get the ultimate SEO tools with the Rank Ranger Software
Learn More About Rank Ranger