Quora Scraper — Questions, Answers, Profiles & Spaces avatar

Quora Scraper — Questions, Answers, Profiles & Spaces

Pricing

from $15.00 / 1,000 answers

Go to Apify Store
Quora Scraper — Questions, Answers, Profiles & Spaces

Quora Scraper — Questions, Answers, Profiles & Spaces

Scrape Quora questions, answers, search, profiles, Spaces and Topics without login. Full answer text and HTML, per-answer views and upvotes, AI-answer flag, author credentials and lead contacts.

Pricing

from $15.00 / 1,000 answers

Rating

0.0

(0)

Developer

Yuliia Kulakova

Yuliia Kulakova

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Share

Quora Scraper — questions, answers, profiles, spaces & topics, no login

Quora Scraper

Scrape Quora questions and answers, run keyword searches, and pull profiles, Spaces and Topics — all from public pages, with no login, no cookies and nothing to set up.

One actor, four modes. Paste a mix of links and each one is recognised automatically, so questions, answers, profiles, Spaces and Topics can share a run.

  • Question + answers — a question page → the question (title, answer and follower counts, topics) plus its top answers with full text and HTML, author, credential, upvotes, views, shares, comment counts and dates.
  • Keyword search — a phrase → matching Quora pages → each one scraped like a pasted link.
  • Profile — a user's credential and follower / answer / view stats, plus their answers and posts, with optional public contact details for lead generation.
  • Space / Topic — a Space (name.quora.com) or Topic (/topic/…) page plus its feed.

Who it's for: market and audience research, content and SEO mining, AI and NLP datasets, and expert or lead discovery — anywhere you need the real questions people ask and the answers that rank on Quora.


What this gives you that a plain text dump does not

  • You can tell a human answer from a machine one. Quora now publishes answers written by its own assistant alongside people's. Every answer row carries isAiAnswer, so a research set, a training corpus or a sentiment study can keep the two apart instead of silently mixing them.
  • Engagement per answer, not just per question. viewCount, upvotes, shareCount and commentCount sit on each answer, and on question pages position / isTopAnswer rank the answers by upvotes — so you can see which answer carried the thread, not only that the thread was popular.
  • Formatting and citations survive. Next to plain text, each answer comes as html with links intact, so the sources an author cited are still there after scraping.
  • Runs can watch for change. onlyNewItems skips what earlier runs already saved, and monitorMode with a webhookUrl posts only what is new — a scheduled "what appeared since yesterday" needs no code.
  • Rows join back to your input. Quora renames and merges questions; every question row keeps the link you asked for in requestedUrl, next to the page it actually landed on.
  • Answers from equivalent questions are kept — and labelled. Quora merges duplicate questions and shows their answers under "Originally Answered". Those rows carry originallyAnsweredQuestion and originallyAnsweredUrl, so you get the answers a reader sees without mistaking them for answers written to this exact wording.
  • Ads are left out. Paid answers Quora mixes into question pages and feeds are never saved or billed.
  • Nothing is quietly filled in. A field Quora does not show to signed-out visitors stays null instead of being guessed, and a cut preview says so in isTextTruncated. When a question lists answers but Quora ships none of them to a signed-out visitor, the run says that in plain words instead of leaving you to guess whether the answers were lost.
  • An empty result is never a green run. If none of the requested pages could be read, the run fails with the reason instead of finishing "Succeeded" with an empty dataset.
  • Your spending limit is respected. When a run reaches the maximum cost per run you set, it stops.

Key features

All of this works without an account or cookies:

  • Answer text + HTML, with an honest preview flag — each answer as plain text and as lightweight html with links preserved (internal links, external citations, formatting). Images in an answer come as full-size images[] links and inline in html, so an image-only answer is never an empty row. A question page usually gives the whole answer; Quora occasionally serves only a preview of a long answer there too, and more often on profile and Space feeds — those rows carry isTextTruncated: true so a fragment never passes for the full text.
  • Per-answer engagementviewCount, upvotes, shareCount and commentCount, plus createdAt and updatedAt.
  • Author block on every answerauthorName, authorId, authorUrl, authorCredential (the credential line shown with that answer), authorImage, authorIsVerified, and the author's lifetime authorViewCount where Quora shows it.
  • AI-answer detectionisAiAnswer marks answers written by Quora's assistant.
  • Question metadatatopics[], answerCount, followerCount and commentCount.
  • Profile statsfollowerCount, followingCount, answerCount, questionCount, postCount, lifetime viewCount, lastMonthViews, credential, bio and isVerified.
  • Space & Topic pages — name, description, follower count and image, plus the questions and posts in their feed.
  • Lead enrichment (optional)scrapeAuthorProfiles opens each answer author's profile and adds an author row with the links[] from their Quora bio, an isLead flag and a leadScore; extractAuthorContacts adds public emails[] from the person's own website linked there — addresses on that site's domain or offered as its mail link, each checked for a mail server. In Profile mode extractAuthorContacts adds all of these to the profile row.
  • Incremental + monitoringonlyNewItems skips items saved by earlier runs; monitorMode + webhookUrl POST only newly seen items to your endpoint.
  • Flexible inputsstartUrls (links), identifiers (bare slugs such as Adam-DAngelo) and searchTerms. A pasted Quora search link runs as a keyword search. Common alternative field names (urls, usernames, queries, maxResults, …) are accepted too.

