# Quora Explorer ❓ (`jupri/quora-scraper`) Actor

💫 All-in-One Quora.com Scraper

- **URL**: https://apify.com/jupri/quora-scraper.md
- **Developed by:** [cat](https://apify.com/jupri) (community)
- **Categories:** Other
- **Stats:** 271 total users, 3 monthly users, 75.5% runs succeeded, 8 bookmarks
- **User rating**: 4.00 out of 5 stars

## Pricing

$30.00/month + usage

To use this Actor, you pay a monthly rental fee to the developer. The rent is subtracted from your prepaid usage every month after the free trial period. You also pay for the Apify platform usage, which gets cheaper the higher Apify subscription plan you have.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#rental-actors

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

## 💫 Welcome to Quora Scraper

<img height="32" src="https://apify.com/actor-badge?actor=jupri~quora-scraper" align="right">

![dont be sad readme is here](https://raw.githubusercontent.com/JupriGH/resources/main/cats/catframe.png)

### ❓ About Quora.com

<img align="right" width="30%" src="https://upload.wikimedia.org/wikipedia/commons/9/91/Quora_logo_2015.svg" width="320">

**Quora**[\[5\]](https://en.wikipedia.org/wiki/Quora#cite_note-5) ([/ˈkwoʊrə/](https://en.wikipedia.org/wiki/Help:IPA/English "Help:IPA/English")) is a social [question-and-answer website](https://en.wikipedia.org/wiki/Q%26A_software "Q\&A software") and online [knowledge market](https://en.wikipedia.org/wiki/Knowledge_market "Knowledge market") headquartered in [Mountain View](https://en.wikipedia.org/wiki/Mountain_View,_California "Mountain View, California"), [California](https://en.wikipedia.org/wiki/California "California"). It was founded on June 25, 2009,[\[6\]](https://en.wikipedia.org/wiki/Quora#cite_note-6) and made available to the public on June 21, 2010.[\[7\]](https://en.wikipedia.org/wiki/Quora#cite_note-Kincaid2010-7) Users can collaborate by editing questions and commenting on answers that have been submitted by other users.[\[8\]](https://en.wikipedia.org/wiki/Quora#cite_note-8) As of 2020, the website was visited by 300  million users a month.[\[9\]](https://en.wikipedia.org/wiki/Quora#cite_note-9)

<img src="https://apify-uploads-prod.s3.us-east-1.amazonaws.com/sTEmmw6b7t7WJuMwe-issue-dpaoZWIjQx32bKued-Gct2P1apnK-main-qimg-74a6835bdd60ae2a0f0c9730df97768d.jpeg">

### ❓ About This Actor

Discover insights and trends on Quora like never before with the Quora Explorer. This powerful tool automates the process of extracting data from Quora, enabling you to gather valuable information, analyze trends, and gain deep insights from the platform's vast repository of questions, answers, and discussions. Whether you're a marketer seeking to understand audience sentiment or a researcher exploring user-generated content, this actor streamlines your data extraction process, saving you time and effort while providing comprehensive Quora data at your fingertips.

> ⚠️ **Disclaimer :**
> Starting from not so long ago, to search on Quora requires your `Login session` (cookies). Otherwise this actor will not return any results. *(see "IMPORTANT NOTES")*

### ❓ IMPORTANT NOTES

#### Quora `Search`

Starting from not so long ago, searching on Quora requires your `Login session` (**m-b** and **m-lat** cookies). To obtain your session cookie values please follow this steps :

#### *Google Chrome*

1. Login to **Quora.com**
2. Open Chrome Developer Tools *(Ctrl + Shift + I)*
3. Open **Application** Tab
4. On left panel, go to: `Storage > Cookies > https://www.quora.com`
5. Find cookie named **m-b** and **m-lat**
6. Copy & Paste Here :

**☢️ Advanced Options**

![enter image description here](https://apify-uploads-prod.s3.us-east-1.amazonaws.com/wjCqfTmNiIoZjBdYY-image.png)

#### Example Cookies

```yaml
{
	"query": ["how to scrape quora"],
	"limit": 10,
    "dev_custom_cookies": [
        { "key": "m-b", 	"value": "XXXXXXXXXXXXXXXXXXXXXX" },
        { "key": "m-lat", 	"value": "XXXXXXXXXXXXXXXXXXXXXX" }
    ]
}
```

### ❓ Tutorial

#### 📁 Parameters

| Parameter | Type |  Description |
|-|-|-|
| `query` | ***string array*** | List of Query, Search Terms or URL |
| `limit` | ***integer*** | Number of results (per-query) |
| `portal` | ***string*** | Portal/Language |
| `filters` | ***object*** | Search filters |

#### 📁 Basic Usage

**Searching answers**

```yaml
{ "query": ["Where are the aliens ?"], "filters.kind": "answer", "limit": 10 }
```

**Using URL**

```yaml
{ "query": ["https://www.quora.com/search?q=Where%20are%20the%20aliens&type=answer"], "limit": 10 }
```

#### 📁 QUORA Query Language (QQL)

```html
[ <COMMAND:> | # | @ ] [ <NAME> | <ID> | <KEYWORD> | <URL> ] [ /<SECTION> ]
```

#### 📁 Possible `QUERY` Values

| Format | Example | Description |
|-|-|-|
| **<*KEYWORDS*>** | `How to travel back in time ?` | ***Search Anything***<br>*`Requires Login Cookies`* |
| **question:<*QUESTION\_ID*>**| `question:123456790` | **Question Data**
| `/info` | `question:123456790/info` | Question info |
| `/answers` | `question:123456790/answers` | Question answers |
| `/comments` | `question:123456790/comments` | Question comments |
| `/followers` | `question:123456790/followers` | Question followers |
| **answer:<*ANSWER\_ID*>** | `answer:123456790` | **Answer Data**
| `/info` | `answer:123456790/info` | Answer info |
| `/comments` | `answer:123456790/comments` | Answer comments |
| `/upvotes` | `answer:123456790/upvotes` | Answer upvoted users |
| **@<*USER\_NAME\_OR\_ID*>** | `@elonmusk` or `@1234567890` | ***User Data*** |
| `/info` | `@elonmusk/info` | User info |
| `/profile` | `@elonmusk/profile` | User profile recent posts |
| `/top_profile` | `@elonmusk/top_profile` | User profile top posts |
| `/answers` | `@elonmusk/answers` | User recent answer |
| `/top_answers` | `@elonmusk/top_answers` | User top answers |
| `/questions` | `@elonmusk/questions` | User questions |
| `/posts` | `@elonmusk/posts` | User recent posts |
| `/top_posts` | `@elonmusk/top_posts` | User top posts |
| `/followers` | `@elonmusk/followers` | User followers |
| `/following` | `@elonmusk/following` | User following users |
| `/spaces` | `@elonmusk/spaces` | User following spaces |
| `/topics` | `@elonmusk/topics` | User following topics |
| `/following_questions` | `@elonmusk/following_questions` | User following questions |
| `/expertise` | `@elonmusk/expertise` | User knows about |
|**space:<*SPACE\_NAME\_OR\_ID*>** | `space:apify` | ***Space Data*** `(aka. Tribe)`<br>example: `https://apify.quora.com` |
| `/info` | `space:apify/info` | Space info |
| `/posts` | `space:apify/posts` | Space recent posts (default) |
| `/top_posts` | `space:apify/top_posts` | Space top posts |
| `/questions` | `space:apify/questions` | Space questions |
| `/unanswered` | `space:apify/unanswered` | Space unanswered questions |
| `/followers` | `space:apify/followers` | Space followers |
| `/admins` | `space:apify/admins` | Space admins |
| `/moderators` | `space:apify/moderators` | Space moderators |
| `/contributors` | `space:apify/contributors` | Space contributors |
| **topic:<*TOPIC\_NAME\_OR\_ID*>**| `topic:Technology` | ***Topic Data*** `(aka. Hashtag)` |
| **#<*TOPIC\_NAME\_OR\_ID*>** | `#Technology` |  |
| `/posts` | `#Technology/posts` |
| `/answers` | `#Technology/answers` |
| `/questions` | `#Technology/questions` |
|**https:<*URL*>**| `https://www.quora.com` | ***Start URL*** |
| `<LANGUAGE>.quora.com` | `https://id.quora.com/...` | Language URL |
| `<SPACE>.quora.com` | `https://apify.quora.com/...` | Spaces URL |

### ❓ Input Examples

#### Example #1: Searching

Searching answers

```yaml
{
	"query": ["Where are the aliens ?"], "filters.kind": "answer", "limit": 10
}
```

### ❓ Output Samples

### ❓ Support

⚡️ Feel free to [reach out](https://console.apify.com/actors/rLrjgjikvJdFYOde4/issues) to the developer for any issues or suggestions for improvement.

<img src="https://apify-uploads-prod.s3.us-east-1.amazonaws.com/5SxZhwYwpknFk8ek9-cat.gif" width="240">

# Actor input Schema

## `query` (type: `array`):

💡 Query, Search Terms or URL

## `example` (type: `string`):

💡 QUERY Examples

## `limit` (type: `integer`):

💡 Number of results (per-query)

## `portal` (type: `string`):

💡 Portal / Language

## `content` (type: `string`):

💡 Content output format

## `filters.kind` (type: `string`):

No description

## `filters.user` (type: `string`):

Author ID or Name

## `filters.time` (type: `string`):

No description

## `dev_proxy_config` (type: `object`):

💡 <b>Supported protocol:</b><br><br><b>HTTP(S), SOCKS5</b><br><code>{http|socks5}://{user:pass}@{hostname|ip-address}:port</code><br><br><b>Example</b>: <code>socks5://example.com:9000</code>

## `dev_custom_headers` (type: `array`):

💡 Additional HTTP Headers

## `dev_custom_cookies` (type: `array`):

💡 Additional HTTP Cookies

## `dev_transform_fields` (type: `array`):

💡 <b>Transform the resulting output. Select only needed fields.</b><br><br>For nested object use <b>DOT</b>. For example: <pre>address.streetAddress</pre><br>For nested array use <b>NUMBER</b> <i>(index of array element starting from index=0)</i>. For example: <pre>images.0.url</pre>

## `dev_dataset_name` (type: `string`):

💡 <b>Save results into custom named Dataset, use mask to customize dataset name</b><br><br><code>{ACTOR} = actor name<br>{DATE} = date (YYYYMMDD)<br>{TIME} = time (HHMMSS)</code><br><br>This masks can be used to autogenerate Dataset Name.<br><br>example: <i><code>data-{DATE}</code></i><br>Depending on today date the dataset name will be: <code>data-20230603</code><i><br><br>default: <code>data-{ACTOR}-{DATE}-{TIME}</code></i>

## `dev_dataset_clear` (type: `boolean`):

Clear Dataset before insert/update.

## `dev_no_strip` (type: `boolean`):

💡 Keep/Save empty values <i><code>(NULL, FALSE, empty ARRAY, empty OBJECT, empty STRING)</code></i>

## Actor input object example

```json
{
  "query": [
    "how to travel back in time"
  ],
  "limit": 5,
  "dev_custom_cookies": [
    {
      "key": "m-b",
      "value": ""
    },
    {
      "key": "m-lat",
      "value": ""
    }
  ]
}
```

# 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 = {
    "query": [
        "how to travel back in time"
    ],
    "limit": 5,
    "dev_custom_cookies": [
        {
            "key": "m-b",
            "value": ""
        },
        {
            "key": "m-lat",
            "value": ""
        }
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("jupri/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 = {
    "query": ["how to travel back in time"],
    "limit": 5,
    "dev_custom_cookies": [
        {
            "key": "m-b",
            "value": "",
        },
        {
            "key": "m-lat",
            "value": "",
        },
    ],
}

# Run the Actor and wait for it to finish
run = client.actor("jupri/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 '{
  "query": [
    "how to travel back in time"
  ],
  "limit": 5,
  "dev_custom_cookies": [
    {
      "key": "m-b",
      "value": ""
    },
    {
      "key": "m-lat",
      "value": ""
    }
  ]
}' |
apify call jupri/quora-scraper --silent --output-dataset

```

## MCP server setup

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