# Quora Scraper (`automation-lab/quora-scraper`) Actor

Extract Quora questions, answers, and user profiles. Search by keyword or scrape specific URLs. Gets answer text, author info, topics, and vote counts.

- **URL**: https://apify.com/automation-lab/quora-scraper.md
- **Developed by:** [Stas Persiianenko](https://apify.com/automation-lab) (community)
- **Categories:** Social media
- **Stats:** 6 total users, 4 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

Pay per event

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

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

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
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.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use 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

## Quora Scraper

Extract questions, answers, topics, and user profiles from [Quora.com](https://www.quora.com) — no API key, no login required. Get question titles, full answer text, author info, upvotes, and engagement metrics in JSON, CSV, or Excel format.

Use it to monitor expert knowledge, conduct Q&A research, track topic trends, and build datasets for market research or AI training.

### What does Quora Scraper do?

Quora Scraper extracts structured data from Quora — the world's largest Q&A knowledge platform with 300+ million monthly visitors. It navigates Quora using a headless browser with residential proxy to bypass Cloudflare protection, then pulls:

- **Questions** — titles, topics, follower counts, answer counts
- **Answers** — full text, author name and bio, upvote counts, timestamps
- **User profiles** — name, credentials, follower/following counts
- **Topic listings** — questions under any topic or space

Just provide a list of Quora URLs (questions, topics, profiles) or a search keyword and the actor will do the rest.

### Who is Quora Scraper for?

**🎓 Market researchers and analysts**
- Monitor expert opinions on industry topics
- Track how knowledge around products or technologies evolves
- Aggregate insights from niche professional communities

**🤖 AI and NLP engineers**
- Build Q&A datasets for fine-tuning language models
- Create training data for answer-quality classifiers
- Collect domain-specific knowledge for RAG pipelines

**📊 Competitive intelligence teams**
- Discover common customer pain points from "Which product is better?" questions
- Monitor brand mentions and sentiment in expert answers
- Identify gaps in competitor products from Quora discussions

**✍️ Content marketers and SEO specialists**
- Discover high-traffic questions in your niche for content ideas
- Extract expert-quality answers to research topic depth
- Identify frequently asked questions for FAQ page generation

**🔍 Academic researchers**
- Collect Q&A data for studying online knowledge-sharing behavior
- Build datasets for discourse analysis and linguistic research

### Why use Quora Scraper?

- ✅ **No API key or login required** — works with public Quora content
- ✅ **Bypasses Cloudflare** — uses real browser with residential proxies
- ✅ **Structured output** — every item includes author, upvotes, timestamps
- ✅ **Multiple input modes** — URLs, search queries, topic pages
- ✅ **Apify platform included** — scheduling, cloud storage, 5,000+ integrations
- ✅ **Export formats** — JSON, CSV, Excel, Google Sheets, and more
- ✅ **Pay per result** — no subscription fee, pay only for what you extract

### What data can you extract?

#### 📋 Question data

| Field | Description | Example |
|-------|-------------|---------|
| `type` | Record type | `"question"` |
| `questionId` | Unique question ID | `"What-is-machine-learning"` |
| `title` | Question title | `"What is machine learning?"` |
| `url` | Full question URL | `https://www.quora.com/...` |
| `topics` | Associated topics | `["Machine Learning", "AI"]` |
| `followerCount` | People following the question | `4281` |
| `answerCount` | Total answers | `387` |
| `viewCount` | Total views | `1200000` |
| `scrapedAt` | Scraping timestamp (ISO 8601) | `"2026-04-01T10:00:00Z"` |

#### 💬 Answer data

| Field | Description | Example |
|-------|-------------|---------|
| `type` | Record type | `"answer"` |
| `answerId` | Unique answer ID | `"12345678"` |
| `questionTitle` | Parent question title | `"What is machine learning?"` |
| `questionUrl` | Parent question URL | `https://www.quora.com/...` |
| `text` | Full answer text | `"Machine learning is..."` |
| `authorName` | Answer author name | `"Andrew Ng"` |
| `authorUrl` | Author profile URL | `https://www.quora.com/profile/...` |
| `authorBio` | Author bio/credentials | `"AI researcher, Stanford"` |
| `upvotes` | Number of upvotes | `8423` |
| `numComments` | Number of comments | `42` |
| `isTopAnswer` | Is this the top answer? | `true` |
| `createdAt` | Answer creation date | `"2023-06-15T09:00:00Z"` |
| `scrapedAt` | Scraping timestamp | `"2026-04-01T10:00:00Z"` |

#### 👤 Profile data

| Field | Description | Example |
|-------|-------------|---------|
| `type` | Record type | `"profile"` |
| `username` | Quora username | `"John-Smith-42"` |
| `name` | Display name | `"John Smith"` |
| `url` | Profile URL | `https://www.quora.com/profile/...` |
| `bio` | Profile bio | `"Software Engineer at Google"` |
| `credentials` | Top credential | `"PhD in Computer Science"` |
| `followerCount` | Followers | `12000` |
| `followingCount` | Following | `250` |
| `answerCount` | Total answers written | `387` |
| `questionCount` | Total questions asked | `45` |
| `scrapedAt` | Scraping timestamp | `"2026-04-01T10:00:00Z"` |

### How much does it cost to scrape Quora?

This Actor uses **pay-per-event** pricing — you pay only for what you extract. No monthly subscription. All platform costs are **included**.

Quora uses Cloudflare protection, which requires a real browser with residential proxies. This makes each request more expensive than simpler scrapers, but the pricing reflects what you actually get: reliable extraction with automatic retry logic.

| | Free ($5 credit) | Starter ($29/mo) | Scale ($199/mo) | Business ($999/mo) |
|---|---|---|---|---|
| **Per question** | $0.115 | $0.10 | $0.078 | $0.060 |
| **Per answer** | $0.0575 | $0.05 | $0.039 | $0.030 |
| **10 questions + 30 answers** | ~$2.88 | ~$2.52 | ~$1.96 | ~$1.50 |

**Real-world cost examples:**

| Run type | Questions | Answers | Duration | Cost (Free tier) |
|----------|-----------|---------|----------|------------------|
| Quick research | 5 | 15 | ~8 min | ~$1.45 |
| Topic analysis | 10 | 30 | ~16 min | ~$2.88 |
| Full export | 25 | 75 | ~40 min | ~$7.20 |

**Free plan note:** New Apify accounts get $5 in free credits — enough for ~4 questions with answers, or ~40 questions without answers.

### How to scrape Quora

1. **Visit** the [Quora Scraper page](https://apify.com/automation-lab/quora-scraper) on Apify Store
2. **Click** "Try for free" to open the actor console
3. **Enter** one of the following:
   - **Start URLs** — paste Quora question, topic, or profile URLs
   - **Search query** — type a keyword to search for questions
4. **Set output limits** — adjust max questions and answers per question
5. **Click** "Start" — results will appear in the Dataset tab
6. **Export** in JSON, CSV, Excel, or connect to your app via API

**Input examples:**

```json
{
  "startUrls": [
    { "url": "https://www.quora.com/What-is-machine-learning" },
    { "url": "https://www.quora.com/topic/Machine-Learning" }
  ],
  "maxQuestions": 50,
  "scrapeAnswers": true,
  "maxAnswersPerQuestion": 10
}
````

```json
{
  "searchQuery": "artificial intelligence career",
  "maxQuestions": 30,
  "scrapeAnswers": true,
  "maxAnswersPerQuestion": 5
}
```

### Input parameters

| Parameter | Type | Default | Description |
|-----------|------|---------|-------------|
| `startUrls` | Array | `[]` | Quora URLs to scrape (questions, topics, profiles) |
| `searchQuery` | String | `""` | Keyword to search for questions |
| `maxQuestions` | Integer | `50` | Maximum questions to scrape per run |
| `scrapeAnswers` | Boolean | `true` | Whether to extract answers for each question |
| `maxAnswersPerQuestion` | Integer | `10` | Max answers per question (1-50) |
| `proxyConfiguration` | Object | Residential | Proxy settings — residential proxies required |

**Note:** Either `startUrls` or `searchQuery` must be provided. You can use both together.

### Output examples

**Question item:**

```json
{
  "type": "question",
  "questionId": "What-is-machine-learning",
  "title": "What is machine learning?",
  "url": "https://www.quora.com/What-is-machine-learning",
  "topics": ["Machine Learning", "Artificial Intelligence"],
  "followerCount": 4281,
  "answerCount": 387,
  "viewCount": 1200000,
  "scrapedAt": "2026-04-01T10:00:00.000Z"
}
```

**Answer item:**

```json
{
  "type": "answer",
  "questionId": "What-is-machine-learning",
  "questionTitle": "What is machine learning?",
  "questionUrl": "https://www.quora.com/What-is-machine-learning",
  "answerId": "98765432",
  "text": "Machine learning is a subset of artificial intelligence that enables computers to learn from data...",
  "authorName": "Richard Socher",
  "authorUrl": "https://www.quora.com/profile/Richard-Socher",
  "authorBio": "Chief Scientist at Salesforce",
  "upvotes": 3241,
  "numComments": 28,
  "isTopAnswer": true,
  "createdAt": "2018-03-12T14:22:00.000Z",
  "scrapedAt": "2026-04-01T10:00:00.000Z"
}
```

### Tips for best results

- 🎯 **Start small** — test with 5-10 questions first to verify the output matches your needs
- 📂 **Use topic URLs** — scraping a topic page yields more focused question sets than search
- ⏱️ **Set reasonable limits** — `maxAnswersPerQuestion: 5` is usually enough for research
- 🔄 **Schedule runs** — use Apify scheduling to monitor topic trends over time
- 💰 **Minimize costs** — disable `scrapeAnswers` if you only need question metadata
- 🌐 **Residential proxies included** — don't change proxy settings unless you know what you're doing

### Integrations

**🗂️ Quora Scraper → Google Sheets**
Export your results directly to a Google Sheets spreadsheet using Apify's native Google Sheets integration. Ideal for building a shared research database your team can filter and annotate.

**📬 Quora Scraper → Slack**
Set up a webhook to post new question/answer results to a Slack channel. Monitor industry discussions in real-time without manual checking.

**🔄 Quora Scraper → Make / Zapier**
Trigger workflows when new data is collected — automatically forward questions matching keywords to a CRM, Notion, or Airtable database.

**📅 Scheduled monitoring**
Schedule the actor to run daily or weekly on specific Quora topics. Build a time-series dataset to track how expert opinion on a topic evolves.

**🤖 Quora Scraper → AI pipeline**
Feed extracted Q\&A pairs directly into a vector database (Pinecone, Weaviate) via the Apify API for RAG-powered chatbots.

### Using the Apify API

You can run Quora Scraper programmatically using the Apify API.

**Node.js (apify-client):**

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

const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });

const run = await client.actor('automation-lab/quora-scraper').call({
    searchQuery: 'machine learning career',
    maxQuestions: 50,
    scrapeAnswers: true,
    maxAnswersPerQuestion: 10,
});

const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);
```

**Python:**

```python
from apify_client import ApifyClient

client = ApifyClient('YOUR_API_TOKEN')

run = client.actor('automation-lab/quora-scraper').call(run_input={
    'searchQuery': 'machine learning career',
    'maxQuestions': 50,
    'scrapeAnswers': True,
    'maxAnswersPerQuestion': 10,
})

for item in client.dataset(run['defaultDatasetId']).iterate_items():
    print(item)
```

**cURL:**

```bash
curl -X POST "https://api.apify.com/v2/acts/automation-lab~quora-scraper/runs?token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "searchQuery": "machine learning career",
    "maxQuestions": 50,
    "scrapeAnswers": true,
    "maxAnswersPerQuestion": 10
  }'
```

### Use with AI agents via MCP

Quora Scraper is available as a tool for AI assistants that support the [Model Context Protocol (MCP)](https://docs.apify.com/platform/integrations/mcp).

Add the Apify MCP server to your AI client — this gives you access to all Apify actors, including this one:

#### Setup for Claude Code

```bash
claude mcp add --transport http apify "https://mcp.apify.com?tools=automation-lab/quora-scraper"
```

#### Setup for Claude Desktop, Cursor, or VS Code

Add this to your MCP config file:

```json
{
    "mcpServers": {
        "apify": {
            "url": "https://mcp.apify.com?tools=automation-lab/quora-scraper"
        }
    }
}
```

Your AI assistant will use OAuth to authenticate with your Apify account on first use.

#### Example prompts

Once connected, try asking your AI assistant:

- "Use automation-lab/quora-scraper to scrape the top 20 questions and answers about 'prompt engineering' from Quora"
- "Search Quora for questions about Python vs JavaScript and collect the top 5 answers for each question"
- "Extract all questions from this Quora topic page: https://www.quora.com/topic/Machine-Learning — give me question titles, answer counts, and follower counts"

Learn more in the [Apify MCP documentation](https://docs.apify.com/platform/integrations/mcp).

### Is it legal to scrape Quora?

Quora Scraper only extracts **publicly available data** that anyone can view without logging in. It does not access private or login-gated content.

Web scraping public data is generally considered legal in most jurisdictions. Key legal principles:

- ✅ **HiQ Labs v. LinkedIn** — US courts ruled scraping publicly accessible data does not violate the Computer Fraud and Abuse Act
- ✅ **GDPR compliance** — only public profile information is collected; no private messages or sensitive data
- ✅ **Robots.txt** — this actor respects rate limits and avoids server overload

**Important:** You are responsible for how you use the data. Always comply with Quora's [Terms of Service](https://www.quora.com/about/tos), applicable data protection laws (GDPR, CCPA), and do not use the data for spam, harassment, or unauthorized commercial purposes.

We recommend reading [Apify's web scraping legality guide](https://apify.com/resources/web-scraping-legality) for more context.

### FAQ

**How fast does Quora Scraper run?**

Typical throughput is 3-5 questions per minute with answers enabled (Quora requires browser-based scraping). For questions-only mode, it's roughly 5-8 questions per minute. A run of 50 questions with 10 answers each takes approximately 15-20 minutes.

**How much does it cost to scrape 1,000 Quora questions?**

At the Free tier: 1,000 questions × $0.115 = $115 (plus answers at $0.0575 each). With the Starter plan ($29/mo), you get ~$0.10 per question. Quora's Cloudflare protection requires real-browser scraping with residential proxies, which is why costs are higher than simpler scrapers. New users get $5 in free credits — enough for ~40-50 questions without answers.

**How is this different from Quora's official API?**

Quora does not offer a public API. This actor is the only programmatic way to access Quora data at scale.

**Why are some fields returning null?**

Quora uses dynamic content loading — some fields like `viewCount` and answer timestamps may not be available on all questions. This is a Quora limitation, not a scraper bug. The actor will populate as many fields as Quora exposes on the page.

**The actor is returning 0 results — what's wrong?**

Most commonly: (1) The proxy configuration was changed from the default residential proxies — Quora blocks datacenter IPs. (2) The URL format is incorrect — make sure URLs start with `https://www.quora.com/`. (3) Quora may have changed their page structure — if this persists, please open an issue on the actor page.

**Can I scrape private or login-required content?**

No. This actor only extracts publicly accessible content visible to logged-out users.

### Other scrapers you might like

Looking for more data extraction tools? Check these out:

- 🔴 [Reddit Scraper](https://apify.com/automation-lab/reddit-scraper) — Posts, comments, and user data from Reddit
- 📸 [Instagram Scraper](https://apify.com/automation-lab/instagram-scraper) — Posts, profiles, and hashtags from Instagram
- 🧵 [Threads Scraper](https://apify.com/automation-lab/threads-scraper) — Posts and profiles from Meta Threads
- 🎵 [TikTok Scraper](https://apify.com/automation-lab/tiktok-scraper) — Videos, profiles, and trends from TikTok
- 🎵 [TikTok Comments Scraper](https://apify.com/automation-lab/tiktok-comments-scraper) — Comments from TikTok videos
- 🔍 [Google Search Scraper](https://apify.com/automation-lab/google-search-scraper) — SERP results from Google

# Actor input Schema

## `startUrls` (type: `array`):

Enter Quora URLs to scrape — question pages, topic pages, profile pages, or space pages. Example: <code>https://www.quora.com/What-is-machine-learning</code>

## `searchQuery` (type: `string`):

Search Quora for questions matching this keyword or phrase. Example: <em>artificial intelligence</em>

## `maxQuestions` (type: `integer`):

Maximum number of questions to scrape. Lower values = faster and cheaper runs.

## `scrapeAnswers` (type: `boolean`):

Extract answers for each question. Disable to only collect question metadata (faster).

## `maxAnswersPerQuestion` (type: `integer`):

Maximum number of answers to extract per question. Keep low to reduce cost.

## `cookies` (type: `string`):

Optional: Paste your Quora session cookies to improve reliability. Use JSON array format: \[{"name":"m-b","value":"..."}] or a cookie string. Cookies help bypass Cloudflare protection. <a href="https://apify.com/automation-lab/quora-scraper#how-to-get-quora-cookies" target="_blank">How to get cookies</a>

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

Proxy settings. Residential proxies are required for Quora (Cloudflare protection). Default uses Apify residential proxies.

## Actor input object example

```json
{
  "startUrls": [
    {
      "url": "https://www.quora.com/What-is-machine-learning"
    }
  ],
  "maxQuestions": 10,
  "scrapeAnswers": true,
  "maxAnswersPerQuestion": 5,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}
```

# Actor output Schema

## `overview` (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 = {
    "startUrls": [
        {
            "url": "https://www.quora.com/What-is-machine-learning"
        }
    ],
    "searchQuery": "",
    "maxQuestions": 10,
    "maxAnswersPerQuestion": 5,
    "cookies": "",
    "proxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "RESIDENTIAL"
        ]
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("automation-lab/quora-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 = {
    "startUrls": [{ "url": "https://www.quora.com/What-is-machine-learning" }],
    "searchQuery": "",
    "maxQuestions": 10,
    "maxAnswersPerQuestion": 5,
    "cookies": "",
    "proxyConfiguration": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["RESIDENTIAL"],
    },
}

# Run the Actor and wait for it to finish
run = client.actor("automation-lab/quora-scraper").call(run_input=run_input)

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

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

```

## CLI example

```bash
echo '{
  "startUrls": [
    {
      "url": "https://www.quora.com/What-is-machine-learning"
    }
  ],
  "searchQuery": "",
  "maxQuestions": 10,
  "maxAnswersPerQuestion": 5,
  "cookies": "",
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}' |
apify call automation-lab/quora-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=automation-lab/quora-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Quora Scraper",
        "description": "Extract Quora questions, answers, and user profiles. Search by keyword or scrape specific URLs. Gets answer text, author info, topics, and vote counts.",
        "version": "0.1",
        "x-build-id": "DtcCxif5dgRU0uM6m"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/automation-lab~quora-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-automation-lab-quora-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/automation-lab~quora-scraper/runs": {
            "post": {
                "operationId": "runs-sync-automation-lab-quora-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/automation-lab~quora-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-automation-lab-quora-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "startUrls": {
                        "title": "🔗 Start URLs",
                        "type": "array",
                        "description": "Enter Quora URLs to scrape — question pages, topic pages, profile pages, or space pages. Example: <code>https://www.quora.com/What-is-machine-learning</code>",
                        "items": {
                            "type": "object",
                            "required": [
                                "url"
                            ],
                            "properties": {
                                "url": {
                                    "type": "string",
                                    "title": "URL of a web page",
                                    "format": "uri"
                                }
                            }
                        }
                    },
                    "searchQuery": {
                        "title": "🔎 Search query",
                        "type": "string",
                        "description": "Search Quora for questions matching this keyword or phrase. Example: <em>artificial intelligence</em>"
                    },
                    "maxQuestions": {
                        "title": "📊 Max questions",
                        "minimum": 1,
                        "maximum": 500,
                        "type": "integer",
                        "description": "Maximum number of questions to scrape. Lower values = faster and cheaper runs.",
                        "default": 50
                    },
                    "scrapeAnswers": {
                        "title": "✅ Scrape answers",
                        "type": "boolean",
                        "description": "Extract answers for each question. Disable to only collect question metadata (faster).",
                        "default": true
                    },
                    "maxAnswersPerQuestion": {
                        "title": "💬 Max answers per question",
                        "minimum": 1,
                        "maximum": 50,
                        "type": "integer",
                        "description": "Maximum number of answers to extract per question. Keep low to reduce cost.",
                        "default": 10
                    },
                    "cookies": {
                        "title": "🍪 Quora session cookies",
                        "type": "string",
                        "description": "Optional: Paste your Quora session cookies to improve reliability. Use JSON array format: [{\"name\":\"m-b\",\"value\":\"...\"}] or a cookie string. Cookies help bypass Cloudflare protection. <a href=\"https://apify.com/automation-lab/quora-scraper#how-to-get-quora-cookies\" target=\"_blank\">How to get cookies</a>"
                    },
                    "proxyConfiguration": {
                        "title": "🌐 Proxy configuration",
                        "type": "object",
                        "description": "Proxy settings. Residential proxies are required for Quora (Cloudflare protection). Default uses Apify residential proxies.",
                        "default": {
                            "useApifyProxy": true,
                            "apifyProxyGroups": [
                                "RESIDENTIAL"
                            ]
                        }
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
