# Quora Question Finder: Unanswered Questions & Opportunities (`bossless/quora-question-finder`) Actor

Find Quora questions worth answering for any keyword: answer count, followers, views of the existing answers, unanswered and AI-answered questions, topics, and an opportunity score that ranks them. No login.

- **URL**: https://apify.com/bossless/quora-question-finder.md
- **Developed by:** [Alexander Daskalov](https://apify.com/bossless) (community)
- **Categories:** Marketing, SEO tools, Social media
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.60 / 1,000 questions

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/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
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.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

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

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## Quora Question Finder: Unanswered Questions & Answer Opportunities

**Find the Quora questions worth answering for your keyword, ranked by opportunity.** For every question you get:

- how many answers it has;
- how many people follow it;
- how many views the existing answers got;
- whether it is still unanswered, or answered only by Quora's own AI;
- its topics;
- an **opportunity score** from 0 to 100.

No login, no Quora account.

Use it to plan Quora marketing (answers that bring referral traffic to your site or product), to find content ideas and FAQ questions people actually ask, for community and brand research, and for AI agents that look for questions to answer.

- 🎯 **Ranked by opportunity, not just scraped.** High demand (answer views, followers) with low competition (few answers) scores highest. Questions with 300 answers sink to the bottom.
- 🆕 **Unanswered and AI-only questions are flagged**, so you can be the first human answer.
- 📈 **Real traffic signals:** views and upvotes of the answers Quora shows, plus the date of the newest answer. Stale answers on a popular question are an opening.
- 🔗 **Start from a keyword or from question URLs.** Related questions are explored automatically.

### What data do you get?

One record per question. Real output from a run with the keyword `running shoes`:

```json
{
  "url": "https://www.quora.com/Which-are-the-best-running-shoes-to-buy-under-INR-3000",
  "title": "Which are the best running shoes to buy under INR 3000/-?",
  "keyword": "running shoes",
  "answerCount": 2,
  "followerCount": 33,
  "isUnanswered": false,
  "isLocked": false,
  "answersShown": 1,
  "answerViews": 38810,
  "topAnswerViews": 38810,
  "topAnswerUpvotes": 8,
  "aiAnswerShown": false,
  "newestAnswerAt": "2016-09-22T12:32:59+00:00",
  "topics": ["Sports", "Shopping", "Footwear", "Running Shoes", "Sneaker Deals"],
  "opportunityScore": 62,
  "foundVia": "related",
  "scrapedAt": "2026-10-14T00:32:47+00:00"
}
```

That is a textbook opportunity:

- 33 people follow the question;
- its only visible answer has been read 38,810 times;
- the newest answer is from 2016.

The same run ranked "What are the best running shoes?" last (opportunity score 2), because it already has 308 answers.

| Field | Meaning |
|---|---|
| `answerCount` | Answers on Quora. |
| `followerCount` | People following the question. Quora notifies them when a new answer arrives. |
| `isUnanswered` | No answers yet. |
| `isLocked` | Quora locked the question, so it can't be answered. |
| `answersShown`, `answerViews`, `topAnswerViews`, `topAnswerUpvotes` | The answers Quora shows on the question page (the first few) and how many views and upvotes they got. Views are the best public sign of how much traffic the question gets. |
| `aiAnswerShown` | One of the shown answers was written by Quora's AI. |
| `newestAnswerAt` | Date of the newest shown answer. Old answers mean room for a fresh one. |
| `topics` | Quora topics of the question. |
| `opportunityScore` | 0–100, explained below. |
| `foundVia` | `input`, `search`, `autocomplete` or `related`: how the question was found. |

### How is the opportunity score calculated?

```
demand      = log10(1 + answerViews + 200 × followerCount) / 6     (capped at 1)
opportunity = 100 × demand / (1 + answerCount / 8)
```

Demand counts the views the shown answers received, plus followers weighted heavily, because every follower is notified of a new answer. Competition halves the score at 8 answers and keeps lowering it from there. A question nobody follows or reads scores 0, even when it's unanswered.

### How much does it cost?

You pay per question delivered, and there's no monthly fee.

| Event | Price (FREE/BRONZE) | Lower on paid plans |
|---|---|---|
| Question (with all fields above) | **$0.002** per question ($2 per 1,000) | down to $0.0016 |
| Actor start | $0.00005 per run | — |

50 questions cost **$0.10**. `maxQuestions` and Apify's maximum cost per run both cap what you pay.

### How fast is it?

On the platform, 10 questions for `running shoes` took **37 seconds**, and 20 questions took about 50 seconds in our tests. Each question needs a page download, and Quora sometimes asks for a browser check, which the actor retries automatically on a new IP.

### How does it find questions?

Quora doesn't offer search to visitors who aren't logged in, so the actor finds questions in three ways:

1. **Search-engine results** for `site:quora.com <keyword>`, phrased several ways ("what …", "how …", "best …") until a few questions turn up.
2. **Autocomplete questions.** What people type into Google ("what running shoes are banned") is turned into the matching Quora question address, and the actor keeps the ones that exist.
3. **Related questions.** Every Quora question page lists about 20 related questions. The actor follows them breadth-first, as long as they stay on your keyword.

Only questions that contain your keyword's words are delivered: both words of a two-word keyword, and most of the words of a longer one. You get the questions reachable this way, which is usually plenty, but not every question on Quora. If you know a good question already, add it under `questionUrls`; its related questions are explored too.

### How to use it

1. Enter one or more **keywords**: what your product does or the problem it solves, such as `crm for small business` or `running shoes`.
2. Optionally add **Quora question URLs** to start from.
3. Set **max questions**, for example 50.
4. Run it, then sort by `opportunityScore` or filter `isUnanswered`.

```json
{"keywords": ["project management software", "crm for small business"], "maxQuestions": 100}
```

### Ready-made Quora tasks

- [Unanswered Quora Questions Finder](https://apify.com/bossless/quora-question-finder/examples/unanswered-quora-questions)
- [Quora Questions to Answer for Traffic](https://apify.com/bossless/quora-question-finder/examples/quora-questions-for-marketing)
- [Quora Question Scraper by Keyword](https://apify.com/bossless/quora-question-finder/examples/quora-question-scraper-by-keyword)

### Use it with AI agents (MCP)

```
https://mcp.apify.com?tools=bossless/quora-question-finder
```

Ask your assistant *"find 20 Quora questions about standing desks that are worth answering"*. It runs this actor and reads back the ranked questions. Keep agent runs small (`maxQuestions: 10–20`) so they finish in about a minute.

### Use the API from code

```bash
curl -X POST "https://api.apify.com/v2/acts/bossless~quora-question-finder/run-sync-get-dataset-items?token=YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"keywords": ["standing desk"], "maxQuestions": 20}'
```

```python
from apify_client import ApifyClient
client = ApifyClient("YOUR_TOKEN")
run = client.actor("bossless/quora-question-finder").call(run_input={"keywords": ["standing desk"], "maxQuestions": 30})
for q in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(q["opportunityScore"], q["answerCount"], q["title"], q["url"])
```

### FAQ

**Do I need a Quora account or cookies?** No. It reads public question pages the way a logged-out visitor sees them.

**Does it post answers?** No. It only finds and ranks questions. Writing the answers is up to you, and please follow Quora's rules on self-promotion.

**Why don't I get every Quora question for my keyword?** Quora hides search from logged-out visitors. The actor reaches questions through search-engine results, autocomplete questions and related questions instead (see "How does it find questions?"). Add known question URLs to widen the net.

**Does it scrape the answer texts?** No. It gives the numbers that tell you whether a question is worth answering: answer count, views, upvotes, dates and followers.

**What does "AI answer" mean?** Quora now posts its own AI-generated answer on some questions. A question whose only answer is Quora's AI is still open to a real expert answer.

**What if Quora blocks a request?** Quora sometimes shows a browser check. The actor retries on a new IP, up to four times per page. A run fails only if every page was blocked and nothing was delivered.

**Is this an official Quora product?** No. This is an independent tool and is not affiliated with or endorsed by Quora.

**Is it legal?** It reads publicly visible question pages. You are responsible for how you use the data and for following Quora's terms.

### Related tools

- [Google Autocomplete Keyword Tool + Content Gap Finder](https://apify.com/bossless/autocomplete-keyword-expander): the questions people type into Google, YouTube, Amazon and more, plus which ones your site doesn't cover.
- [Zhihu Scraper (知乎)](https://apify.com/bossless/zhihu-scraper): China's Quora, with its hot list, questions and answers.

# Actor input Schema

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

Topics to find Quora questions for, such as a product category or a problem your product solves. Only questions that contain the keyword's words are delivered.

## `questionUrls` (type: `array`):

Start from these questions: each is delivered with its stats, and its related questions are explored too.

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

How many questions to deliver in total, ranked by opportunity score.

## Actor input object example

```json
{
  "keywords": [
    "running shoes"
  ],
  "maxQuestions": 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": [
        "running shoes"
    ],
    "maxQuestions": 10
};

// Run the Actor and wait for it to finish
const run = await client.actor("bossless/quora-question-finder").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": ["running shoes"],
    "maxQuestions": 10,
}

# Run the Actor and wait for it to finish
run = client.actor("bossless/quora-question-finder").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 '{
  "keywords": [
    "running shoes"
  ],
  "maxQuestions": 10
}' |
apify call bossless/quora-question-finder --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,bossless/quora-question-finder"
        }
    }
}
```

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/hVuEkuYhLYCBUobOK/builds/IvaIdNeKE7I8gIYJq/openapi.json
