Quora Answers Scraper
Pricing
from $1.00 / 1,000 answer scrapeds
Quora Answers Scraper
Scrape Quora answers from question URLs, profiles, topics and Spaces: full text, views, upvotes, shares, comment counts, dates, AI-written flag and author credentials. Follow related questions to find more. No login needed. Export to CSV, Excel or JSON.
Pricing
from $1.00 / 1,000 answer scrapeds
Rating
0.0
(0)
Developer
CHEN-SHU-CHEN
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
What is Quora Answers Scraper?
You want to know what people actually say about a topic, a product or a competitor, and Quora has years of long-form answers on it. Reading them in a browser means opening each question, scrolling past the ads, expanding answers one by one and copying numbers into a sheet.
Paste Quora question, answer, profile, topic or Space URLs, mixed together, and get one row per answer with its full text (plain, Markdown and HTML), views, upvotes, shares and comment count, when it was written and last edited, whether Quora marks it as AI-written, and who wrote it: name, credential, verified badge, and how many answers and views they have across Quora. Questions, Space posts and profiles get rows of their own. No login is needed.
Built for reading pages you can point at. Quora shows no search results to logged-out visitors, so this Actor does not take keywords. To discover questions, give it a few questions on your subject and turn on Follow related questions: it reads the related questions Quora lists on each one, as many hops out as you set.
Because it runs on Apify, you can schedule a weekly re-read, call it through the API, connect it to Make, Zapier or Google Sheets, and export the table as CSV, Excel or JSON.
How to scrape Quora answers
- Open the Input tab and paste URLs into Quora URLs, one per line. All of these work:
- a question:
https://www.quora.com/What-is-X - one answer:
https://www.quora.com/What-is-X/answer/Jane-Doe - a profile:
https://www.quora.com/profile/Jane-Doe - a topic:
https://www.quora.com/topic/Economics - a Space:
https://humanity.quora.com/ - other languages:
https://es.quora.com/...,https://de.quora.com/...
- a question:
- Set Answers per question (20 by default) and, for profiles, Answers per profile.
- Optional: pick an Answer order (recommended, most recent, most upvoted), or turn on Follow related questions.
- Click Start. A question with 20 answers takes a few seconds.
- Open the Output tab. The Answers only view shows the answer columns; question, post and profile rows appear in it with those columns empty, so filter on
typeto keep answers only. Inputs that could not be read are in the table too, with astatusand a reason.
What data does it return?
Every row has a type: answer, question, post (a Space post) or profile.
Answer rows
| Field | Notes |
|---|---|
answerId, url | |
questionId, questionTitle, questionUrl, questionAnswerCount | |
text, markdown, html | The full answer. Logged-out pages carry the whole text, not a preview |
wordCount, images, links, embeds | Images with width, height, caption and full-size URL; every outbound link and citation |
createdAt, updatedAt | ISO 8601, UTC. updatedAt is null for an answer never edited |
views, upvotes, shares, comments | Exact numbers from Quora, not rounded |
author | name, profileUrl, profileImageUrl, credential (as shown next to the answer), isVerified, isAnonymous, isAiAccount, followerCount, answerCount and contentViews (the author's totals) |
isAiGenerated | Quora's own flag for machine-written answers |
answerKind | answer, ai, equivalent (written for a question Quora treats as the same one) or promoted |
originalQuestion | For equivalent answers: the question it was written for |
isPromoted, promotedAdId | Paid answers, only when Include promoted answers is on |
isPinned, isCollapsed, collapseReason, commentsDisabled, isTranslated, accessOption | |
space, topic | The Space or topic it was read from, with follower counts |
language, source, inputUrl, scrapedAt | source is input, or related for a question found by crawling |
Question rows
questionId, url, title, answerCount, answerCountWithRelated, followerCount, comments, topics, spacesCount, askerUserId, isLocked, isGeneratedQuestion (Quora wrote the question itself), isTrendyQuestion, isPartnerQuestion, mergedFrom (the URL you gave, when Quora merged it into this question), mergedInto, linkedQuestion, relatedQuestions (id, title and URL of every related question the page lists, often 50 or more), language.
Space post rows
postId, url, title, the same body, count, date and author fields as an answer, and space with its name, URL and follower count.
Profile rows
userId, name, url, profileImageUrl, credential, bio, workCredentials, schoolCredentials, locationCredentials, languageCredentials, followerCount, followingCount, answerCount, questionCount, postCount, contentViews (all time), answerViews, contentViewsLastMonth, topWriterYears, prizeWinningAnswers, publishedIn, knowsAbout (topics with the number of answers in each), spaces (with the number of items the user posted in each), isVerified, isAiAccount, isDeactivated, joinedAt.
Unknown is null, never 0. Quora does not show a question's creation date or view count, so those fields are not in the table at all, and a count Quora left out of a response is null.
How much does it cost to scrape Quora?
You pay per row delivered, not per minute or per request.
| Event | What it is | Price | Per 1,000 |
|---|---|---|---|
answer-scraped | One answer with its text, counts and author | $0.001 | $1 |
question-scraped | One question row | $0.001 | $1 |
post-scraped | One Space post | $0.001 | $1 |
profile-scraped | One profile row | $0.001 | $1 |
A question with 20 answers costs $0.021: 20 answers and the question row. Turn off Include a row for each question to pay for the answers only. Rows with a status other than ok (not found, blocked, not processed) are free, and an answer that turns up twice in one run, say on a question and on its author's profile, is delivered and charged once.
The proxy is included. The Actor reads through Apify's US residential proxy by default, because Quora's Cloudflare answers Apify's datacenter IPs with HTTP 403 on question pages; residential IPs read them normally. That traffic, about 20 MB per 1,000 answers, is paid by the Actor, not by you, so the price per row is the same whichever proxy is used.
Is it free to try?
Apify's free plan includes $5 of usage a month, which covers about 5,000 answers.
How do I cap what a run can spend?
Set a maximum charge for the run when you start it. Each row is written and charged in one step by Apify's own SDK, which writes a row only when the remaining budget covers it, so you are never charged for a row you did not get. When the budget runs out, the inputs the Actor never reached come back as not_processed rows, free, and an input it stopped in the middle of gets a free partial row saying how far it got. If a row cannot be written or charged, the run stops the same way rather than keep working unbilled. The run also stops cleanly, with the same free rows, shortly before its timeout.
Input example
{"urls": ["https://www.quora.com/Whats-a-counterintuitive-result-of-economics-logic-that-nonetheless-rings-true","https://www.quora.com/profile/Adam-DAngelo"],"maxAnswersPerQuestion": 20,"answerSort": "upvotes","maxAnswersPerProfile": 20,"crawlRelatedQuestions": true,"maxRelatedQuestions": 10}
Output example
One answer row from a real run on 2026-10-18, with the long text fields shortened:
{"type": "answer","status": "ok","answerId": 1477743807792023,"url": "https://www.quora.com/Whats-a-counterintuitive-result-of-economics-logic-that-nonetheless-rings-true/answer/Victor-Xing","questionTitle": "What's a counterintuitive result of economics logic that nonetheless rings true?","text": "Unemployment rate may rise for the “right” reasons\nThe public generally considers the U.S.…","markdown": "**Unemployment rate may rise for the “right” reasons**\n\nThe public generally considers the…","wordCount": 617,"links": ["https://data.bls.gov/dataViewer/view/timeseries/LNS14000000", "https://www.bls.gov/cps/cps_htgm.htm"],"createdAt": "2024-08-18T07:54:40.729Z","updatedAt": "2024-08-19T08:04:44.555Z","views": 2128,"upvotes": 14,"shares": 25,"comments": 1,"author": {"name": "Victor Xing","profileUrl": "https://www.quora.com/profile/Victor-Xing","credential": "Portfolio Manager, Rates and FX","isVerified": false,"answerCount": 1105,"contentViews": 7320562},"isAiGenerated": false,"answerKind": "answer","language": "en"}
What it cannot return
- Keyword search results. Quora answers search with nothing for logged-out visitors. Use related-question crawling, topics or Spaces to discover content.
- Comment text, upvoter lists, answer requests. The counts are there; the lists behind them are not.
- A question's creation date or view count. Quora does not show them on the page.
- Private or deleted content, and anything shown only to logged-in members.
FAQ
Why does the "most upvoted" order not start with the most upvoted answer?
Quora puts its own top answer first whatever order you pick, and sorts the rest. The Actor returns answers in the order Quora gives them.
What are equivalent answers?
When Quora decides two questions mean the same thing, it shows answers written for one on the other. Those answers have answerKind: "equivalent" and originalQuestion set to the question they were written for.
Why did an input come back blocked?
Quora sits behind Cloudflare, which blocks Apify's datacenter IPs on question pages, so the default proxy is Apify's US residential proxy. A blocked request is retried on a fresh IP with fresh cookies. If you choose a datacenter proxy yourself, three blocks in a row switch the rest of the run to the US residential proxy (unless you turn that off), starting a new session there and retrying the page that was blocked. If inputs still come back blocked, run again later. After 5 failed inputs in a row the run stops and marks the rest not_processed, free; change that with Stop after this many failed inputs in a row.
What happens when Quora changes its site?
The Actor reads the same data Quora's own pages load, which is undocumented and can change. The query IDs it calls are looked up again in Quora's code when Quora retires one, so routine deploys do not break it. If a page can no longer be read, that input comes back as parse_error instead of a row of wrong numbers, and a single answer or post whose text cannot be read comes back as its own free parse_error row while the rest of the page is delivered.
What happens if Apify restarts a run?
Apify sometimes moves a running Actor to another server. The Actor saves which inputs are finished, and after a restart it reads back the rows already delivered from the dataset, so it carries on without charging any of them again. The input or related question that was in progress is read again from the start, and only its new rows are charged.
Is it legal to scrape Quora?
The Actor reads only what any logged-out visitor can see and uses no account. Whether you may use the data depends on what you do with it and where you are, and Quora's terms limit automated collection. This is not legal advice; check the rules that apply to you.
Something broke or a number looks wrong
Open an issue on the Issues tab with the URL and the run link.