Social media
Quora Questions & Answers Scraper
Turn Quora question URLs, topic pages, or search keywords into a structured dataset of question text, topic tags, and answer bodies with author, upvotes, and post dates — public pages only, no login required.
Free Apify credit covers a first run. No credit card to try.
What this Actor scrapes
Quora hosts millions of publicly viewable question-and-answer threads across every topic imaginable, but there's no official export or API for pulling that content into your own dataset. This Actor takes Quora question URLs, topic URLs, or search keywords and returns structured rows: question text, topic tags, and answer bodies with author, upvote count, and post date. Content gated behind Quora's 'Continue Reading' or login wall is flagged, never bypassed — this is public-page-only, read-only scraping. Core Features: multi-seed input (question URLs, topic URLs, or keywords), per-question fault isolation, and typed dataset rows.
What we handle for you
- 🛡️ Browser fingerprint rotation —
curl-cffiimpersonates real Chrome / Firefox / Safari TLS handshakes so Quora sees a browser, not Python. - 🌐 Proxy session rotation via Apify Proxy, with the exit country pinned to your
proxyCountryCodeon every session. - 🔁 Retries with exponential backoff on
408 / 429 / 503— up to 5 attempts per page,Retry-Afterhonoured. - 🧱 Managed-challenge detection — a Cloudflare challenge page rotates the browser fingerprint and proxy session instead of being parsed as content.
- 🧊 Clean, typed dataset rows — Pydantic-validated, ISO-8601 timestamps, stable question/answer IDs, JSON / CSV / Excel export straight from the Apify Console.
- 💰 Pay-Per-Event pricing — you only pay for rows that hit your dataset. No data, no charge.
Use cases
- SEO / content-gap research — pull real Quora questions and top answers in your niche to find topics your own content doesn't cover yet.
- AI-answer-quality corpus building — collect real question/answer pairs with upvote signal as training or eval data for LLM answer-quality work.
- Community sentiment tracking — monitor how a topic's top answers change over time as new responses get upvoted.
- Competitive research — see which questions in your industry get the most engagement and who's answering them.
Input
Paste this into the Apify Console, or send it as the run input over the API. Proxy settings are on by default; you rarely need to touch them.
| Field | Type | Required | What it does |
|---|---|---|---|
questionUrls | array | no | Direct Quora question page URLs, e.g. https://www.quora.com/What-is-the-best-way-to-learn-Python. One of Question URLs / Topic URLs / Search keywords is required. |
topicUrls | array | no | Quora topic page URLs, e.g. https://www.quora.com/topic/Python-programming-language. Linked question URLs are discovered and processed. |
searchKeywords | array | no | Keywords seeded into Quora's public search. Best-effort — degrades to zero rows if Quora's search results are client-rendered; Question URLs / Topic URLs are the reliable seed types. |
maxQuestions | integer | no | Cap on distinct questions processed per run, across all seeds combined. |
maxAnswersPerQuestion | integer | no | Cap on answer rows per question in 'Full answers' content mode. Ignored in 'Question metadata' mode. |
contentMode | string | no | 'Full answers' emits one row per answer. 'Question metadata' emits one row per question with no answer-body fetch. |
proxyCountryCode | string | no | ISO-3166-1 alpha-2 country code pinned on every proxy session, e.g. US. Geo-random exits return plausible WRONG data at 200, so this is pinned, not optional. |
runTimeoutSeconds | integer | no | Wall-clock budget. Discovery and processing stop past this and in-flight rows are flushed. |
{
"questionUrls": [
"https://www.quora.com/What-is-the-best-way-to-learn-Python"
],
"maxAnswersPerQuestion": 3,
"contentMode": "full_answers",
"proxyCountryCode": "US",
"runTimeoutSeconds": 300,
"proxyConfiguration": {
"useApifyProxy": true
}
} Output
One row per result, schema-validated before it is written. Export JSON, CSV, Excel or XML from the run, or read it over the API.
question_idquestion_textquestion_urlquestion_topicsquestion_answer_countanswer_idanswer_textanswer_is_truncatedanswer_author_nameanswer_author_handleanswer_upvotesanswer_posted_atanswer_urlcontent_modesource_seedscraped_at
{
"question_id": "What-is-the-best-way-to-learn-Python",
"question_text": "What is the best way to learn Python?",
"question_url": "https://www.quora.com/What-is-the-best-way-to-learn-Python",
"question_topics": [
"Python (programming language)",
"Programming Languages"
],
"question_answer_count": 214,
"answer_id": "answer-123456789",
"answer_text": "Start with a small project instead of a course...",
"answer_is_truncated": false,
"answer_author_name": "Jane Doe",
"answer_author_handle": "jane-doe-42",
"answer_upvotes": 318,
"answer_posted_at": "Updated 3d ago",
"answer_url": "https://www.quora.com/What-is-the-best-way-to-learn-Python#answer-123456789",
"content_mode": "full_answers",
"source_seed": "https://www.quora.com/What-is-the-best-way-to-learn-Python",
"scraped_at": "2026-08-11T12:00:00Z"
} Pricing
| Event | Price | When |
|---|---|---|
| Actor start | $0.20 | Once per run, covers warm-up and proxy session setup. |
| Result scraped | $0.0020 | Per result written to the dataset. |
You pay only for results that land. Cap any run with maxTotalChargeUsd. See pricing & billing for worked examples.
FAQ
Does this scrape content behind Quora's login wall?
answer_is_truncated: true; the gated remainder is never fetched.Do I need a Quora account or API key?
Are search keywords as reliable as question or topic URLs?
What happens if a question was deleted or the page fails to load?
Ready to run it?
Open the listing on Apify, paste the input above, and watch rows land. If it ever breaks, it is our problem before it is yours.
Related Actors