# Google People Also Ask & Related Questions Scraper (`fetch_cat/google-people-also-ask-scraper`) Actor

Export Google People Also Ask questions, visible answers, citations, and related searches for SEO and content research.

- **URL**: https://apify.com/fetch\_cat/google-people-also-ask-scraper.md
- **Developed by:** [Hanna Nosova](https://apify.com/fetch_cat) (community)
- **Categories:** SEO tools, Marketing, Automation
- **Stats:** 5 total users, 4 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.60 / 1,000 question or related searches

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## Google People Also Ask Scraper

Google People Also Ask Scraper exports People Also Ask questions, visible answers, citation titles and URLs, related searches, query lineage, rank, depth, country, and language for SEO briefs, FAQ planning, and topic research.

Instead of copying questions from search pages by hand, you can submit a list of topics and receive a structured dataset that keeps every question tied to its root and parent query. Optional one-level expansion turns related searches into a wider, traceable topic graph.

### Quick start

1. Add search topics or keywords to `queries`.
2. Choose localization, question limits, related searches, and optional expansion depth.
3. Run the Actor and export the dataset as CSV, JSON, Excel, XML, or through the API.

### Example output

```json
{
  "recordType": "people_also_ask",
  "rootQuery": "best crm software",
  "parentQuery": "best crm software",
  "question": "What should I look for in CRM software?",
  "query": null,
  "answer": "Visible answer text when Google provides it.",
  "citationTitle": "Example source",
  "citationUrl": "https://example.com/crm-guide",
  "rank": 1,
  "depth": 0,
  "country": "US",
  "language": "en",
  "collectedAt": "2026-08-11T20:00:00.000Z"
}
```

### What data you get

The dataset contains `people_also_ask` and, when enabled, `related_search` rows. Fields cover the root query, parent query, question or related query, visible answer, citation title and URL, rank, expansion depth, country, language, Google search URL, and collection time. Lineage fields make it possible to reconstruct clusters without guessing which seed produced each result.

### Input settings

| Setting | JSON key | Description |
| --- | --- | --- |
| Google search queries | `queries` | Add 1–50 topics, products, questions, or keywords. |
| Country | `country` | Two-letter Google country code such as US, GB, or PT. |
| Language | `language` | Google language code such as en, de, or pt-BR. |
| Maximum questions per query | `maxQuestionsPerQuery` | Save up to this many People Also Ask questions for each searched query. |
| Include visible answers and citations | `includeAnswers` | Capture answer text and cited source URLs when Google exposes them in the returned result page. |
| Include related searches | `includeRelatedSearches` | Save related Google search queries alongside PAA questions. |
| Maximum related searches per query | `maxRelatedSearchesPerQuery` | Save up to this many related-query rows per searched query. Set to 0 to disable them. |
| Related-query expansion depth | `expansionDepth` | Use 0 for the original queries only or 1 to search the discovered related queries once and build a wider topic graph. |
| Run time limit in seconds | `runTimeSecs` | Stop admitting new searches before this shared deadline. Use 30–270 seconds. |
| Proxy configuration | `proxyConfiguration` | Uses Apify's Google SERP proxy by default. Change only if you understand the access and cost tradeoffs. |

### Output fields

| Field | JSON key | Description |
| --- | --- | --- |
| Record type | `recordType` | people\_also\_ask or related\_search. |
| Root query | `rootQuery` | Original user-supplied query that owns this topic branch. |
| Parent query | `parentQuery` | Query from which this row was discovered. |
| Query | `query` | Searched or discovered query represented by this row. |
| Question | `question` | People Also Ask question text. |
| Visible answer | `answer` | Answer text when exposed in the returned Google result page. |
| Citation title | `citationTitle` | Visible title of the cited answer source. |
| Citation URL | `citationUrl` | Public source URL cited by Google when available. |
| Rank | `rank` | Position within the returned PAA or related-search block. |
| Depth | `depth` | 0 for original queries and 1 for expanded related queries. |
| Country | `country` | Google country code used for the query. |
| Language | `language` | Google language code used for the query. |
| Search URL | `searchUrl` | Google result page URL used to collect the row. |
| Collected at | `collectedAt` | UTC collection timestamp. |

### Ready-to-run examples

Open a public example to inspect its input, run it, or reuse it as a task:

- [Export Questions Only SEO Dataset](https://apify.com/fetch_cat/google-people-also-ask-scraper/examples/questions-only-seo-dataset)
- [Build Cybersecurity Training Questions](https://apify.com/fetch_cat/google-people-also-ask-scraper/examples/cybersecurity-training-questions)
- [Gather Home Solar FAQ Research](https://apify.com/fetch_cat/google-people-also-ask-scraper/examples/home-solar-faq-research)
- [Collect Electric Vehicle Comparison Questions](https://apify.com/fetch_cat/google-people-also-ask-scraper/examples/electric-vehicle-comparison-questions)
- [Find Portugal Digital Marketing Questions](https://apify.com/fetch_cat/google-people-also-ask-scraper/examples/portugal-digital-marketing-questions)
- [Export German CRM Questions](https://apify.com/fetch_cat/google-people-also-ask-scraper/examples/german-crm-questions)
- [Collect UK Accounting Software Questions](https://apify.com/fetch_cat/google-people-also-ask-scraper/examples/uk-accounting-software-questions)
- [Research Project Management Buyer Questions](https://apify.com/fetch_cat/google-people-also-ask-scraper/examples/project-management-buyer-questions)
- [Build Email Marketing Topic Cluster](https://apify.com/fetch_cat/google-people-also-ask-scraper/examples/email-marketing-topic-cluster)
- [Export CRM Software FAQ Questions](https://apify.com/fetch_cat/google-people-also-ask-scraper/examples/crm-software-faq-questions)

FAQ and content-brief research:

```json
{"queries":["best crm software"],"country":"US","language":"en","maxQuestionsPerQuery":20,"includeAnswers":true,"includeRelatedSearches":true,"expansionDepth":0}
```

One-level topic expansion:

```json
{"queries":["email marketing automation"],"maxQuestionsPerQuery":10,"maxRelatedSearchesPerQuery":5,"expansionDepth":1}
```

### Who is it for?

- SEO teams creating question-led content briefs and FAQ sections.
- Content strategists mapping adjacent user intent and topic clusters.
- Product marketers researching objections and comparison questions.
- Agencies collecting localized question sets across markets.
- Developers and AI agents that need structured Google question research.

### Pricing

This Actor uses pay-per-event pricing: one `start` charge per run and one tiered `result` charge for each saved PAA question or related-search row. Answers and citations, when publicly visible, are included in the row price. See the live [Google People Also Ask Scraper Pricing tab](https://apify.com/fetch_cat/google-people-also-ask-scraper/pricing) for exact plan rates.

### Tips and limits

- Inputs are limited to 50 root queries, 50 questions per query, and 20 related searches per query.
- Expansion depth is intentionally capped at one to keep workload and lineage predictable.
- Google does not expose an answer or citation for every question, so those fields can be nullable.
- Results vary by country, language, time, and public search availability; repeat important research periodically.
- A narrow or uncommon query can legitimately return fewer records than the selected maximum.

### API usage

```bash
curl -X POST "https://api.apify.com/v2/acts/fetch_cat~google-people-also-ask-scraper/runs?token=$APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"queries":["best crm software"],"maxQuestionsPerQuery":10}'
```

JavaScript:

```javascript
import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('fetch_cat/google-people-also-ask-scraper').call({
  queries: ['best crm software'], maxQuestionsPerQuery: 10,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
```

Python:

```python
import os
from apify_client import ApifyClient

client = ApifyClient(os.environ['APIFY_TOKEN'])
run = client.actor('fetch_cat/google-people-also-ask-scraper').call(run_input={
    'queries': ['best crm software'], 'maxQuestionsPerQuery': 10,
})
items = client.dataset(run['defaultDatasetId']).list_items().items
```

### Use with MCP and AI agents

Connect to the official Apify MCP server at `https://mcp.apify.com?tools=fetch_cat/google-people-also-ask-scraper`, or add:

```json
{"mcpServers":{"apify":{"url":"https://mcp.apify.com?tools=fetch_cat/google-people-also-ask-scraper"}}}
```

Useful prompts include: “Collect People Also Ask questions for these product categories and group them into FAQ themes,” or “Expand this keyword once, then create a content brief using the cited questions.”

### FAQ

#### Is an SEO API key required?

No external keyword-data credential is required as an Actor input.

#### Why are some answer fields empty?

Google may show a question without answer text or a citation in the returned search experience. The question row remains useful and does not receive invented content.

#### What is the difference between root and parent query?

`rootQuery` is your original input. `parentQuery` is the specific query that produced the row, which differs during one-level expansion.

#### Can I search several countries in one run?

A run uses one country and language. Run separate localized inputs when you need clean market comparisons.

### Related actors

- [Google Search Results Scraper](https://apify.com/fetch_cat/google-search-results-scraper)
- [Google Autocomplete Scraper](https://apify.com/fetch_cat/google-autocomplete-scraper)
- [Google Trends Scraper](https://apify.com/fetch_cat/google-trends-scraper)
- [Google News Scraper](https://apify.com/fetch_cat/google-news-scraper)
- [Google Images Scraper](https://apify.com/fetch_cat/google-images-scraper)

### Support

Open an issue from the Actor page and include the run ID or run URL, input JSON, expected output, actual output, and one reproducible public Google query URL. Also include the country and language used because PAA availability is localized.

# Actor input Schema

## `queries` (type: `array`):

Add 1–50 topics, products, questions, or keywords.

## `country` (type: `string`):

Two-letter Google country code such as US, GB, or PT.

## `language` (type: `string`):

Google language code such as en, de, or pt-BR.

## `maxQuestionsPerQuery` (type: `integer`):

Save up to this many People Also Ask questions for each searched query.

## `includeAnswers` (type: `boolean`):

Capture answer text and cited source URLs when Google exposes them in the returned result page.

## `includeRelatedSearches` (type: `boolean`):

Save related Google search queries alongside PAA questions.

## `maxRelatedSearchesPerQuery` (type: `integer`):

Save up to this many related-query rows per searched query. Set to 0 to disable them.

## `expansionDepth` (type: `integer`):

Use 0 for the original queries only or 1 to search the discovered related queries once and build a wider topic graph.

## `runTimeSecs` (type: `integer`):

Stop admitting new searches before this shared deadline. Use 30–270 seconds.

## `proxyConfiguration` (type: `object`):

Uses Apify's Google SERP proxy by default. Change only if you understand the access and cost tradeoffs.

## Actor input object example

```json
{
  "queries": [
    "best crm software",
    "how to choose a crm"
  ],
  "country": "US",
  "language": "en",
  "maxQuestionsPerQuery": 20,
  "includeAnswers": true,
  "includeRelatedSearches": true,
  "maxRelatedSearchesPerQuery": 10,
  "expansionDepth": 0,
  "runTimeSecs": 240,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "GOOGLE_SERP"
    ]
  }
}
```

# Actor output Schema

## `results` (type: `string`):

No description

## `runSummary` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "queries": [
        "best crm software",
        "how to choose a crm"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("fetch_cat/google-people-also-ask-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = { "queries": [
        "best crm software",
        "how to choose a crm",
    ] }

# Run the Actor and wait for it to finish
run = client.actor("fetch_cat/google-people-also-ask-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "queries": [
    "best crm software",
    "how to choose a crm"
  ]
}' |
apify call fetch_cat/google-people-also-ask-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,fetch_cat/google-people-also-ask-scraper"
        }
    }
}

```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/5e1ylAmqkmKslVxt6/builds/pS65onYHBXwWmG2c2/openapi.json
