# Quora Scraper - Answers, Questions, Profiles & Topic Search (`socialscrapers/quora-scraper`) Actor

Quora scraper for answers, questions and profiles. Search by keyword or topic, or paste question, profile and topic URLs. Get full answer text, upvotes, views, shares, authors and dates, in any Quora language. No login or cookies. API, JSON, CSV and Excel export. $0.50 per 1,000 results.

- **URL**: https://apify.com/socialscrapers/quora-scraper.md
- **Developed by:** [Social Scrapers](https://apify.com/socialscrapers) (community)
- **Categories:** Social media, Marketing, Lead generation
- **Features:** Limited permissions
- **Stats:** 1 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.40 / 1,000 answers

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 Scraper** extracts public **Quora answers, questions and profiles** without a Quora account. **Search Quora by keyword** (each keyword is matched to the Quora topic of that name) or paste question, profile and topic URLs, and get the full text of every answer with its upvotes, views, shares, comments, date, author and credential, plus question and profile details. It costs **$0.50 per 1,000 results**, works in every Quora language edition, and needs no login or cookies.

### What does Quora Scraper do?

Quora Scraper turns Quora pages into clean, structured data you can download or send anywhere:

- 🔎 **Search by keyword or topic**: give keywords such as `machine learning` or `personal finance`, or a topic URL, and get the answers in that Quora topic (its feed, then the questions it surfaces and their related questions), each with the question it answers.
- ❓ **Questions**: the question (title, answer count, followers, comments, topics) and **all the answers Quora shows**, with no cap on how many.
- 👤 **Profiles**: the profile (name, credential, bio, followers, answer and question counts, total views, employment, education, places lived, topics) and its answers. You get the newest, then the most viewed, then answers topic by topic, so active writers give you **hundreds or thousands of answers**, not just the latest 40.
- 🧭 **Related questions**: from any question, widen the search to its related questions and theirs, as many as you ask for.
- 🌍 **Every language edition**: Spanish, French, German, Japanese, Hindi and the other Quora editions work the same way as English.
- 💸 **Pay only for results**: $0.50 per 1,000 answers, questions or profiles. Set a maximum cost per run and the scraper stops exactly there.

Because it runs on the Apify platform, you also get the Apify API, scheduling, monitoring, integrations, and exports to JSON, CSV, Excel, XML and HTML.

### What data can you extract from Quora?

| Item | Data |
|---|---|
| Answer | Full answer text, date, upvotes, views, shares, comments, answer URL, AI-written flag, question title, ID and URL, author name, profile URL and credential |
| Question | Title, URL, ID, number of answers, followers, comments, topics |
| Profile | Name, profile URL, credential, bio, join date, followers, following, answers, questions, posts, all-time and last-month views, employment, education, places lived, topics known for, verified flag, profile picture |

Every item also says which of your search terms or URLs it came from (`sourceUrl`) and when it was read (`scrapedAt`).

### How to scrape Quora

1. Open Quora Scraper on Apify and click **Try for free**.
2. Type your keywords into **Search terms**, for example `machine learning`, and/or paste Quora question, profile or topic URLs into **Quora URLs**.
3. Set **Max answers per URL or search term** (for example 200). Optionally set **Related questions per question** to widen the search.
4. Click **Start**. Results appear in the **Output** tab as the run goes.
5. Download the data as JSON, CSV or Excel, or read it through the API.

#### How do I search Quora by keyword?

Put the keyword in **Search terms**. Quora Scraper looks up the Quora topic of that name (`machine learning` → quora.com/topic/Machine-Learning) and collects that topic's answers: first the topic's feed, then the answers to the questions the feed surfaces, then to their related questions, each answer with its question. If a source stops before your limit, the run log says why. A keyword with no topic of that name is listed in the run log: open the closest topic on Quora and paste its URL instead. For another language, pick it in **Search language** (for example Español searches es.quora.com).

#### How do I get all the answers from a Quora profile?

Paste the profile URL and set **Max answers per URL or search term** as high as you like. The scraper reads the newest answers, then the most viewed, then the person's answers in each topic they write about, so a writer with thousands of answers gives you hundreds or thousands.

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

Quora Scraper uses pay-per-result pricing. You pay for answers, questions and profiles saved to your dataset, and nothing for pages that fail or keywords with no topic. Platform usage and proxies are included.

| Result | Price per 1,000 | Silver plan | Gold plan |
|---|---|---|---|
| Answer | $0.50 | $0.45 | $0.40 |
| Question | $0.50 | $0.45 | $0.40 |
| Profile | $0.50 | $0.45 | $0.40 |

Examples:

- **Keyword research**: 10 keywords × 500 answers = 5,000 answers = **$2.50**.
- **Expert research**: 100 profiles with 200 answers each = 100 profiles + 20,000 answers = **about $10.05**.

Apify's free plan comes with monthly platform credit, enough for about 10,000 Quora results with this scraper. To cap spending, set a **maximum cost per run** when you start it: the scraper stops cleanly before the first result that would go over it. **Max items in total** caps a run by result count in the same way.

### Input example

```json
{
  "searchTerms": ["machine learning", "personal finance"],
  "startUrls": [
    { "url": "https://www.quora.com/How-do-I-learn-to-cook-1" },
    { "url": "https://www.quora.com/profile/Robert-Frost-1" },
    { "url": "https://es.quora.com/Cu%C3%A1l-es-el-sentido-de-la-vida" }
  ],
  "maxAnswersPerSource": 200,
  "maxRelatedQuestions": 20,
  "maxItems": 5000
}
```

### Output example

Every item has a `dataType` of `answer`, `question` or `profile`. Every documented field is always present; a value Quora does not show is `null`. Real items, text trimmed:

#### Answer

```json
{
  "dataType": "answer",
  "answerId": "2492048",
  "url": "https://www.quora.com/What-negative-things-do-astronauts-see-looking-at-Earth-from-space/answer/Robert-Frost-1",
  "text": "Terrorist Attacks (e.g. The World Trade Center burning)\n\nHurricanes Striking Your Home and Family (e.g. Hurricane Ike)…",
  "createdAt": "2013-05-08T23:06:37.925Z",
  "upvoteCount": 33657,
  "viewCount": 503694,
  "shareCount": 71,
  "commentCount": 188,
  "isMachineAnswer": false,
  "fromEquivalentQuestion": false,
  "questionId": "1116894",
  "questionTitle": "What negative things do astronauts see looking at Earth from space?",
  "questionUrl": "https://www.quora.com/What-negative-things-do-astronauts-see-looking-at-Earth-from-space",
  "authorName": "Robert Frost",
  "authorUsername": "Robert-Frost-1",
  "authorUrl": "https://www.quora.com/profile/Robert-Frost-1",
  "authorCredential": "Instructor and Flight Controller at NASA",
  "sourceUrl": "https://www.quora.com/profile/Robert-Frost-1",
  "scrapedAt": "2026-11-08T10:55:39.044Z"
}
```

- `isMachineAnswer`: the answer was written by one of Quora's own AI bot accounts.
- `fromEquivalentQuestion`: the answer was written for another wording of the same question and is shown under the question you asked for; its own question is in `questionId`, `questionTitle` and `questionUrl`.
- Anonymous answers have `authorName` "Anonymous" and no author profile.

#### Question

```json
{
  "dataType": "question",
  "questionId": "834927",
  "url": "https://www.quora.com/How-do-I-learn-to-cook-1",
  "questionTitle": "How do I learn to cook?",
  "answerCount": 736,
  "followerCount": 672,
  "commentCount": 15,
  "topics": ["Cooking", "Food Preparation", "Learning to Cook", "Culinary Arts"],
  "sourceUrl": "https://www.quora.com/What-is-the-best-way-to-learn-to-cook",
  "scrapedAt": "2026-11-08T10:55:37.628Z"
}
```

#### Profile

```json
{
  "dataType": "profile",
  "userId": "2610890",
  "username": "Robert-Frost-1",
  "url": "https://www.quora.com/profile/Robert-Frost-1",
  "name": "Robert Frost",
  "credential": "Instructor and Flight Controller at NASA",
  "description": null,
  "joinedAt": "2011-07-26T19:40:35.594Z",
  "followerCount": 345396,
  "followingCount": 66,
  "answerCount": 9530,
  "questionCount": 28,
  "postCount": 795,
  "answerViewCount": 239531704,
  "contentViewCount": 239531704,
  "lastMonthContentViewCount": 392294,
  "profileImageUrl": "https://qph.cf2.quoracdn.net/main-thumb-2610890-200-wlzkqvuggmdsnvktkegihyfjgcyarrnp.jpeg",
  "expertiseTopics": ["Space Exploration", "Space Travel", "NASA", "Spacecraft", "International Space Station"],
  "employment": [{ "position": null, "company": "NASA", "startYear": null, "endYear": null, "isCurrent": true }],
  "education": [],
  "locations": [{ "location": "Texas (state)", "startYear": null, "endYear": null, "isCurrent": true }],
  "isVerified": false,
  "sourceUrl": "https://www.quora.com/profile/Robert-Frost-1",
  "scrapedAt": "2026-11-08T10:55:37.289Z"
}
```

At the end of each run, a `SUMMARY` record in the run's key-value store lists how many items were saved, why the run stopped, and any URLs or search terms that failed or were skipped.

### Use cases

- **Market and product research**: see what people ask about a product category and which brands they recommend, in their own words.
- **Content and SEO research**: find the questions people ask in your field and the answers that earn the most upvotes and views.
- **Opinion and sentiment analysis**: collect thousands of answers on a topic for sentiment, theme or text analysis.
- **AI and LLM datasets**: build question-and-answer corpora with authors, dates and engagement, in English and other languages.
- **Expert and influencer discovery**: find people who write about a topic, with their credentials, followers and reach.
- **Brand monitoring**: run a topic or a set of questions on a schedule and track new answers.

### Use it via API, Python, JavaScript and integrations

Run Quora Scraper from your own code with the [Apify API](https://docs.apify.com/api/v2) and download the results as JSON, CSV or Excel.

**Python** ([apify-client](https://docs.apify.com/api/client/python/)):

```python
from apify_client import ApifyClient

client = ApifyClient("<YOUR_APIFY_TOKEN>")
run = client.actor("socialscrapers/quora-scraper").call(run_input={
    "searchTerms": ["machine learning"],
    "maxAnswersPerSource": 500,
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item["dataType"], item.get("questionTitle"), item.get("upvoteCount"))
```

**JavaScript / Node.js** ([apify-client](https://docs.apify.com/api/client/js/)):

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

const client = new ApifyClient({ token: '<YOUR_APIFY_TOKEN>' });
const run = await client.actor('socialscrapers/quora-scraper').call({
    startUrls: [{ url: 'https://www.quora.com/profile/Robert-Frost-1' }],
    maxAnswersPerSource: 1000,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items.length);
```

**No-code and automation**: connect the scraper to Make, Zapier, n8n, Google Sheets, Slack, Airbyte and more with [Apify integrations](https://docs.apify.com/integrations), get a webhook when a run finishes, and run it daily or weekly with [schedules](https://docs.apify.com/actors/running/schedules). AI agents can call it through the [Apify MCP server](https://docs.apify.com/mcp).

### Limits

- **Public content only.** The scraper works without logging in and sees what a logged-out visitor sees.
- **Search terms are matched to Quora topics.** Quora shows its own full-text search only to signed-in users, so each keyword is looked up as the topic of that name. You get the topic's feed (Quora's mix of popular and recent answers) and the answers to the questions it surfaces and to their related questions, not a full-text search of every answer that mentions the word. A small topic may show logged-out visitors no feed at all; the run log then says so. For a keyword with no topic, start from a question URL and use related questions.
- **Profiles** give their newest and most viewed answers and their answers topic by topic: hundreds or thousands for active writers, though not always every single answer.
- **Very popular questions**: logged out, Quora may show only part of the answers. When a question's own answers run out before your limit, answers to other wordings of the same question fill the rest (`fromEquivalentQuestion`).
- **Spaces** (name.quora.com) are not supported yet; such URLs are skipped and listed in the log.
- **Datacenter proxy choices fall back to residential.** If you pick Apify Proxy without the RESIDENTIAL group, sessions Quora refuses on datacenter IPs are retried on RESIDENTIAL, in the same country. Custom proxy URLs are used exactly as given.
- **Share and short links work as they are.** Links from Quora's share button (`?share=1` and other parameters), `m.quora.com` links, answer links and `qr.ae/…` short links are followed to the question, profile or topic they open. Following a link is never charged.
- **A run with 0 results still succeeds when your input was fine.** When a question, profile or topic is not there (deleted, merged, renamed), a short link has expired, or a topic shows logged-out visitors nothing, the run ends as Succeeded with a status message naming each input and why, and nothing is charged. A run fails only when no input is usable at all, or when Quora refuses every one of 3 or more inputs.

### FAQ

#### Is it legal to scrape Quora?

Quora Scraper collects only public data that anyone can see without logging in. Scraping public data is generally allowed, but personal data is protected by laws such as the GDPR, and you are responsible for how you use the data. If you are unsure, ask a lawyer about your use case.

#### Do I need a Quora account or cookies?

No. Quora Scraper works without an account, login or cookies.

#### How many results can I get?

There is no limit per run. Each question gives all the answers Quora shows, each topic or search term its feed plus the answers to the questions it surfaces and their related questions (thousands for big topics), and each profile hundreds or thousands for active writers. Set **Max answers per URL or search term** and **Max items in total** to the amounts you need.

#### Why did I get fewer answers than the question's answer count?

The answer count includes answers Quora shows only to signed-in users. See Limits.

#### Can I scrape Quora in other languages?

Yes. Paste URLs from any Quora edition (es.quora.com, fr.quora.com, de.quora.com, jp.quora.com, hi.quora.com…), or pick a **Search language** for your search terms.

#### How do I collect only new answers?

Run the scraper on a schedule and keep the answers whose `createdAt` is newer than your previous run, or whose `answerId` you have not seen yet.

#### Which proxy should I use?

Keep the default, Apify residential proxy. Quora refuses most datacenter IP addresses.

#### What happens to URLs or keywords that fail?

The run carries on with the others, keeps everything already collected, and lists the failures in the log and in the `SUMMARY` record. Failed pages cost nothing.

### Other scrapers by Social Scrapers

| Scraper | What it does |
|---|---|
| [Reddit Scraper](https://apify.com/socialscrapers/reddit-scraper) | Reddit posts, comments, subreddits, users and search |
| [Facebook Groups Scraper](https://apify.com/socialscrapers/facebook-groups-scraper) | Posts from public Facebook groups |
| [Facebook Profile Scraper](https://apify.com/socialscrapers/facebook-profile-scraper) | Public details of Facebook profiles and Pages |
| [Facebook Profile Posts Scraper](https://apify.com/socialscrapers/facebook-profile-posts-scraper) | Recent posts from Facebook profiles and Pages |
| [Facebook Ads Library Scraper](https://apify.com/socialscrapers/facebook-ads-library-scraper) | Ads from Meta's public Ad Library |
| [X (Twitter) Profile Scraper](https://apify.com/socialscrapers/x-profile-scraper) | Public X profiles: bio, followers, counts |
| [Instagram Profile Scraper](https://apify.com/socialscrapers/instagram-profile-scraper) | Instagram profiles with their latest posts |
| [Instagram Post Scraper](https://apify.com/socialscrapers/instagram-post-scraper) | Instagram posts and reels with comments |
| [Threads Scraper](https://apify.com/socialscrapers/threads-scraper) | Threads profiles, posts, replies and search |
| [YouTube Scraper](https://apify.com/socialscrapers/youtube-scraper) | YouTube videos, channels, search and comments |
| [YouTube Transcript Scraper](https://apify.com/socialscrapers/youtube-transcript-scraper) | Transcripts and captions of YouTube videos |
| [LinkedIn Jobs Scraper](https://apify.com/socialscrapers/linkedin-jobs-scraper) | Job listings from LinkedIn's public job search |

# Actor input Schema

## `searchTerms` (type: `array`):

Keywords to search Quora for. Each one is matched to the Quora topic of that name, for example machine learning → quora.com/topic/Machine-Learning, and you get the answers in that topic's feed with their questions. A keyword with no topic of that name is listed in the log; paste the topic's URL into Quora URLs instead.

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

Question URLs give the question and its answers, for example https://www.quora.com/What-is-the-meaning-of-life. Profile URLs give the profile and its answers, for example https://www.quora.com/profile/Robert-Frost-1. Topic URLs give the topic's answers, for example https://www.quora.com/topic/Personal-Finance. An answer URL counts as its question. Language editions work too, for example https://es.quora.com/…. Share links (?share=1), m.quora.com links and qr.ae short links are followed to the page they open.

## `maxAnswersPerSource` (type: `integer`):

How many answers to collect from each question, profile, topic or search term, for example 50. Set 0 to collect only the question or profile details. There is no upper limit: a question gives all the answers Quora shows; a profile gives its newest and most viewed answers, then its answers topic by topic.

## `maxRelatedQuestions` (type: `integer`):

Also collect up to this many related questions (with their answers) for each question URL you give, for example 20. They come from Quora's related-questions lists, first on your question's page and then on the related questions' own pages, so a large number widens the search around a topic. Unanswered questions are skipped. 0 turns this off.

## `maxItems` (type: `integer`):

Stop after saving this many items in total (answers, questions and profiles together), for example 1000. Leave empty for no limit.

## `searchLanguage` (type: `string`):

The Quora edition to look the search terms up in. English searches www.quora.com; the others search that language's Quora, for example Español searches es.quora.com. URLs always use their own edition.

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

Quora refuses most datacenter IPs, so residential proxies are recommended and set by default.

## `maxConcurrency` (type: `integer`):

How many URLs and search terms to scrape in parallel, for example 4. Higher is faster; past about 16 Quora starts slowing requests down.

## Actor input object example

```json
{
  "searchTerms": [
    "machine learning"
  ],
  "startUrls": [
    {
      "url": "https://www.quora.com/What-is-the-meaning-of-life"
    }
  ],
  "maxAnswersPerSource": 50,
  "maxRelatedQuestions": 0,
  "searchLanguage": "en",
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  },
  "maxConcurrency": 4
}
```

# 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 = {
    "searchTerms": [
        "machine learning"
    ],
    "startUrls": [
        {
            "url": "https://www.quora.com/What-is-the-meaning-of-life"
        }
    ],
    "proxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "RESIDENTIAL"
        ]
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("socialscrapers/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 = {
    "searchTerms": ["machine learning"],
    "startUrls": [{ "url": "https://www.quora.com/What-is-the-meaning-of-life" }],
    "proxyConfiguration": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["RESIDENTIAL"],
    },
}

# Run the Actor and wait for it to finish
run = client.actor("socialscrapers/quora-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 '{
  "searchTerms": [
    "machine learning"
  ],
  "startUrls": [
    {
      "url": "https://www.quora.com/What-is-the-meaning-of-life"
    }
  ],
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}' |
apify call socialscrapers/quora-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,socialscrapers/quora-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/mkqGWWSd6dj7jqt0a/builds/1e7vcnpH9e7fZ17qX/openapi.json