Input

Give links, identifiers or search terms — or any mix of them. Everything you enter is scraped in one run.

FieldTypeDefaultDescription
modeenumquestionquestion / search / profile / space. Links are recognised automatically; the mode decides how bare identifiers are read.
startUrlsarray[]Quora links — question, answer, profile, Space (name.quora.com; old quora.com/q/name links are converted), Topic (/topic/…) or a Quora search link. In JSON: [{ "url": "…" }]. Alias urls (plain strings).
identifiersarray[]Bare slugs / usernames (e.g. Adam-DAngelo in Profile mode, quorablog in Space mode), read per mode. Full links work here too. Aliases usernames / profiles.
searchTermsarray[]Phrases to search for, one search per phrase. Aliases queries / searchQueries.
searchTypeenumquestionall / question / profile / space / topic — which kind of Quora page a search returns. question gives question pages with their answers.
maxItemsinteger100Maximum rows saved in the run (0 = no limit). Alias maxResults.
maxAnswersinteger20Answers kept per question page; on a profile, answers and posts combined (0 = all that Quora shows). Alias maxAnswersPerQuestion.
includeAnswersbooleantrueSave answer rows. Off = a question page gives only the question, a profile only the profile.
scrapeAuthorProfilesbooleanfalseOn question pages, add one author row per answer author (billed as a profile).
extractAuthorContactsbooleanfalseWith author enrichment or in Profile mode: public e-mails from the website linked in the person's Quora bio.
authorFilterstring""Keep only answers whose author name or slug contains this text (case-insensitive).
onlyNewItemsbooleanfalseSkip items that earlier runs with this option on already saved.
excludeEmptyFieldsbooleanfalseLeave empty fields out of each row.
cookiesarrayOptional, never required. See the FAQ.
monitorModebooleanfalseLike onlyNewItems, plus a POST of the new items to webhookUrl after the run.
webhookUrlstring""Where monitor mode sends its POST.
proxyConfigurationobjectpresetConnection — already set up for Quora; nothing to change.

Examples

Question + answers

{
"mode": "question",
"startUrls": [
{ "url": "https://www.quora.com/What-is-machine-learning-4" }
],
"maxAnswers": 10
}

Keyword search

{
"mode": "search",
"searchTerms": ["machine learning"],
"searchType": "question",
"maxItems": 50
}

Profile with public contact details

{
"mode": "profile",
"identifiers": ["Adam-DAngelo"],
"extractAuthorContacts": true,
"maxItems": 20
}

Answer authors as leads

{
"mode": "question",
"startUrls": [
{ "url": "https://www.quora.com/What-is-machine-learning-4" }
],
"scrapeAuthorProfiles": true,
"extractAuthorContacts": true,
"maxItems": 30
}

Topic / Space

{
"mode": "space",
"startUrls": [
{ "url": "https://www.quora.com/topic/Computer-Programming" },
{ "url": "https://quorablog.quora.com/" }
],
"maxItems": 100
}

Daily monitor of new answers (run it on a schedule)

{
"startUrls": [
{ "url": "https://www.quora.com/What-is-machine-learning-4" }
],
"monitorMode": true,
"webhookUrl": "https://example.com/your-webhook"
}

Output

One flat JSON row per item, tagged by type. All rows carry scrapedAt; rows found by a keyword search carry sourceQuery; answer rows from a profile carry fromProfile. Samples below are real output, trimmed for length.

Question (type: "question")

{
"type": "question",
"questionId": "4256391",
"url": "https://www.quora.com/What-is-machine-learning-4",
"title": "What is machine learning?",
"answerCount": 253,
"followerCount": 573,
"viewCount": null,
"commentCount": 11,
"topics": ["Machine Learning", "Computer Science", "Algorithms", "Technology", "Artificial Intelligence", "Data Science"],
"askedAt": null,
"updatedAt": null,
"scrapedAt": "2026-09-14T08:52:06.179Z",
"requestedUrl": "https://www.quora.com/What-is-machine-learning-4"
}

