Select Page

AI Google Search Questions API

Description

Long-tail keywords are one of the most potent strategies for all marketers to go after. But what kind of keywords should you focus on? One answer to that question is: questions!

This endpoint generates a set of the most commonly searched Google questions related to your topic of choice. Our AI will search its massive database of entries to look for phrases that people continuously inquire about. This can be a great source of inspiration for you to build your content around.

Endpoint Cost

1 token/credit per request

If the analyze flag is set to true, the pricing change to 1 token/credit per keyword found if it is not cached in our database (see details below).

Endpoint

> POST https://api.jsonrepo.com/v1/seo/ai_search_questions

Headers

Field Description
X-API-Key Required Your API Key

Parameters

Field Type Description
input String Required Format: English alphanumerical string.
Size: 3 <= input <= 30
analyze Boolean Optional Get Google search data
Default: false
limit Integer Optional The number of maximum recommendations to be generated by our AI
Default: 15
Range: 1 <= limit <= 30

Understanding Endpoint Cost:

When results are returned to you, they are by default provided without Google's search volume, cpc or competition data. The cost for the recommendations without the search data is 1 token/credit per request.

In order to get Google search information, you need to set analyze to true. This will change the pricing to 1 token/credit per keyword IF we don't have the keyword in our cache.

Example:

Say you want to get 15 questions based on some input term. Simply issue a request with the default parameters in place and we'll return a JSON array with 15 entries in it and you'll be charged 1 token/credit in total.

If you want to also get the Google search data by setting analyze to true, the result from this endpoint will be piped into our Keyword Checker endpoint and you will be charged 1 token/credit per keyword.

However, Because AI output is non-deterministic, the endpoint may return a couple duplicate entries between requests. In order for you to not get charged for those duplicates, we deduct from the total cost any keywords that exist in our cache. That way your maximum cost with analyze = true is:

(1 * 15) - number of cached keywords

While this may seem complicated, in reality, it is far cheaper than most other alternatives out there and it enables you to do research before requesting data for entries you might not like.

Response

A successful request will result in a populated payload field with the expected output.

Response Time:

AI output is bound by the efficiency of the model and the prompt enabling it. The bigger your limit is, the longer the request will take to process. Please be patient as processing the information could sometimes take between 1 and 5 seconds.

Example 1: No Analyze

Request Example
// Generate `3` questions that are related to the topic `seo`

curl -X POST https://api.jsonrepo.com/v1/seo/ai_search_questions \
-H "X-API-Key: {YOUR_API_KEY_HERE}" \
--data-urlencode "input=seo" \
--data-urlencode "limit=3"
// Server Response

{
    "http_code": 200,
    "http_message": "Ok",
    "timestamp": 1731791541,
    "message": "Successful execution.",
    "payload": {
        "keywords": {
            "input": {
                "input": "seo"
            },
            "output": [
                {
                    "origin": "generator",
                    "keyword": "what is seo",
                    "region": "global",
                    "length": 11,
                    "difficulty": "",
                    "volume": "",
                    "competition": "",
                    "cpc": ""
                },
                {
                    "origin": "generator",
                    "keyword": "how to improve seo",
                    "region": "global",
                    "length": 18,
                    "difficulty": "",
                    "volume": "",
                    "competition": "",
                    "cpc": ""
                },
                {
                    "origin": "generator",
                    "keyword": "seo best practices",
                    "region": "global",
                    "length": 18,
                    "difficulty": "",
                    "volume": "",
                    "competition": "",
                    "cpc": ""
                }
            ]
        }
    }
}

Example 2: Analyze

Request Example
// Generate `3` questions that are related to the topic `swimming`
// Also grab Google search data

curl -X POST https://api.jsonrepo.com/v1/seo/ai_search_questions \
-H "X-API-Key: {YOUR_API_KEY_HERE}" \
--data-urlencode "input=swimming" \
--data-urlencode "limit=3"
--data-urlencode "analyze=true"
// Server Response

{
    "http_code": 200,
    "http_message": "Ok",
    "timestamp": 1731791636,
    "message": "Successful execution.",
    "payload": {
        "keywords": {
            "input": {
                "input": "swimming"
            },
            "output": [
                {
                    "origin": "remote",
                    "keyword": "how to learn swimming",
                    "region": "global",
                    "length": 21,
                    "difficulty": 2,
                    "volume": 5400,
                    "competition": 9,
                    "cpc": "0.41"
                },
                {
                    "origin": "remote",
                    "keyword": "benefits of swimming",
                    "region": "global",
                    "length": 20,
                    "difficulty": 2,
                    "volume": 22200,
                    "competition": 3,
                    "cpc": "0.01"
                },
                {
                    "origin": "remote",
                    "keyword": "swimming for beginners",
                    "region": "global",
                    "length": 22,
                    "difficulty": 2,
                    "volume": 2900,
                    "competition": 9,
                    "cpc": "0.34"
                }
            ]
        }
    }
}

Errors

A failed request will result in an error output as detailed in Error Rules. If the endpoint validation fails due to missing, badly formatted or invalid parameters, the endpoint will return HTTP code 400 along with a message detailing the error.

Error Response
// Request without `input` field

{
    "http_code": 400,
    "http_message": "Bad Request",
    "timestamp": 1731791691,
    "message": "'input' must be provided as an alphanumeric string of size 3 to 30 characters.",
    "payload": []
}