# Quora Questions Scraper — Search Results (`darknezz/quora-questions-scraper`) Actor

Scrape Quora search results for any keyword: question text, answer count, URL and top answer preview (first 500 chars) as clean JSON. No API key, login or proxy required.

- **URL**: https://apify.com/darknezz/quora-questions-scraper.md
- **Developed by:** [Oaida Adrian](https://apify.com/darknezz) (community)
- **Categories:** SEO tools, Marketing
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

Pay per usage

This Actor is paid per platform usage. The Actor is free to use, and you only pay for the Apify platform usage, which gets cheaper the higher subscription plan you have.

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

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

## Quora Questions Scraper — Search Results

Scrape **Quora search results for any keyword** and get every question as clean, structured JSON — question text, URL, answer count and a preview of the top answer. No API key, no login, no proxy required.

Built for content marketers, SEO teams and researchers who need to know exactly what people are asking about a topic.

### Why this Actor

- **No account, no API key, no proxy budget** — reads the public Quora search pages directly with browser-grade TLS.
- **Answer-count signal** — every row includes how many answers the question has, so you can rank questions by engagement.
- **Top-answer preview** — a 500-character preview of the top answer gives instant context without another fetch.
- **Multi-keyword support** — pass several search terms and pull question sets for a whole topic in one run.
- **Pay per result** — a small fee per question scraped; a 100-question run costs a fraction of a cent.

### How it works

For each keyword the Actor requests the Quora search results page, parses the question list, and outputs **one dataset item per question** — about 10 questions per page, paging automatically up to `maxQuestionsPerKeyword`.

### Input

```json
{
  "keywords": ["best programming languages 2025"],
  "maxQuestionsPerKeyword": 10
}
```

| Field | Type | Description |
|---|---|---|
| `keywords` | array | Search terms — **required** |
| `maxQuestionsPerKeyword` | integer | Questions to scrape per keyword (default 10, max 200) |

### Output (one item per question)

```json
{
  "keyword": "best programming languages 2025",
  "questionText": "What are the best programming languages to learn in 2025?",
  "questionUrl": "https://www.quora.com/What-are-the-best-programming-languages-to-learn-in-2025",
  "answerCount": 42,
  "topAnswerPreview": "Python and JavaScript remain top choices for beginners..."
}
```

### Use cases

- 📝 **Content research** — find trending, high-engagement questions to answer in blog posts and videos.
- 🔍 **SEO** — discover question-based keywords and long-tail search opportunities people actually type.
- 📊 **Market intelligence** — understand what consumers are asking about your product category.
- 🔗 **Link building** — identify high-traffic Quora questions for expert outreach.
- 🗣️ **Community monitoring** — watch a niche for new questions as they appear.

### Run it from the API

```bash
curl -X POST "https://api.apify.com/v2/acts/darknezz~quora-questions-scraper/run-sync-get-dataset-items?token=YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"keywords":["best programming languages 2025"],"maxQuestionsPerKeyword":20}'
```

**Scheduling:** attach an Apify Schedule (e.g. weekly) to keep a fresh question feed for your content calendar.

### Pricing

Pay per event: a small fee for each question scraped, plus Apify's standard platform events (actor start + dataset item). No subscription — you pay only for what you run.

### FAQ

**Do I need a Quora account or API key?** No. The Actor reads the public search results pages directly.

**Why is `topAnswerPreview` truncated?** It holds the first 500 characters of the top answer — enough for context, small enough to keep datasets lean.

**How many questions can I get?** Up to `maxQuestionsPerKeyword` (max 200 per keyword). Quora pages carry ~10 questions each and the Actor pages through automatically.

**Are the questions de-duplicated across keywords?** Each keyword is searched independently, so the same question can appear under multiple keywords — that is intentional and useful for keyword mapping.

**Is scraping this legal?** Questions and answers are public and unauthenticated. You are responsible for complying with Quora's terms and applicable laws for how you use the data.

# Actor input Schema

## `keywords` (type: `array`):

Search keywords, one per line (e.g. 'best programming languages 2025'). Each keyword is searched on quora.com.

## `maxQuestionsPerKeyword` (type: `integer`):

Maximum number of questions to scrape per keyword (about 10 per page).

## Actor input object example

```json
{
  "keywords": [
    "best programming languages 2025",
    "how to learn python"
  ],
  "maxQuestionsPerKeyword": 10
}
```

# Actor output Schema

## `results` (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 = {
    "keywords": [
        "best programming languages 2025",
        "how to learn python"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("darknezz/quora-questions-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 = { "keywords": [
        "best programming languages 2025",
        "how to learn python",
    ] }

# Run the Actor and wait for it to finish
run = client.actor("darknezz/quora-questions-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 '{
  "keywords": [
    "best programming languages 2025",
    "how to learn python"
  ]
}' |
apify call darknezz/quora-questions-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/cLLh9Hh1RemUaHRNr/builds/aOLXrerXNHgYXcdke/openapi.json