Fields: type, questionId, url, title, answerCount, followerCount, viewCount, commentCount, topics[], askedAt, updatedAt, scrapedAt, requestedUrl (+ sourceQuery from a keyword search). Questions listed in a Space or Topic feed may lack answer, follower and comment counts.

viewCount and askedAt are null for signed-out visitors — Quora no longer shows them (see Limitations).

Answer (type: "answer")

{
"type": "answer",
"answerId": "1477743877991986",
"url": "https://www.quora.com/What-is-machine-learning-4/answers/1477743877991986",
"text": "Machine learning (ML) is a branch of computer science that builds algorithms and statistical models enabling systems to improve performance on tasks through data, rather than through explicit, rule‑based programming. …",
"html": "<p>Machine learning (ML) is a branch of computer science that builds algorithms and statistical models enabling systems to improve performance on tasks through data, rather than through explicit, rule‑based programming. …</p>",
"images": [],
"upvotes": 0,
"viewCount": 1,
"shareCount": 0,
"commentCount": 0,
"isAuthorAnon": false,
"isAiAnswer": true,
"createdAt": "2025-09-06T10:44:13.071Z",
"updatedAt": null,
"isTextTruncated": false,
"authorName": "Assistant",
"authorUrl": "https://www.quora.com/profile/Assistant-106",
"authorId": "3086901856",
"authorCredential": null,
"authorIsVerified": false,
"authorViewCount": null,
"questionTitle": "What is machine learning?",
"questionUrl": "https://www.quora.com/What-is-machine-learning-4",
"questionId": "4256391",
"scrapedAt": "2026-09-14T09:35:07.238Z",
"originallyAnsweredQuestion": null,
"originallyAnsweredUrl": null,
"isTopAnswer": false,
"position": 5
}

Fields: type, answerId, url, text, html, images[], upvotes, viewCount, shareCount, commentCount, isAuthorAnon, isAiAnswer, createdAt, updatedAt, isTextTruncated, authorName, authorUrl, authorId, authorCredential, authorImage, authorIsVerified, authorViewCount, questionTitle, questionUrl, questionId, scrapedAt, originallyAnsweredQuestion, originallyAnsweredUrl, isTopAnswer, position (+ fromProfile in profile mode, sourceQuery from a keyword search). On question pages position and isTopAnswer rank the collected answers by upvotes — the question's own answers first; answers from profile and Space feeds carry no position, isTopAnswer or originallyAnswered… fields. originallyAnsweredQuestion / originallyAnsweredUrl name the question an answer was written for when Quora lists it under "Originally Answered", and are null otherwise.

Profile (type: "profile")

{
"type": "profile",
"authorName": "Adam D'Angelo",
"authorUrl": "https://www.quora.com/profile/Adam-DAngelo",
"authorId": "335",
"authorCredential": "Quora CEO",
"authorIsVerified": true,
"authorFollowerCount": 545936,
"credential": "Quora CEO",
"followerCount": 545936,
"followingCount": 699,
"answerCount": 998,
"questionCount": 1053,
"postCount": 212,
"viewCount": 42605686,
"lastMonthViews": 32907,
"isVerified": true,
"scrapedAt": "2026-09-12T12:39:14.673Z",
"url": "https://www.quora.com/profile/Adam-DAngelo"
}

Fields: type, authorName, authorUrl, authorId, authorCredential, authorImage, authorIsVerified, authorFollowerCount, bio, credential, followerCount, followingCount, answerCount, questionCount, postCount, viewCount, lastMonthViews, isVerified, url, scrapedAt. With extractAuthorContacts the row also carries links[], emails[{email, role, source, mxFound}], isLead and leadScore.

Author (type: "author") — with scrapeAuthorProfiles

Fields: the profile fields above plus links[], isLead and leadScore; with extractAuthorContacts also emails[{email, role, source, mxFound}]. isLead is true when the person can be reached outside Quora: a personal website in their Quora bio or a public address. A bio that only cites reference sites does not count.

Post (type: "post") — from profiles and Spaces

Fields: type, postId, url, title, text, images[], isTextTruncated, upvotes, viewCount, commentCount, shareCount, createdAt, authorName, authorUrl, authorId, authorCredential, authorImage, authorIsVerified, spaceName, spaceUrl, scrapedAt.

Space (type: "space") and Topic (type: "topic")

Space fields: type, spaceId, url, name, description, followerCount, icon, scrapedAt. Topic fields: type, topicId, url, name, description, followerCount, questionCount, image, scrapedAt.


Pricing

Pay per result. Every saved row is one billing event — a question, an answer, a profile (an enriched answer author counts as a profile), a Space or Topic, or a post — at the price shown on this actor's pricing panel. Public contact e-mails found for a person are a separate event, charged only when at least one address is found. A start fee applies per run, counted per GB of memory.

