Features Pricing FAQ API Docs Blog
Signup / Login
Select Page

Keyword Checker API

Description

This API endpoint helps you find out information about any Google SEO keyword using data from a variety of sources including in-house data collection, Google's own APIs and 3rd party global search datasets.

Endpoint Cost

1 token/credit per keyword

Endpoint

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

Headers

Field Description
X-API-Key Required Your API Key

Parameters

Field Type Description
keywords[] String[] Required An array of keyword strings
Maximum of 200 keywords per request
Each keyword must be less than 50 characters long

Response

A successful request will result in a populated payload field with the expected output. The cpc provided is always denominated in USD and the region is always set to global. If you need further expansion and more precise search capabilities please let us know and we'll implement that in future releases.

Data Source, Formatting & Cost:

We use Google's global region search data and accept accept any UTF-8 string as keyword as long as it is URL-Encoded properly.

Please note that we charge 1 credit/token per keyword you lookup.

Example

// Lookup the keywords 'best sunglasses' and 'weird outfits'

curl -X POST https://api.jsonrepo.com/v1/seo/keyword_checker \
-H "X-API-Key: {YOUR_API_KEY_HERE}" \
--data-urlencode "keywords[]=best sunglasses" \
--data-urlencode "keywords[]=weird outfits" 
// Server Response

{
    "http_code": 200,
    "http_message": "Ok",
    "timestamp": 1731741299,
    "message": "Successful execution.",
    "payload": {
        "keywords": {
            "input": {
                "keywords": [
                    "best sunglasses",
                    "weird outfits"
                ],
                "keyword_count": 2
            },
            "output": [
                {
                    "id": 3036,
                    "keyword": "best sunglasses",
                    "volume": 18100,
                    "competition": 100,
                    "cpc": 0.32,
                    "trend": [
                        {
                            "year": 2023,
                            "month": "November",
                            "value": 14800
                        },

                        // 12 months data
                        ...

                        {
                            "year": 2024,
                            "month": "October",
                            "value": 12100
                        }
                    ],
                    "last_updated": "23 November 2024",
                    "region": "global",
                    "length": 15,
                    "difficulty": 4,
                    "volume_score": 4,
                    "ad_score": 3,
                    "origin": "cache"
                },
                {
                    "id": 2900,
                    "keyword": "weird outfits",
                    "volume": 2400,
                    "competition": 78,
                    "cpc": 0,
                    "trend": [...],
                    "last_updated": "03 December 2024",
                    "region": "global",
                    "length": 13,
                    "difficulty": 3,
                    "volume_score": 2,
                    "ad_score": 3,
                    "origin": "remote"
                }
            ]
        }
    }
}

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.

// Request with badly formatted `keywords[]` parameter

{
    "http_code": 400,
    "http_message": "Bad Request",
    "timestamp": 1729807009,
    "message": "'keywords' must be an array of strings. Please make sure that you are using 'keywords[]' as the parameter key.",
    "payload": []
}