I built a SERP feature detection module for my SEO agent. Then I ran it on the queries I'm targeting for a site about how Nigerian creators get paid online.
The results were more uniform than I expected.
What the Module Does
The module calls SerpApi for each target query and checks the structured JSON response for seven SERP features:
- AI Overview
- Featured snippet
- People Also Ask (PAA)
- Image pack
- Video results
- Local pack
- Knowledge panel
Each query comes back with a feature matrix and a list of content opportunities. No browser, no CAPTCHA, no bot detection — SerpApi handles the residential proxy infrastructure on their end.
The free tier is 100 searches/month. I have 8 target queries. That's comfortable.
The Results
I ran it on these queries for naija-vpn.com:
does twitch pay nigerians
how to receive money from twitch in nigeria
cleva vs geegpay nigeria
payoneer nigeria freelancers
how nigerians get paid on youtube
how to receive fiverr payment in nigeria
does tiktok pay nigerians
best dollar account for nigerian freelancers
The output:
| Query | AI Overview | Feat. Snippet | PAA | Images | Video | Local | KP |
|---|---|---|---|---|---|---|---|
| does twitch pay nigerians | ✓ | — | ✓ | — | ✓ | — | — |
| how to receive money from twitch in nigeria | ✓ | — | ✓ | — | ✓ | — | — |
| cleva vs geegpay nigeria | ✓ | — | ✓ | — | ✓ | — | — |
| payoneer nigeria freelancers | ✓ | — | ✓ | — | ✓ | — | — |
| how nigerians get paid on youtube | ✓ | — | ✓ | — | ✓ | — | — |
| how to receive fiverr payment in nigeria | ✓ | — | ✓ | — | ✓ | — | — |
| does tiktok pay nigerians | ✓ | — | ✓ | — | ✓ | — | — |
| best dollar account for nigerian freelancers | ✓ | — | ✓ | — | ✓ | — | — |
8 out of 8 queries: AI Overview ✓, PAA ✓, Video ✓.
No featured snippets. No local pack. No knowledge panels. Clean organic SERPs with three consistent rich features sitting above the fold.
What This Actually Means
AI Overview on every query
Google is summarising all of these topics directly in the search results. The old model — rank #1, get the click — has a layer on top of it now. The AI Overview reads the top sources and generates a summary. If your content is the clearest, most direct answer, there's a chance you get cited inside the summary. If it's buried in context, you don't.
The implication for writing: the first paragraph of every article in this niche now needs to be a complete, direct answer. Not "In this article, we'll explore..." — an actual answer. 40–60 words, no preamble.
PAA on every query
People Also Ask boxes are Google surfacing the secondary questions that the same user is likely to have. They're also secondary ranking opportunities — each box is its own small search result.
The catch: to rank in a PAA box, your heading needs to match the question phrasing closely. "Common Questions" sections with paraphrased questions miss the slot. The exact wording matters.
I ran related_questions from the SerpApi response for my two priority queries:
"does twitch pay nigerians":
- Is Nigeria eligible for Twitch monetization?
- How much money for 1000 views on Twitch?
- Does streaming pay in Nigeria?
- How much is 20k gifted subs on Twitch in Nigeria?
"how to receive money from twitch in nigeria":
- Is Nigeria eligible for Twitch monetization?
- How to make money from Twitch in Nigeria?
- How much is 20k gifted subs on Twitch in Nigeria?
- How many viewers on Twitch to make $1000 a month?
These became the <h3> headings in my FAQ section — verbatim, with full answers under each one.
Video on every query
YouTube videos are ranking for all 8 queries. I don't have videos. That's a gap I'm noting but not chasing right now — text content first, get indexed and cited, video is a later play.
No featured snippets
The AI Overview is eating what would otherwise be featured snippets. This isn't surprising — Google uses featured snippets to feed AI Overviews. If you're getting cited in the AI Overview, the featured snippet slot effectively doesn't matter.
What I Changed on the Pages
I updated three pages (Twitch, TikTok, YouTube) with the same two interventions:
1. Opening paragraph rewrite
Before:
Quick Answer: Nigerian streamers receive Twitch payments by using virtual US dollar accounts...
After:
Yes, Twitch pays Nigerians. Nigerian streamers can earn from subscriptions, bits, and ads through the Twitch Affiliate and Partner programs. To receive payments, you need a virtual dollar account — Cleva or Geegpay — which gives you real US bank details for Twitch's ACH transfers. Setup takes under 10 minutes with your NIN and BVN.
The difference: the second version opens with "Yes" (direct answer to the query), names the mechanism (virtual dollar account), names the specific products (Cleva, Geegpay), and gives the time estimate. All within 55 words. That's extractable.
2. FAQ section with exact PAA wording
Replaced generic Q&A sections with <h3> headings matching the SerpApi PAA questions word for word. Full paragraph answers under each.
I also tested adding @type: FAQPage structured data. I removed it before publishing — Google deprecated FAQ rich results in August 2023 and pulled it from their documentation entirely in September 2024. The schema does nothing now. The <h3> headings with exact PAA wording are what actually matter for ranking in PAA boxes, not the schema.
The Tool That Did This
serp-features is a module in my open-source SEO agent. You give it a list of queries, it returns a feature matrix and opportunity notes. It's about 260 lines of Python.
# Install
pip install httpx
# Set your SerpApi key (free tier, no credit card)
export SERPAPI_KEY="your-key-here"
# Run on a single query
python main.py serp-features --query "does twitch pay nigerians" --project naija-payments
# Run on a file of queries
python main.py serp-features --queries queries.txt --project naija-payments
The output is a markdown file with the feature matrix and per-query opportunity notes.
GitHub: github.com/dannwaneri/seo-agent
What I Learned Building It
The first version used Playwright to visit the real Google SERP. It worked for 1–3 queries before Google's bot detection kicked in. I tried user agents, delays, networkidle waits — none of it made a meaningful difference. Google's detection isn't based on request timing; it's based on IP reputation at scale.
The solution was to stop trying to scrape Google and use an API that already solved the infrastructure problem. SerpApi uses residential proxy networks — the same approach DataForSEO uses, just accessible to individuals on a free tier.
The rewrite was cleaner than the original. No Playwright dependency, no browser window opening, no CAPTCHA prompts. One httpx.get() call per query, structured JSON in, feature flags out.
Sometimes the right answer is to not fight the infrastructure problem yourself.
This is part of an ongoing series on building an open-source SEO co-pilot. The full agent handles core audits, GSC analysis, backlink scoring, internal link mapping, SERP feature detection, and LLM visibility checking — all local, all free or near-free to run.
Top comments (0)