Quora Scraper
Pricing
Pay per usage
Quora Scraper
Pricing
Pay per usage
Rating
0.0
(0)
Developer

Ricardo Akiyoshi
Actor stats
0
Bookmarked
1
Total users
0
Monthly active users
5 hours ago
Last modified
Categories
Share
Quora Scraper — Questions, Answers & Topics
Scrape Quora Q&A content at scale. Extract questions, answers, upvotes, author profiles, credentials, topic metadata, and engagement metrics. Export to JSON, CSV, Excel, or connect via API.
Key Features
- Search scraping — Find questions matching any keyword or phrase
- Topic scraping — Browse all questions within a Quora topic
- Profile scraping — Extract a user's answers, bio, and stats
- Single question — Deep-scrape a specific question with all answers
- 4 extraction strategies with cascading fallbacks (JSON-LD, DOM parsing, inline state, meta tags)
- Full answer extraction — Text, upvotes, author name, credentials, dates
- Related questions — Discover linked questions for SEO research
- Proxy support — Automatic rotation via Apify Proxy
- Pay-per-event pricing — Only pay for results you actually get ($0.003/item)
Use Cases
| Use Case | Description |
|---|---|
| Content Marketing | Find trending questions in your niche to create content that answers real user queries |
| SEO Keyword Research | Discover long-tail keywords and question phrases people actually ask |
| Market Research | Analyze audience pain points, preferences, and opinions at scale |
| Audience Insights | Understand what experts say, which credentials build trust, and what gets upvoted |
| Competitor Analysis | Monitor Q&A around competitor brands, products, or services |
| Lead Generation | Find professionals answering questions in your industry |
| Academic Research | Collect Q&A datasets for NLP, sentiment analysis, or knowledge graphs |
| Product Development | Identify feature requests, complaints, and wishlist items from real users |
Input Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
searchTerm | string | (required) | Topic or question keyword to search on Quora |
scrapeType | string | "search" | What to scrape: search, topic, profile, or question |
topic | string | Specific Quora topic slug (e.g. Artificial-Intelligence) | |
maxResults | integer | 50 | Maximum number of items to scrape (1-500) |
includeAnswers | boolean | true | Whether to extract full answer text for each question |
sortBy | string | "relevance" | Sort order: relevance, recent, or most_upvoted |
maxAnswersPerQuestion | integer | 5 | Max answers to extract per question (1-50) |
proxyConfiguration | object | Apify Proxy settings for bypassing rate limits |
Output Data Fields
Each scraped question produces a JSON object with these fields:
| Field | Type | Description |
|---|---|---|
question | string | The full question text |
questionUrl | string | Direct URL to the question on Quora |
url | string | URL that was scraped |
topic | string | Primary topic/category of the question |
answerCount | number | Total number of answers on the question |
followersCount | number | Number of users following the question |
views | number | Number of views (when available) |
upvotes | number | Total upvotes across all extracted answers |
dateAsked | string | ISO date when the question was posted |
lastActivity | string | ISO date of the most recent activity |
topAnswer | string | Preview of the top answer (truncated to 500 chars) |
answers | array | Array of answer objects (see below) |
relatedQuestions | array | Related questions discovered on the page |
scrapedAt | string | ISO timestamp of when the data was scraped |
Answer Object Fields
Each answer in the answers array contains:
| Field | Type | Description |
|---|---|---|
authorName | string | Name of the answer author |
authorUrl | string | URL to the author's Quora profile |
authorCredentials | string | Author's credential/bio line |
answerText | string | Full text of the answer |
upvotes | number | Number of upvotes on this answer |
dateAnswered | string | ISO date when the answer was posted |
comments | number | Number of comments on the answer |
isAccepted | boolean | Whether this is the accepted answer |
Example: Search for AI Questions
{"searchTerm": "artificial intelligence future","scrapeType": "search","maxResults": 25,"includeAnswers": true,"sortBy": "most_upvoted","maxAnswersPerQuestion": 3}
Example: Scrape a Specific Topic
{"searchTerm": "Machine Learning","scrapeType": "topic","topic": "Machine-Learning","maxResults": 100,"includeAnswers": true}
Example: Scrape a User Profile
{"searchTerm": "Adam-DAngelo","scrapeType": "profile","maxResults": 50,"includeAnswers": true}
Code Examples
Python
from apify_client import ApifyClientclient = ApifyClient("YOUR_API_TOKEN")run_input = {"searchTerm": "best programming languages 2026","scrapeType": "search","maxResults": 50,"includeAnswers": True,"sortBy": "most_upvoted","maxAnswersPerQuestion": 5,}run = client.actor("sovereigntaylor/quora-scraper").call(run_input=run_input)for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(f"Q: {item['question']}")print(f" Answers: {item['answerCount']} | Upvotes: {item.get('upvotes', 0)}")if item.get("topAnswer"):print(f" Top Answer: {item['topAnswer'][:200]}...")print()
JavaScript
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });const input = {searchTerm: 'startup advice',scrapeType: 'search',maxResults: 30,includeAnswers: true,sortBy: 'relevance',maxAnswersPerQuestion: 3,};const run = await client.actor('sovereigntaylor/quora-scraper').call(input);const { items } = await client.dataset(run.defaultDatasetId).listItems();for (const item of items) {console.log(`Q: ${item.question}`);console.log(` Answers: ${item.answerCount} | Upvotes: ${item.upvotes || 0}`);if (item.answers?.length > 0) {console.log(` Top answer by: ${item.answers[0].authorName}`);console.log(` ${item.answers[0].answerText.slice(0, 200)}...`);}console.log();}
cURL (API)
curl "https://api.apify.com/v2/acts/sovereigntaylor~quora-scraper/runs" \-X POST \-H "Content-Type: application/json" \-H "Authorization: Bearer YOUR_API_TOKEN" \-d '{"searchTerm": "remote work productivity","scrapeType": "search","maxResults": 20,"includeAnswers": true}'
Sample Output
{"question": "What are the most important skills to learn for the future?","questionUrl": "https://www.quora.com/What-are-the-most-important-skills-to-learn-for-the-future","url": "https://www.quora.com/What-are-the-most-important-skills-to-learn-for-the-future","topic": "Career Advice","answerCount": 142,"followersCount": 3500,"views": 850000,"upvotes": 12400,"dateAsked": "2024-03-15T00:00:00.000Z","lastActivity": "2026-02-28T14:30:00.000Z","topAnswer": "The most important skills combine technical literacy with human connection...","answers": [{"authorName": "Jane Smith","authorUrl": "https://www.quora.com/profile/Jane-Smith-42","authorCredentials": "Former VP Engineering at Google, 20+ years in tech","answerText": "The most important skills combine technical literacy with human connection...","upvotes": 4200,"dateAnswered": "2024-03-16T10:00:00.000Z","comments": 87,"isAccepted": true}],"relatedQuestions": [{"question": "What skills will be in demand in 2030?","url": "https://www.quora.com/What-skills-will-be-in-demand-in-2030"}],"scrapedAt": "2026-03-02T12:00:00.000Z"}
FAQ
Q: Does this scraper require a Quora account? A: No. The scraper works with publicly accessible Quora pages. No login or API key is needed.
Q: How many results can I scrape? A: Up to 500 results per run. For larger datasets, run the actor multiple times with different search terms or topics.
Q: Why are some answers missing? A: Quora renders some content dynamically via JavaScript. The scraper uses 4 extraction strategies with fallbacks, but heavily JS-dependent pages may have partial data. Using Apify Proxy improves results.
Q: How does pricing work? A: The actor uses pay-per-event pricing at $0.003 per item scraped, plus standard Apify platform compute costs. You only pay for results you actually receive.
Q: Can I scrape Quora Spaces? A: Currently the scraper focuses on questions, answers, topics, and profiles. Quora Spaces support may be added in a future version.
Q: What about rate limiting? A: The scraper includes automatic retry logic with exponential backoff. For best results, enable Apify Proxy in the input configuration.
Q: Can I export data to CSV or Excel? A: Yes. After the run completes, you can export the dataset in JSON, CSV, Excel, XML, or HTML format directly from the Apify Console or via the API.
Integration — Python
from apify_client import ApifyClientclient = ApifyClient("YOUR_API_TOKEN")run = client.actor("sovereigntaylor/quora-scraper").call(run_input={"searchTerm": "quora","maxResults": 50})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(f"{item.get('title', item.get('name', 'N/A'))}")
Integration — JavaScript
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });const run = await client.actor('sovereigntaylor/quora-scraper').call({searchTerm: 'quora',maxResults: 50});const { items } = await client.dataset(run.defaultDatasetId).listItems();items.forEach(item => console.log(item.title || item.name || 'N/A'));
Related Actors
- Reddit Scraper — Scrape Reddit posts, comments, and subreddit data
- Google Search Scraper — Extract Google search results and SERP data
- Website to Markdown — Convert any webpage to clean Markdown for AI/RAG pipelines
Support
For issues, feature requests, or questions, open an issue on the actor page or contact the developer.
License
MIT