On top of the result price you pay the platform usage of your run (compute and data transfer), billed by Apify at its standard rates and shown on every run. In our test runs it came to about $4 per 1,000 rows on average — from about $1 on Space pages to about $9 on keyword searches, where many pages give only a question row.

  • Duplicate rows inside a run are neither saved nor billed.
  • Items with no content at all — for example a post that only re-shares another item — are neither saved nor billed.
  • onlyNewItems skips what earlier runs already collected, so a scheduled run does not pay twice for the same answer.
  • maxItems and Apify's maximum cost per run both cap a run; it stops when either is reached.

Use cases

  • Audience & topic research — pull the real questions people ask in a niche, their topics[], follower and answer counts and the most upvoted answers to understand demand and language.
  • SEO & content mining — harvest question titles and full answer text/HTML (with links) to find content gaps, cited sources and questions worth targeting.
  • AI and NLP datasets — question–answer pairs with engagement signals, with isAiAnswer to keep machine-written answers out of human-only data.
  • Expert & lead discovery — rank contributors by views, verification and credentials; optionally add outbound links and public e-mails for outreach.
  • Brand & topic monitoring — schedule monitorMode with a webhookUrl (or onlyNewItems) to get pinged when new answers appear on a question or a Space, or when a competitor's profile publishes something new.

Honest limitations

These come from how Quora treats signed-out visitors — read them before you run.

  • Only the top answers. Quora shows signed-out visitors the top answers of a question — usually about half a dozen — and scrolling loads related content, not more answers. A higher maxAnswers cannot add more.
  • Some questions show no answers of their own. To a signed-out visitor Quora sometimes lists only answers from equivalent questions (saved and labelled, see above) or no answers at all. In the second case the question row is still saved and the run log names the question.
  • A few fields are null for signed-out visitors. Question viewCount and askedAt, many Topic description / questionCount values, and answer, follower and comment counts on questions listed in a Space or Topic feed. Answer views, upvotes, shares and comment counts are available.
  • Some answers come as previews. Quora sometimes shows only the start of a long answer — most often on profiles and in Space feeds, occasionally on a question page. Those rows carry isTextTruncated: true; a later run of the question page usually gives the whole text.
  • Keyword search covers what web search has indexed. Quora's own search is closed to signed-out visitors, so keyword search finds matching Quora pages through public web search. Very new pages may not show up yet, and results can differ between runs. Spaces are indexed sparsely, so a Space search usually returns only a few of them.
  • Runs take time. Expect several seconds per page — a run of a few hundred rows takes minutes, not seconds.
  • Topics vs Spaces. Topic feeds show less to signed-out visitors than Spaces; the Topic's own row is reliable, feed depth varies.
  • Contact details depend on the person. Links come only from the person's Quora bio and e-mails only from their own website linked there; reference links such as encyclopedias, dictionaries or publishers are not visited. Many people link nothing — expect addresses for a minority of authors.

FAQ

Do I need to log in, add cookies or set anything up? No. Questions, answers, profiles, Spaces, Topics and search all work without an account, and the connection is already configured — add your links or phrases and start.

Why are viewCount and askedAt empty on questions? Quora no longer shows question view counts or ask dates to signed-out visitors. Answer-level viewCount is unaffected.

What does the optional cookies field do? It opens pages as your own signed-in Quora session, using cookies you export from your browser. Nothing described on this page needs it; it is provided as is, and your account is used at your own discretion.

Can I pass usernames or slugs instead of full links? Yes — put bare slugs like Adam-DAngelo in identifiers; they are read according to mode. Full links work there too.

How many answers will I get per question? The top answers Quora shows a signed-out visitor — usually about half a dozen.

What happens if I start with an empty form? In Question mode the actor scrapes one example question so you can see the output format, and says so in the log.

Can I get contact details for lead generation? Use scrapeAuthorProfiles (for answer authors) or Profile mode, together with extractAuthorContacts. Rows then carry links[] from the person's Quora bio, emails[] from the website linked there (each checked for a mail server), isLead and leadScore.

Is this allowed? The actor collects public data only and uses no login. Scraping public pages is broadly permissible but may conflict with Quora's Terms of Service, and any personal data (author names, links, e-mails) must be used in line with GDPR/CCPA. Compliance is the operator's responsibility.


Support & feedback

Something went wrong? Open an issue on the Actor's Issues tab and include the run ID and the input you used. I always do my best to find the cause, fix it and help you get the data you need.

Missing a field or an option? Issues are the right place for that too.

If this Actor was useful to you, please leave a rating or a short review on its Store page. It helps other people find it and keeps a small independent Actor visible.