GSC Question Finder
Extract question-based keywords from Search Console using regex pattern matching.
#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
- Category
- Search Console
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
- Web app: upload any GSC query CSV, no authentication needed
- Script: set up OAuth credentials in Google Cloud Console
- Script: configure DOMAIN and DAYS variables, then authenticate via browser
- Choose the pattern: strict, loose, or custom (app only)
- Run the extraction and review matched queries
- 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.