Skip to main content
skill CX Codex

extracting-google-paa-questions-for-seo — Claude Code skill

Pulls Google People Also Ask questions for SEO planning, then sorts them by intent and turns the findings into a usable content outline.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add apidojo-io/apidojo-skills --skill extracting-google-paa-questions-for-seo -a claude-code
Open on GitHub

What extracting-google-paa-questions-for-seo does

The skill runs Apify’s Google Search Scraper for supplied keywords or search URLs. It collects People Also Ask questions, related keywords, and SERP positions, then groups the questions by intent and scores their content opportunity.

Its output can include a question bank, priority H2/H3 ideas, FAQ markup candidates, and recommendations for a content angle. Inputs cover country, language, page limits, mobile results, and a custom mapping function. The run needs APIFY_TOKEN in the environment or a .env file; Apify MCP is optional.

What it helps with

  • collect Google People Also Ask questions for a keyword
  • find long-tail questions for an SEO article
  • classify questions by search intent
  • select questions for FAQ schema markup
  • turn Google SERP findings into a content brief

Example prompts for the agent

  • Find Google People Also Ask questions for “email marketing tools”, group them by intent, and rank the content opportunities.
  • Research PAA questions for “remote work software”, remove duplicates, and suggest an article structure.
  • Extract questions for several search terms and prepare priority H2/H3 headings plus an FAQ section.

How to install extracting-google-paa-questions-for-seo

1Skills CLI (Vercel)

npx skills add apidojo-io/apidojo-skills --skill extracting-google-paa-questions-for-seo -a claude-code

2Manually: put the files in place

~/.claude/skills/extracting-google-paa-questions-for-seo/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/extracting-google-paa-questions-for-seo/

Step by step, with commands for each platform: How to install skills in Claude Code: five ways

Questions about extracting-google-paa-questions-for-seo

How do I install extracting-google-paa-questions-for-seo in Claude Code?

Run npx skills add apidojo-io/apidojo-skills --skill extracting-google-paa-questions-for-seo -a claude-code. The skill file will be at ~/.claude/skills/extracting-google-paa-questions-for-seo/SKILL.md.

What does extracting-google-paa-questions-for-seo do?

It retrieves People Also Ask questions and related Google search data through Apify. The skill sorts questions by intent, scores content opportunities, and creates an SEO brief.

What does the skill require to run?

Set APIFY_TOKEN in the environment or in a .env file. Apify MCP can be used, while scripts/run_actor.js provides another way to run the scraper.

Source text

SKILL.md · Apache-2.0
---
name: extracting-google-paa-questions-for-seo
description: >
  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.
license: Apache-2.0
metadata:
  author: apidojo
  version: "1.0"
  apify-actor: apidojo/google-search-scraper
---

# 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

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

© apidojo · Apache-2.0 · apidojo-io/apidojo-skills

Similar skills

All skills for SEO and GEO →

From the same set57

finding-healthcare-practices-via-google-search Searches Google for clinics, dental offices, and other healthcare providers. Use it to build a location- or specialty-based prospect list. CX Codex +1 816installs tracking-youtube-trending-topics-by-niche This skill finds current YouTube trends within a niche and reports video formats, themes, views, and engagement. Use it to shape video research and ideas. CX Codex +1 813installs finding-tiktok-creators-using-trending-sounds Pulls TikTok posts made to a given track and returns the accounts behind them. Useful when you need a creator list for a brand placement. CX Codex +1 813installs scraping-instagram-location-content Pulls public Instagram posts tagged at one place and returns post URLs, captions, handles, likes and dates. Useful when you want to see what visitors post about a venue. CX Codex +1 810installs scraping-tweets-from-account This skill pulls tweets, replies and media from a public Twitter/X account through apidojo's tweet scraper on Apify. Handy when you need a dataset for someone else's profile. CX Codex +1 802installs analyzing-youtube-competitor-channel-strategy This skill examines a competitor’s YouTube strategy, video mix, publishing rhythm, and engagement. Use it when a channel benchmark needs data behind it. CX Codex +1 800installs monitoring-instagram-brand-mentions Collects public Instagram posts that mention a brand through hashtags, tags, or product names. Useful for review, complaint, and user-generated content analysis. CX Codex +1 797installs researching-internet-slang-and-cultural-trends Searches Urban Dictionary through Apify for slang and cultural terms. Use it to inspect meme language, social media wording, or brand-related vocabulary. CX Codex +1 796installs

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor