Lee Foot

GSC Question Finder

Extract question-based keywords from Search Console using regex pattern matching.

Launch the app → View the source

#about

Filters GSC queries using two regex strategies: a strict pattern matching 50+ question indicators (who, what, when, where, why, how, installing, cost, vs, regulations) and a loose pattern for auxiliary verbs (can, could, will, would, do, does, did).

Deduplicates entries keeping the highest-impression variant and removes punctuation while preserving word boundaries.

Streamlit appUses Search Console data

Platform
Browser-based (no installation required)
Input
Google OAuth credentialsGSC property URL
Output
CSV with question queries and metrics

Use cases

  • Identifying FAQ content opportunities from existing rankings
  • Finding question queries where you already have visibility
  • Building content briefs from real user questions
  • Prioritising informational content by impression volume

#features

  • Two regex patterns: strict (100+ question and task terms, DIY-skewed) and loose (auxiliary verbs)
  • Streamlit app adds a custom pattern editor, pattern tester and question-mark toggle
  • Question-mark queries included in the app; the script exports pattern matches only
  • Deduplication keeping the highest-impression variant
  • Configurable lookback period in the script (default 360 days)
  • Results sorted by impressions descending

#how-to-use

  1. Web app: upload any GSC query CSV, no authentication needed
  2. Script: set up OAuth credentials in Google Cloud Console
  3. Script: configure DOMAIN and DAYS variables, then authenticate via browser
  4. Choose the pattern: strict, loose, or custom (app only)
  5. Run the extraction and review matched queries
  6. Export filtered questions to CSV

#faq

Do I need OAuth credentials, or can I just upload a CSV?
Both routes exist. The Python script authenticates with the Search Console API using a client_secrets.json OAuth file and pulls the last 360 days of queries itself. The hosted Streamlit app skips authentication entirely: you upload any CSV containing a query column, so a standard GSC UI queries export works.
Why does the strict pattern include words like 'slating', 'repointing' and 'welding'?
The strict list was built for a home improvement site, so alongside generic question words (who, what, how, vs, cost, best) it carries a lot of DIY and trades vocabulary. If your niche is different, use the app's Custom pattern option and swap in your own terms; the loose pattern is generic but noisier.
Are queries containing a question mark included?
In the Streamlit app, yes, via a checkbox that is on by default. In the Python script there is a bug: question-mark queries are collected into a dataframe that is never merged back, so the exported CSV only contains regex pattern matches.
Can short words like 'can' cause false positives?
Yes. Matching is on whole words but anywhere in the query, so 'watering can' matches via 'can' and 'free will' matches via 'will'. Expect some non-questions in the output and skim the results before using them for content planning.
How are near-duplicate queries handled?
Punctuation is stripped and whitespace collapsed first, then duplicates of the cleaned query are removed. The script sorts by impressions descending before deduplicating, so the highest-impressions variant is the one kept.

/contact

Want me to run this for you? I run this tool as a managed service, or build something custom around your data. You get the insights without touching the code.