Nearly every marketing project requires a thorough keyword research either as a part of Search Engine Optimization or Search Engine Advertising. There is a range of basic steps that each keyword research follows:

  1. Generate the „seed“ keywords
  2. Keyword list extension
  3. Get the avg. monthly searches & CPC
  4. Filter the results to get rid of the irrelevant entries
  5. Cluster the keywords into the relevant groups that can be used afterwards for marketing purposes There are multiple tools on the Web (some are paid, some are free) that can be used for the keyword research, however each of them has some limitations. In most of the cases these tools cover only some of the steps described above, e.g. AdWord & SEO Keyword Permutation Generator only focuses on step 2. Keyword list extension by merging multiple seed word lists. Keyword Planner, on the other hand, has another limitation, it takes only 10 keywords to generate new ideas, i.e. requires user to repeat the same action multiple times to get good data. An observation that the keyword research always follows the same pattern became an inspiration for this project, purpose of which has been to automate the research process as much as possible to save the time and produce the best results possible in a short time.

What it does

  1. The KI-word tool gets a manual input of the seed words
  2. The KI-word tool extends the keyword list by employing the API connection to the The advantage of is that it provides a wider range of the keywords, since it covers also those keywords hidden by Google Keyword Planner.
  3. Using the modified API connection KI-word tool gets the avg. monthly searches & CPC
  4. It filters the results to get rid of the irrelevant entries (one can specify the minimum values for CPC)
  5. Clusters the keywords into the relevant groups that can be used afterwards for marketing purposes (currently only in the backend)

How I built it

• Explored the APIs which provide keyword suggestions: zeroed in on Google Ads and Keywordtools APIs • Explored each and settled for Keywordtools API as our base API • For future usage, developed stubs for Google Ads API • Developed the backend data pipeline as a simple Flask based Python application • Efficient utilization of the API by aggregating requests when possible • Configurability provided to a limited extent for: o choice of API service provider, and specific configurations for the provider o filtering keyword results as returned by the API • Front end developed using bootstrap CSS

Challenges I ran into

As we explored different APIs, our first stop was Google Ads API which we configured. The discovery has been however that it would take a couple of days for an approval process. The Keywordtools APIs has been a quick alternative solution, therefore the decision has been made to employ the last.

Accomplishments that I'm proud of

We are happy that we managed to build a tool that made it possible for us to automate the process and tremedeously save the time. We are proud that the same project that would have taken ca. 5 days of research time without the tool, could now be completed in 1-2 days.

What I learned

We have learnt one more time that incredible products with a huge business value can be built by means of marketing & product collaboration. It has been a very productive knowledge exchange on both sides.

What's next for KI-word Tool (Keyword Research Tool)

  1. KI-word Tool could be further uptuned by means of improvement of the step 1. Generate the „seed“ keywords by using Google Cloud NLP (Natural Language Processing) tools to parse the content of websites/blogs/etc. of interest
  2. Bring the clustering of the keywords into the front end so that the user can choose what kind of clusters he/she is interested in
  3. Specify the filter rules fort he data in the front end
Share this project: