A keyword gap is the list of Google searches your competitors rank for while your site doesn't show up at all. It's one of the quickest ways to find content worth writing: someone has already shown there's demand and that the query can be won.
Most SEO suites put this report behind a monthly plan. This post shows a pay-per-result way to get the same list from Python, what a real run returns, and where the data falls short.
How a keyword gap is built
The method is simple once you have ranking data:
Pull the keywords each competitor ranks for in the top N (say, top 20) in one country.
Pull what your own domain ranks for in the top 100.
Keep the competitor keywords your domain is missing from, merge duplicates across competitors, and sort by volume or estimated traffic.
The hard part is step 1: you need a database of Google rankings per domain.…