apidojo-io/apidojo-skills

extracting-google-paa-questions-for-seo

Extracts Google People Also Ask questions for SEO content planning using apidojo's Google Search scraper on Apify.

Ver código-fonte
Documento original do Skill

Renderizado do repositório de origem, preservando títulos, exemplos, código, tabelas, links e imagens.

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_TOKEN environment variable set
  • Optional: Apify MCP server installed

Inputs

ParameterTypeRequiredDefaultNotes
startUrlsarrayOptional[]Google search URLs
searchTermsarrayOptional[]Keywords to search on Google
countryCodestringOptionalUSCountry for Google search (e.g. US, GB, TR)
languageCodestringOptional—Language for results (e.g. en)
maxItemsnumberOptionalUnlimitedMaximum results to return across all queries
maxPagesPerQueryintegerOptional1Maximum result pages per query
mobileResultsbooleanOptionalfalseFetch mobile SERP layout
customMapFunctionstringOptional—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 brief

Step 1: Run google-search-scraper

Recommended — run_actor.js (handles waiting, output, and file saving automatically):

bash
# 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_TOKEN must be set in environment or .env file.

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:

bash
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.35

Featured 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_INTELLIGENCE flag — 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 found

Troubleshooting

"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.

do mesmo repositório

Mais Skills

Todos os Skills
apidojo-io
Comunidade

scraping-instagram-location-content

Scrapes Instagram posts tagged at a specific location using apidojo's Instagram Location scraper on Apify. Triggers when the user asks to: find Instagram posts from a specific location or venue, scrape user-generated content from a restaurant, hotel, or event on Instagram, find photos tagged at a conference or festival, monitor what guests or visitors post from a location, discover content creators who visited a place, build a UGC library from a location tag, or find influencers who have been to

instalações
4
GitHub Stars
1
Atualizado
13 de mai.
apidojo-io
Comunidade

scraping-instagram-comments

Extracts comments from Instagram posts using apidojo's Instagram Comments Scraper on Apify. Triggers when the user asks to: get all comments on an Instagram post, scrape Instagram comment data, export comments from an Instagram URL, fetch comment text and engagement from Instagram posts, collect commenter usernames from a post, or download audience reaction data from Instagram content. Returns comment text, like count, reply count, commenter username, verified status, and timestamp. Ideal for se

instalações
5
GitHub Stars
1
Atualizado
13 de mai.
apidojo-io
Comunidade

scraping-youtube-channel-data

Scrapes YouTube channel statistics and video catalog for any list of channels using apidojo's YouTube scraper on Apify. Triggers when the user asks to: get YouTube channel stats, fetch subscriber count and video count for YouTube channels, scrape channel metadata in bulk, export YouTube channel information by URL or handle, get all videos from a YouTube channel, or check channel growth data for a list of creators. Returns channel name, subscriber count, total views, video count, and recent video

instalações
3
GitHub Stars
1
Atualizado
13 de mai.
apidojo-io
Comunidade

extracting-tiktok-comments-for-research

Extracts and analyzes TikTok comments from any video or creator using apidojo's TikTok Comments scraper on Apify. Triggers when the user asks to: scrape TikTok comments from a video, analyze what viewers say about a TikTok post, extract comment data for sentiment analysis, find top comments on a viral TikTok video, collect TikTok user feedback from comments, build a dataset of TikTok community reactions, study audience sentiment on TikTok content, or research what a target audience cares about f

instalações
2
GitHub Stars
1
Atualizado
13 de mai.