NAVNavbar
Logo
cURL php NodeJS Python cSharp

Historical Google Keywords Database

‌‌
Historical Google Keyword Databases can provide you with billions of keywords enriched with historical keyword data: search volume, competition, and more.

Note that historical data is available since the beginning of 2019.

This database is available in JSON format only.

Click here to download a database sample for the US location, English language.

You can also download the full list of supported locations and languages in the CSV format (last updated 2023-12-29).

The database in JSON contains data structured like in the example below:

{
  "keyword": "huckleberry bookstore",
  "location": 2124,
  "language": "fr",
  "spell": null,
  "spell_type": null,
  "keyword_info_history": {
    "202203": {
      "search_volume": 480,
      "cpc": null,
      "competition": 0.12,
      "competition_level": "LOW",
      "low_top_of_page_bid": null,
      "high_top_of_page_bid": null,
      "time_update": "2022-05-10T19:17:54.2726860Z",
      "categories": [],
      "history": {
        "202105": 390,
        "202106": 390,
        "202107": 390,
        "202108": 390,
        "202109": 390,
        "202110": 390,
        "202111": 590,
        "202112": 880,
        "202201": 590,
        "202202": 390,
        "202203": 480,
        "202204": 480
      }
    },
    "202204": {
      "search_volume": 480,
      "cpc": null,
      "competition": 0.12,
      "competition_level": "LOW",
      "low_top_of_page_bid": null,
      "high_top_of_page_bid": null,
      "time_update": "2022-06-02T23:21:21.7580528Z",
      "categories": [],
      "history": {
        "202105": 390,
        "202106": 390,
        "202107": 390,
        "202108": 390,
        "202109": 390,
        "202110": 390,
        "202111": 590,
        "202112": 880,
        "202201": 590,
        "202202": 390,
        "202203": 480,
        "202204": 480
      }
    },
    "202205": {
      "search_volume": 480,
      "cpc": null,
      "competition": 0.06,
      "competition_level": "LOW",
      "low_top_of_page_bid": null,
      "high_top_of_page_bid": null,
      "time_update": "2022-06-15T14:14:14.8835515Z",
      "categories": [],
      "history": {
        "202106": 390,
        "202107": 390,
        "202108": 390,
        "202109": 390,
        "202110": 390,
        "202111": 590,
        "202112": 880,
        "202201": 590,
        "202202": 390,
        "202203": 480,
        "202204": 480,
        "202205": 480
      }
    },
    "202206": {
      "search_volume": 480,
      "cpc": null,
      "competition": 0.13,
      "competition_level": "LOW",
      "low_top_of_page_bid": null,
      "high_top_of_page_bid": null,
      "time_update": "2022-07-12T18:44:24.3630256Z",
      "categories": [],
      "history": {
        "202107": 390,
        "202108": 390,
        "202109": 390,
        "202110": 390,
        "202111": 590,
        "202112": 880,
        "202201": 590,
        "202202": 390,
        "202203": 480,
        "202204": 480,
        "202205": 480,
        "202206": 390
      }
    },
    "202302": {
      "search_volume": 480,
      "cpc": null,
      "competition": 0.23,
      "competition_level": "LOW",
      "low_top_of_page_bid": null,
      "high_top_of_page_bid": null,
      "time_update": "2023-03-21T23:09:18.9404970Z",
      "categories": [
        10016,
        10141,
        10763,
        10108,
        10112,
        10609
      ],
      "history": {
        "202203": 390,
        "202204": 480,
        "202205": 390,
        "202206": 390,
        "202207": 390,
        "202208": 390,
        "202209": 390,
        "202210": 480,
        "202211": 590,
        "202212": 880,
        "202301": 590,
        "202302": 480
      }
    }
  },
  "extra": {
    "core_keyword": null,
    "detected_language": "en",
    "keyword_difficulty": 15
  },
  "search_intent_info": {
    "main_intent": "commercial",
    "foreign_intent": [],
    "last_updated_time": "2023-03-04T13:14:40.0735962Z"
  }
}

Description of the fields in the database:

Field name Type Description
keyword string keyword
UTF-8 encoding applies
location integer location code
unique identifier of the corresponding location
you can receive the list of available locations with their location_code by a GET request to
https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages
example:
2840 corresponds to the United States
language string language code
unique identifier of the language available for the corresponding location
you can receive the list of available locations with their language_code by a GET request to
https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages
example:
en corresponds to English
spell string autocorrection of the search engine
if the search engine provided results for a keyword that was corrected, we will provide the keyword corrected by the search engine and the type of autocorrection
spell_type string type of autocorrection
possible values:
did_you_mean, showing_results_for, no_results_found_for
keyword_info_history object historical keyword data for the returned keyword
    $date object date variable
provided in the “YYYYMM” format
example: "202109"
        search_volume integer average monthly search volume rate
represents either the approximate number of searches for the given keyword idea on google.com or google.com and partners, depending on the user’s targeting
        cpc float cost-per-click
represents the average cost per click (USD) historically paid for the keyword
note that Google Ads does not provide separate CPC data;
this field returns values based on data from high_top_of_page_bid supplied in Google Ads
        competition float competition
represents the relative amount of competition associated with the given keyword;
the value is based on Google Ads data and can be between 0 and 1 (inclusive)
        competition_level string competition level
represents the relative level of competition associated with the given keyword in paid SERP only;
possible values: LOW, MEDIUM, HIGH
if competition level is unknown, the value is null;
learn more about the metric in this help center article
        low_top_of_page_bid float minimum bid for the ad to be displayed at the top of the first page
indicates the value greater than about 20% of the lowest bids for which ads were displayed (based on Google Ads statistics for advertisers)
the value may differ depending on the location specified in a POST request
        high_top_of_page_bid float maximum bid for the ad to be displayed at the top of the first page
indicates the value greater than about 80% of the lowest bids for which ads were displayed (based on Google Ads statistics for advertisers)
the value may differ depending on the location specified in a POST request
        time_update string date and time when keyword data was last updated
in the ISO 8601 format: “YYYY-MM-DDThh:mm:ss.sssssssZ”
example:
2020-09-12T00:07:43.0733218Z
        categories array product and service categories
you can download the full list of possible categories
        history object monthly searches
represents the (approximate) number of searches on the returned keyword in the given location for the 12 months preceding the $date variable;
example: "202109":40
extra array additional information about the keyword
    core_keyword string main keyword in a group
contains the main keyword in a group of keywords that share similarities across the keyword_info parameters
if the value is null, our database does not contain any keywords that match these criteria
    synonym_clustering_algorithm string the algorithm used to identify synonyms
possible values:
keyword_metrics – indicates the algorithm based on keyword_info parameters
text_processing – indicates the text-based algorithm
if the value is null, our database does not contain any keywords the corresponding algorithm could identify as synonymous with keyword
    detected_language string detected language of the keyword
indicates the language of the keyword as identified by our system
    keyword_difficulty integer difficulty of ranking in the first top-10 organic results for a keyword
indicates the chance of getting in top-10 organic results for a keyword on a logarithmic scale from 0 to 100;
calculated by analysing, among other parameters, link profiles of the first 10 pages in SERP;
learn more about the metric in this help center guide
search_intent_info object search intent info for the returned keyword
learn about search intent in this help center article
    main_intent string main search intent
possible values: informational, navigational, commercial, transactional
    foreign_intent array supplementary search intents
possible values: informational, navigational, commercial, transactional
    last_updated_time string date and time when search intent data was last updated
in the ISO 8601 format: “YYYY-MM-DDThh:mm:ss.sssssssZ”
example:
2022-09-12T00:07:43.0733218Z

‌‌