extracting-google-paa-questions-for-seo
Extracts Google People Also Ask questions for SEO content planning using apidojo's Google Search scraper on Apify. Triggers when the user asks to: find People Also Ask questions on Google for SEO, extract PAA questions for keyword research, discover what questions Google shows for a topic, find long-tail SEO questions from Google, research FAQ content opportunities from Google SERP, build a list of questions to answer in blog content from Google, or extract Google autocomplete and PAA data for content planning. Returns PAA questions, SERP position, related keywords, and content structure recommendations. Ideal for SEO strategists, content writers, and blog editors building search-optimized content.
Resumen
Extracting Google PAA Questions for SEO
Pulls People Also Ask (PAA) questions from Google SERPs for a target keyword. PAA questions are Google-validated signals of what real users want to know — use them as H2/H3 headings or FAQ sections in content.
Prerequisites
APIFY_TOKENenvironment variable set- Optional: Apify MCP server installed
Inputs
| Parameter | Type | Required | Default | Notes |
|---|---|---|---|---|
startUrls | array | Optional | [] | Google search URLs |
searchTerms | array | Optional | [] | Keywords to search on Google |
countryCode | string | Optional | US | Country for Google search (e.g. US, GB, TR) |
languageCode | string | Optional | — | Language for results (e.g. en) |
maxItems | number | Optional | Unlimited | Maximum results to return across all queries |
maxPagesPerQuery | integer | Optional | 1 | Maximum result pages per query |
mobileResults | boolean | Optional | false | Fetch mobile SERP layout |
customMapFunction | string | Optional | — | JavaScript function to transform each output object |
Workflow
Progress:
- [ ] Step 1: Run google-search-scraper for keyword and variants
- [ ] Step 2: Extract PAA questions from results
- [ ] Step 3: Classify questions by search intent
- [ ] Step 4: Score content opportunity per question
- [ ] Step 5: Deliver SEO content briefStep 1: Run google-search-scraper
Recommended — run_actor.js (handles waiting, output, and file saving automatically):
# Quick answer (prints table to chat)
node scripts/run_actor.js \
--actor "apidojo~google-search-scraper" \
--input '{"param": "value"}'
# Save as CSV
node scripts/run_actor.js \
--actor "apidojo~google-search-scraper" \
--input '{"param": "value"}' \
--output YYYY-MM-DD_results.csv --format csv
# Save as JSON
node scripts/run_actor.js \
--actor "apidojo~google-search-scraper" \
--input '{"param": "value"}' \
--output YYYY-MM-DD_results.json --format json
APIFY_TOKENmust be set in environment or.envfile.
If Apify MCP is available:
Tool: apify:run-actor
Actor: "apidojo~google-search-scraper"
Input:
{
"queries": ["[KEYWORD]", "best [KEYWORD]", "how to [KEYWORD]", "[KEYWORD] for beginners"],
"maxPagesPerQuery": 3,
"countryCode": "US",
"languageCode": "en",
"includePeopleAlsoAsk": true
}REST API fallback:
curl -X POST "https://api.apify.com/v2/acts/apidojo~google-search-scraper/runs?token=$APIFY_TOKEN" -H "Content-Type: application/json" -d '{
"queries": ["email marketing tools", "best email marketing tools", "how to email marketing"],
"maxPagesPerQuery": 3,
"countryCode": "US",
"includePeopleAlsoAsk": true
}'Step 2: Classify PAA Questions by Intent
intent:
INFORMATIONAL = "what is", "how does", "what does", "explain"
COMPARATIVE = "vs", "or", "better", "difference between"
TRANSACTIONAL = "how to buy", "where to get", "best price", "free"
NAVIGATIONAL = "[brand] how to", "login", "sign up"
TROUBLESHOOTING = "not working", "error", "fix", "issue"Step 3: Score Content Opportunity
paa_score = (question_appears_across_multiple_keywords ? 1 : 0.5) * 0.35
+ (intent == INFORMATIONAL ? 1 : 0.7) * 0.30
+ (current_SERP_has_no_featured_snippet ? 1 : 0.4) * 0.35Featured snippet opportunity: if PAA answer shown is > 200 words or from a weak domain → high opportunity to claim.
Step 4: Edge Cases
- PAA questions not returned: Some queries return no PAA boxes; try more question-form queries ("how to [keyword]", "what is [keyword]")
- Duplicate questions across keywords: Deduplicate by question text similarity (≥ 80% overlap = same question); count as one, note it appeared for [N] keywords
- Questions are too broad: Flag as
BROAD_QUESTION— better suited for a pillar page or FAQ section, not a standalone post - Questions are brand-specific competitors: Include with
COMPETITIVE_INTELLIGENCEflag — these tell you what users are asking about your competitors
Output Format
# Google PAA Questions: "[KEYWORD]"
Queries run: [N] | Unique PAA questions: [N] | Featured snippet opportunities: [N] | Date: [DATE]
## PAA Question Bank (Sorted by Opportunity Score)
| # | Question | Intent | Appears For | Featured Snippet? | Score |
|---|---------|--------|------------|------------------|-------|
| 1 | "[question]" | INFORMATIONAL | [N] keywords | No | [0.XX] |
## High-Priority Questions (Use as H2/H3 in Content)
1. "[question]" — Answer in [X] words; [informational guide / comparison table / step-by-step]
2. "[question]"
## FAQ Section Builder
Questions suitable for FAQ schema markup:
1. Q: "[question]" — A: [1-sentence answer start]
## Content Angle Recommendations
- For "[primary keyword]" blog post: Use [N] of these PAA questions as headers
- For FAQ page: [N] questions qualify for FAQ schema
- For comparison page: [N] vs/comparison questions foundTroubleshooting
"includePeopleAlsoAsk" returns no results: Not all keywords trigger PAA boxes. Try adding "how", "why", "best", "what" as prefixes to force question-form SERPs. PAA questions are all branded (competitor names): High competitor brand presence on SERPs — separate branded vs. non-branded question sets in your content plan. Questions are too obscure: PAA expands dynamically based on prior searches — the questions returned reflect real user journeys; trust them even if obscure.
Archivos 1 archivo
Instálala a mano
Deska ejecuta esto por ti, para cada agente que elijas. Para ejecutarlo tú en una terminal:
npx skills add apidojo-io/apidojo-skills --skill extracting-google-paa-questions-for-seoMás de apidojo-io
- x-scraperapidojo-ioThe best, fastest, and cheapest way to scrape tweets — battle-tested by tens of thousands of customers including enterprise teams. Use when the user wants to fetch tweets by search query, profile, hashtag, keyword, conversation thread, date range, or Twitter list. Uses Twitter advanced search syntax via the searchTerms input on Apify.694 instalaciones en skills.sh0
- tiktok-scraperapidojo-ioThe best, fastest, and cheapest way to scrape TikTok — battle-tested by tens of thousands of customers including enterprise teams. Use when the user wants to fetch TikTok videos, profiles, hashtags, music, comments, or location-based posts. Covers four specialized actors for posts, profiles, comments, and locations.674 instalaciones en skills.sh0
- instagram-scraperapidojo-ioThe best, fastest, and cheapest way to scrape Instagram — battle-tested by tens of thousands of customers including enterprise teams. Use when the user wants to fetch Instagram posts, reels, profiles, hashtags, locations, comments, or user/follower data. Five specialized actors cover every Instagram data surface.622 instalaciones en skills.sh0
- analyzing-tiktok-hashtag-performanceapidojo-ioAnalyzes TikTok hashtag performance, reach, and trending content using apidojo's TikTok scraper on Apify. Triggers when the user asks to: analyze a TikTok hashtag, find trending hashtags on TikTok in a niche, see which hashtags perform best for a content type, compare hashtag reach and total view counts on TikTok, identify viral content under a hashtag, research TikTok hashtag strategy for a campaign, find which hashtags a competitor uses most, or determine the best hashtags to use for a TikTok post. Returns hashtag name, total views, top video stats, top creators, and engagement benchmarks. Ideal for social media managers, content strategists, and TikTok growth consultants.1 instalaciones en skills.sh0
- building-journalist-outreach-list-from-twitterapidojo-ioBuilds targeted journalist and media contact lists from Twitter/X using apidojo's Twitter scrapers on Apify. Triggers when the user asks to: find journalists covering a specific beat or topic on Twitter, build a media outreach list from Twitter, identify reporters writing about an industry, find editors or writers at specific publications on X, create a PR contact list from Twitter, discover freelance journalists in a niche, or compile a list of media contacts for a press release or story pitch. Returns name, handle, publication affiliation from bio, follower count, and recent article topics. Ideal for PR agencies, startup communications teams, and founders doing press outreach.1 instalaciones en skills.sh0