{
  "data": {
    "id": "4Ofo0BFs3PM3I87Iz",
    "actId": "4f1nWGGi2uy4RE0qo",
    "userId": "zq8lKbpLzTjGDayPC",
    "startedAt": "2026-10-26T08:18:53.249Z",
    "finishedAt": "2026-10-26T08:19:31.268Z",
    "status": "SUCCEEDED",
    "meta": {
      "origin": "CLI"
    },
    "stats": {
      "durationMillis": 37802,
      "runTimeSecs": 37.802,
      "computeUnits": 0.042002222222222226,
      "imageSizeBytes": 3142321152
    },
    "options": {
      "useCache": true,
      "betaPackages": false,
      "memoryMbytes": 4096,
      "diskMbytes": 8192
    },
    "createdByOrganizationMemberUserId": "GK9YjZRyQZVzOdoH5",
    "exitCode": 0,
    "inputSchema": "{\n  \"title\": \"Quora Search Scraper Input\",\n  \"description\": \"Search Quora through a public index, expand related questions, and export question, answer, profile, author, and topic rows. Direct URLs and usernames work without search.\",\n  \"type\": \"object\",\n  \"schemaVersion\": 1,\n  \"properties\": {\n    \"mode\": {\n      \"title\": \"Mode\",\n      \"type\": \"string\",\n      \"editor\": \"select\",\n      \"enum\": [\n        \"search\",\n        \"urls\",\n        \"authors\"\n      ],\n      \"enumTitles\": [\n        \"Search by keyword\",\n        \"Scrape direct URLs\",\n        \"Discover authors\"\n      ],\n      \"default\": \"search\",\n      \"prefill\": \"urls\",\n      \"description\": \"Search discovers questions through the DuckDuckGo index and Quora related questions. URLs is deterministic and does not depend on search.\"\n    },\n    \"searchQueries\": {\n      \"title\": \"Search Keywords\",\n      \"type\": \"array\",\n      \"editor\": \"stringList\",\n      \"items\": {\n        \"type\": \"string\"\n      },\n      \"default\": [],\n      \"prefill\": [],\n      \"description\": \"Two to four word phrases work best. Each query finds at most a couple of question seeds, then related questions expand the result.\"\n    },\n    \"searchTarget\": {\n      \"title\": \"Search Target\",\n      \"type\": \"string\",\n      \"editor\": \"select\",\n      \"enum\": [\n        \"questions\",\n        \"profiles\",\n        \"both\"\n      ],\n      \"enumTitles\": [\n        \"Questions\",\n        \"Profiles\",\n        \"Questions and profiles\"\n      ],\n      \"default\": \"questions\",\n      \"prefill\": \"questions\",\n      \"description\": \"Choose whether keyword discovery looks for question pages, profile pages, or both. Profile search is best-effort because search engines index few Quora profiles.\"\n    },\n    \"directUrls\": {\n      \"title\": \"Direct Quora URLs\",\n      \"type\": \"array\",\n      \"editor\": \"stringList\",\n      \"items\": {\n        \"type\": \"string\"\n      },\n      \"default\": [],\n      \"prefill\": [\n        \"https://www.quora.com/What-is-Python-primarily-used-for\"\n      ],\n      \"description\": \"Question, answer, profile, or topic URLs. Language subdomains are accepted. Comma-separated or one URL per line.\"\n    },\n    \"usernames\": {\n      \"title\": \"Profile Usernames\",\n      \"type\": \"array\",\n      \"editor\": \"stringList\",\n      \"items\": {\n        \"type\": \"string\"\n      },\n      \"default\": [],\n      \"prefill\": [],\n      \"description\": \"Quora profile usernames or slugs, with or without @ or a trailing slash. Each is normalised to a profile URL.\"\n    },\n    \"resultTypes\": {\n      \"title\": \"Result Types\",\n      \"type\": \"array\",\n      \"editor\": \"select\",\n      \"items\": {\n        \"type\": \"string\",\n        \"enum\": [\n          \"question\",\n          \"answer\",\n          \"profile\",\n          \"author\",\n          \"topic\",\n          \"search_result\"\n        ]\n      },\n      \"default\": [\n        \"question\",\n        \"answer\",\n        \"search_result\"\n      ],\n      \"prefill\": [\n        \"question\",\n        \"answer\"\n      ],\n      \"description\": \"Which rows to save. Status and run-manifest rows are always emitted so blocked or empty sources stay visible.\"\n    },\n    \"includeAnswers\": {\n      \"title\": \"Include Answers\",\n      \"type\": \"boolean\",\n      \"editor\": \"checkbox\",\n      \"default\": true,\n      \"prefill\": true,\n      \"description\": \"Expand question pages into answer rows. Turn off to keep question rows only.\"\n    },\n    \"maxAnswersPerQuestion\": {\n      \"title\": \"Maximum Answers per Question\",\n      \"type\": \"integer\",\n      \"default\": 20,\n      \"minimum\": 0,\n      \"maximum\": 500,\n      \"prefill\": 2,\n      \"description\": \"Answers to collect from each question, including the 3-5 already visible on the page. Zero means no answers.\"\n    },\n    \"expandRelatedQuestions\": {\n      \"title\": \"Expand Related Questions\",\n      \"type\": \"boolean\",\n      \"editor\": \"checkbox\",\n      \"default\": true,\n      \"prefill\": false,\n      \"description\": \"Open related questions linked from each question page. Quora exposes up to 70, which is how keyword search reaches more than its first result.\"\n    },\n    \"maxRelatedQuestionsPerSeed\": {\n      \"title\": \"Related Questions per Seed\",\n      \"type\": \"integer\",\n      \"default\": 20,\n      \"minimum\": 0,\n      \"maximum\": 70,\n      \"prefill\": 0,\n      \"description\": \"How many related questions to open from each question page. Zero lists the links without opening them.\"\n    },\n    \"maxQuestionsPerQuery\": {\n      \"title\": \"Maximum Questions per Query\",\n      \"type\": \"integer\",\n      \"default\": 50,\n      \"minimum\": 1,\n      \"maximum\": 500,\n      \"prefill\": 1,\n      \"description\": \"Hard cap on question rows for each search query, including seed and related questions.\"\n    },\n    \"includeAuthorProfiles\": {\n      \"title\": \"Enrich Authors with Profiles\",\n      \"type\": \"boolean\",\n      \"editor\": \"checkbox\",\n      \"default\": true,\n      \"prefill\": true,\n      \"description\": \"Open each discovered author's profile to add follower, answer, question, view, and join-date fields. Turn off to keep author rows from answer evidence only.\"\n    },\n    \"maxAuthors\": {\n      \"title\": \"Maximum Authors\",\n      \"type\": \"integer\",\n      \"default\": 100,\n      \"minimum\": 1,\n      \"maximum\": 5000,\n      \"prefill\": 1,\n      \"description\": \"Maximum unique author rows to emit when author is included in Result Types.\"\n    },\n    \"minAnswerUpvotes\": {\n      \"title\": \"Minimum Answer Upvotes\",\n      \"type\": \"integer\",\n      \"default\": 0,\n      \"minimum\": 0,\n      \"maximum\": 2000000000,\n      \"prefill\": 0,\n      \"description\": \"Keep only answers with an explicit upvote count at or above this value. Answers with unknown upvotes are excluded when this is positive.\"\n    },\n    \"filterAiAnswers\": {\n      \"title\": \"AI Answers\",\n      \"type\": \"string\",\n      \"editor\": \"select\",\n      \"enum\": [\n        \"include\",\n        \"exclude\",\n        \"only\"\n      ],\n      \"enumTitles\": [\n        \"Include all answers\",\n        \"Exclude AI answers\",\n        \"Only AI answers\"\n      ],\n      \"default\": \"include\",\n      \"prefill\": \"include\",\n      \"description\": \"Include all answers, drop answers Quora explicitly labels as AI, or keep only those labelled answers.\"\n    },\n    \"answerSortOrder\": {\n      \"title\": \"Answer Order\",\n      \"type\": \"string\",\n      \"editor\": \"select\",\n      \"enum\": [\n        \"observed\",\n        \"upvotes_desc\",\n        \"newest\"\n      ],\n      \"enumTitles\": [\n        \"Quora order\",\n        \"Most upvoted\",\n        \"Newest\"\n      ],\n      \"default\": \"observed\",\n      \"prefill\": \"observed\",\n      \"description\": \"Keep Quora's order, sort by explicit upvotes, or sort by the answer creation timestamp.\"\n    },\n    \"onlyUnanswered\": {\n      \"title\": \"Only Unanswered Questions\",\n      \"type\": \"boolean\",\n      \"editor\": \"checkbox\",\n      \"default\": false,\n      \"prefill\": false,\n      \"description\": \"Keep only questions whose visible answer count is exactly zero. Questions with an unknown count are excluded.\"\n    },\n    \"includeProfileSensitiveFields\": {\n      \"title\": \"Include Profile Details\",\n      \"type\": \"boolean\",\n      \"editor\": \"checkbox\",\n      \"default\": true,\n      \"prefill\": true,\n      \"description\": \"Include location, employment, education, and join date on profile and author rows when Quora shows them.\"\n    },\n    \"includeSocialLinks\": {\n      \"title\": \"Include Social Links\",\n      \"type\": \"boolean\",\n      \"editor\": \"checkbox\",\n      \"default\": true,\n      \"prefill\": true,\n      \"description\": \"Include website and social links from a profile's public bio when present.\"\n    },\n    \"includeAnswerHtml\": {\n      \"title\": \"Include Answer HTML\",\n      \"type\": \"boolean\",\n      \"editor\": \"checkbox\",\n      \"default\": true,\n      \"prefill\": false,\n      \"description\": \"Include a rendered HTML version of each answer beside its plain text. Turn off to reduce dataset size.\"\n    },\n    \"maxItems\": {\n      \"title\": \"Maximum Rows\",\n      \"type\": \"integer\",\n      \"default\": 200,\n      \"minimum\": 1,\n      \"maximum\": 50000,\n      \"prefill\": 3,\n      \"description\": \"Maximum question, answer, profile, author, topic, and search-result rows across the run. Status and manifest rows do not count.\"\n    },\n    \"includeFieldEvidence\": {\n      \"title\": \"Include Field Evidence\",\n      \"type\": \"boolean\",\n      \"editor\": \"checkbox\",\n      \"default\": true,\n      \"prefill\": true,\n      \"description\": \"Include field_sources and fields_present provenance maps on each row.\"\n    }\n  },\n  \"required\": []\n}",
    "readme": "# Quora Question, Answer & Profile Search Scraper\n\nFind Quora questions by keyword, then export full answers, author profiles, and engagement data. You can also paste question, answer, profile, or topic URLs for a deterministic export that does not depend on search.\n\n## How discovery works\n\nQuora's own keyword search is login-gated, so this actor uses a public search index in front of Quora:\n\n1. **Index discovery** finds Quora question or profile pages for your keywords.\n2. **A relevance check** drops index hits whose title does not share a meaningful word with your query.\n3. **Related-question expansion** opens the related questions Quora links from each question page. Quora exposes up to 70 per question, which is how one index result becomes a useful set.\n4. **Page hydration** reads the public question, answer, profile, or topic page and builds the rows.\n\nSearch is best-effort: some narrow or unusual queries return no usable Quora question, and the run says so with a status row. A run that produces no real rows fails with a clear message instead of reporting success. Direct URLs and usernames always work without search.\n\n## Modes\n\n- **Search by keyword** — one or more phrases; questions, answers, and optional profile/author rows.\n- **Scrape direct URLs** — question, answer, profile, or topic URLs, including language subdomains.\n- **Discover authors** — collect answer authors from URLs or search results and enrich their public profiles.\n\n## What each row contains\n\n- **Question** — title, URL, question ID, topics, follower count, answer count, related questions, discovery query, and parent question when reached through expansion.\n- **Answer** — full text (and optional HTML), answer URL and ID, upvotes, views, comments count, shares count, exact ISO creation time, AI label, related-answer provenance, and author details.\n- **Profile / author** — name, profile URL, bio, credential, verified flag, followers, following, answer and question counts, content views, join date, location, employment, education, topics, and answer evidence.\n- **Topic** — name, URL, topic ID, and follower count.\n- **Search result** — an index card that matched the query: title, snippet when meaningful, URL, rank, type, and source.\n- **Status** — a typed row when a page is blocked, removed, not found, or a query has no usable result.\n- **Run manifest** — counts, discovery sources, proxy path, and per-input accounting.\n\nEmpty fields are omitted, never filled with null or placeholder values.\n\n\n## Input reference\n\n| Field | Type | Default | What it does |\n|---|---|---|---|\n| `mode` | select | `search` | Search, direct URLs, or author discovery. |\n| `searchQueries` | array | `[]` | Keyword phrases used by search and author modes. |\n| `searchTarget` | select | `questions` | Look for questions, profiles, or both. |\n| `directUrls` | array | `[]` | Question, answer, profile, or topic URLs. |\n| `usernames` | array | `[]` | Profile usernames or slugs. |\n| `resultTypes` | array | `[\"question\",\"answer\",\"search_result\"]` | Rows to save. |\n| `includeAnswers` | boolean | `true` | Expand questions into answer rows. |\n| `maxAnswersPerQuestion` | integer | `20` | Answers per question, including visible ones. |\n| `expandRelatedQuestions` | boolean | `true` | Open related questions from each question page. |\n| `maxRelatedQuestionsPerSeed` | integer | `20` | Related questions to open per seed. |\n| `maxQuestionsPerQuery` | integer | `50` | Question-row cap per search query. |\n| `includeAuthorProfiles` | boolean | `true` | Enrich author rows with profile statistics. |\n| `maxAuthors` | integer | `100` | Maximum author rows. |\n| `minAnswerUpvotes` | integer | `0` | Minimum explicit upvote count. |\n| `filterAiAnswers` | select | `include` | Include, exclude, or keep only AI-labelled answers. |\n| `answerSortOrder` | select | `observed` | Quora order, most upvoted, or newest. |\n| `onlyUnanswered` | boolean | `false` | Keep only questions with an explicit zero answer count. |\n| `includeProfileSensitiveFields` | boolean | `true` | Include location, employment, education, and join date. |\n| `includeSocialLinks` | boolean | `true` | Include website and social links. |\n| `includeAnswerHtml` | boolean | `true` | Add rendered answer HTML beside plain text. |\n| `maxItems` | integer | `200` | Maximum real rows; status and manifest do not count. |\n| `includeFieldEvidence` | boolean | `true` | Include field provenance maps. |\n\n## Example inputs\n\nSearch questions and answers:\n\n```json\n{\n  \"mode\": \"search\",\n  \"searchQueries\": [\"best productivity apps\", \"healthy meal prep\"],\n  \"searchTarget\": \"questions\",\n  \"expandRelatedQuestions\": true,\n  \"maxRelatedQuestionsPerSeed\": 20,\n  \"maxQuestionsPerQuery\": 30,\n  \"maxAnswersPerQuestion\": 5,\n  \"maxItems\": 100\n}\n```\n\nScrape a specific question:\n\n```json\n{\n  \"mode\": \"urls\",\n  \"directUrls\": [\"https://www.quora.com/What-is-Python-primarily-used-for\"],\n  \"resultTypes\": [\"question\", \"answer\"],\n  \"maxAnswersPerQuestion\": 20\n}\n```\n\nFind profiles by keyword:\n\n```json\n{\n  \"mode\": \"search\",\n  \"searchQueries\": [\"Naval Ravikant\", \"Sam Altman\"],\n  \"searchTarget\": \"profiles\",\n  \"resultTypes\": [\"profile\", \"author\"],\n  \"maxItems\": 20\n}\n```\n\n## Use cases\n\n- Content and market research on public discussions\n- Building a question/answer corpus for analysis\n- Finding subject-matter authors and their public statistics\n- Monitoring how a topic's questions and answers change over time\n\n## FAQ\n\n**Do I need to log in or provide cookies?**\nNo. The actor never asks for cookies and only reads public pages.\n\n**Why does a keyword search sometimes return a status row instead of questions?**\nThe public index may have no relevant Quora question for that phrase, or its first hit may be unrelated. The actor refuses to hydrate an off-topic seed and reports the query instead of returning random questions.\n\n**Why is native Quora search not used?**\nQuora's `/search?q=` page is login-gated for anonymous visitors and is disallowed by Quora's robots rules. The actor uses a public index and related questions instead.\n\n**How many questions can one keyword produce?**\nOne index hit can expand to up to 70 related questions, bounded by Maximum Questions per Query. A query with no usable index hit produces none.\n\n**Why is profile search less complete than question search?**\nSearch engines index far fewer Quora profiles than questions. Direct usernames and profile URLs are exact; keyword profile search is best-effort.\n\n**Why are some profile fields missing?**\nQuora only shows location, employment, education, and credentials on some profiles. Missing values are omitted rather than guessed.\n\n**Can I get comments?**\nComment bodies are not part of the public server-rendered page. Answer rows include the comment count, not the comment text.\n\n**Can I get a question's creation date or exact view count?**\nThose values appear only on a Quora log page that its robots rules disallow, so the actor does not fetch it. Answer creation times are exact.\n\n**Does the actor use a proxy?**\nIt connects automatically and falls back to Apify Proxy only when Quora blocks the direct connection. There is no proxy field to configure.\n\n**Is this affiliated with Quora?**\nNo. This is an independent, third-party actor that reads publicly visible pages. Users are responsible for how they use the data.\n",
    "actorDefinition": {
      "actorSpecification": 1,
      "name": "quora-question-answer-and-profile-search-scraper",
      "title": "Quora Question, Answer & Profile Search Scraper",
      "description": "Search Quora by keyword through a public index, expand related questions, and export full answers, profiles, authors, topics, and status rows. No cookies or proxy setup.",
      "version": "1.1",
      "buildTag": "latest",
      "meta": {
        "templateId": "python-playwright"
      },
      "input": {
        "title": "Quora Search Scraper Input",
        "description": "Search Quora through a public index, expand related questions, and export question, answer, profile, author, and topic rows. Direct URLs and usernames work without search.",
        "type": "object",
        "schemaVersion": 1,
        "properties": {
          "mode": {
            "title": "Mode",
            "type": "string",
            "editor": "select",
            "enum": [
              "search",
              "urls",
              "authors"
            ],
            "enumTitles": [
              "Search by keyword",
              "Scrape direct URLs",
              "Discover authors"
            ],
            "default": "search",
            "prefill": "urls",
            "description": "Search discovers questions through the DuckDuckGo index and Quora related questions. URLs is deterministic and does not depend on search."
          },
          "searchQueries": {
            "title": "Search Keywords",
            "type": "array",
            "editor": "stringList",
            "items": {
              "type": "string"
            },
            "default": [],
            "prefill": [],
            "description": "Two to four word phrases work best. Each query finds at most a couple of question seeds, then related questions expand the result."
          },
          "searchTarget": {
            "title": "Search Target",
            "type": "string",
            "editor": "select",
            "enum": [
              "questions",
              "profiles",
              "both"
            ],
            "enumTitles": [
              "Questions",
              "Profiles",
              "Questions and profiles"
            ],
            "default": "questions",
            "prefill": "questions",
            "description": "Choose whether keyword discovery looks for question pages, profile pages, or both. Profile search is best-effort because search engines index few Quora profiles."
          },
          "directUrls": {
            "title": "Direct Quora URLs",
            "type": "array",
            "editor": "stringList",
            "items": {
              "type": "string"
            },
            "default": [],
            "prefill": [
              "https://www.quora.com/What-is-Python-primarily-used-for"
            ],
            "description": "Question, answer, profile, or topic URLs. Language subdomains are accepted. Comma-separated or one URL per line."
          },
          "usernames": {
            "title": "Profile Usernames",
            "type": "array",
            "editor": "stringList",
            "items": {
              "type": "string"
            },
            "default": [],
            "prefill": [],
            "description": "Quora profile usernames or slugs, with or without @ or a trailing slash. Each is normalised to a profile URL."
          },
          "resultTypes": {
            "title": "Result Types",
            "type": "array",
            "editor": "select",
            "items": {
              "type": "string",
              "enum": [
                "question",
                "answer",
                "profile",
                "author",
                "topic",
                "search_result"
              ]
            },
            "default": [
              "question",
              "answer",
              "search_result"
            ],
            "prefill": [
              "question",
              "answer"
            ],
            "description": "Which rows to save. Status and run-manifest rows are always emitted so blocked or empty sources stay visible."
          },
          "includeAnswers": {
            "title": "Include Answers",
            "type": "boolean",
            "editor": "checkbox",
            "default": true,
            "prefill": true,
            "description": "Expand question pages into answer rows. Turn off to keep question rows only."
          },
          "maxAnswersPerQuestion": {
            "title": "Maximum Answers per Question",
            "type": "integer",
            "default": 20,
            "minimum": 0,
            "maximum": 500,
            "prefill": 2,
            "description": "Answers to collect from each question, including the 3-5 already visible on the page. Zero means no answers."
          },
          "expandRelatedQuestions": {
            "title": "Expand Related Questions",
            "type": "boolean",
            "editor": "checkbox",
            "default": true,
            "prefill": false,
            "description": "Open related questions linked from each question page. Quora exposes up to 70, which is how keyword search reaches more than its first result."
          },
          "maxRelatedQuestionsPerSeed": {
            "title": "Related Questions per Seed",
            "type": "integer",
            "default": 20,
            "minimum": 0,
            "maximum": 70,
            "prefill": 0,
            "description": "How many related questions to open from each question page. Zero lists the links without opening them."
          },
          "maxQuestionsPerQuery": {
            "title": "Maximum Questions per Query",
            "type": "integer",
            "default": 50,
            "minimum": 1,
            "maximum": 500,
            "prefill": 1,
            "description": "Hard cap on question rows for each search query, including seed and related questions."
          },
          "includeAuthorProfiles": {
            "title": "Enrich Authors with Profiles",
            "type": "boolean",
            "editor": "checkbox",
            "default": true,
            "prefill": true,
            "description": "Open each discovered author's profile to add follower, answer, question, view, and join-date fields. Turn off to keep author rows from answer evidence only."
          },
          "maxAuthors": {
            "title": "Maximum Authors",
            "type": "integer",
            "default": 100,
            "minimum": 1,
            "maximum": 5000,
            "prefill": 1,
            "description": "Maximum unique author rows to emit when author is included in Result Types."
          },
          "minAnswerUpvotes": {
            "title": "Minimum Answer Upvotes",
            "type": "integer",
            "default": 0,
            "minimum": 0,
            "maximum": 2000000000,
            "prefill": 0,
            "description": "Keep only answers with an explicit upvote count at or above this value. Answers with unknown upvotes are excluded when this is positive."
          },
          "filterAiAnswers": {
            "title": "AI Answers",
            "type": "string",
            "editor": "select",
            "enum": [
              "include",
              "exclude",
              "only"
            ],
            "enumTitles": [
              "Include all answers",
              "Exclude AI answers",
              "Only AI answers"
            ],
            "default": "include",
            "prefill": "include",
            "description": "Include all answers, drop answers Quora explicitly labels as AI, or keep only those labelled answers."
          },
          "answerSortOrder": {
            "title": "Answer Order",
            "type": "string",
            "editor": "select",
            "enum": [
              "observed",
              "upvotes_desc",
              "newest"
            ],
            "enumTitles": [
              "Quora order",
              "Most upvoted",
              "Newest"
            ],
            "default": "observed",
            "prefill": "observed",
            "description": "Keep Quora's order, sort by explicit upvotes, or sort by the answer creation timestamp."
          },
          "onlyUnanswered": {
            "title": "Only Unanswered Questions",
            "type": "boolean",
            "editor": "checkbox",
            "default": false,
            "prefill": false,
            "description": "Keep only questions whose visible answer count is exactly zero. Questions with an unknown count are excluded."
          },
          "includeProfileSensitiveFields": {
            "title": "Include Profile Details",
            "type": "boolean",
            "editor": "checkbox",
            "default": true,
            "prefill": true,
            "description": "Include location, employment, education, and join date on profile and author rows when Quora shows them."
          },
          "includeSocialLinks": {
            "title": "Include Social Links",
            "type": "boolean",
            "editor": "checkbox",
            "default": true,
            "prefill": true,
            "description": "Include website and social links from a profile's public bio when present."
          },
          "includeAnswerHtml": {
            "title": "Include Answer HTML",
            "type": "boolean",
            "editor": "checkbox",
            "default": true,
            "prefill": false,
            "description": "Include a rendered HTML version of each answer beside its plain text. Turn off to reduce dataset size."
          },
          "maxItems": {
            "title": "Maximum Rows",
            "type": "integer",
            "default": 200,
            "minimum": 1,
            "maximum": 50000,
            "prefill": 3,
            "description": "Maximum question, answer, profile, author, topic, and search-result rows across the run. Status and manifest rows do not count."
          },
          "includeFieldEvidence": {
            "title": "Include Field Evidence",
            "type": "boolean",
            "editor": "checkbox",
            "default": true,
            "prefill": true,
            "description": "Include field_sources and fields_present provenance maps on each row."
          }
        },
        "required": []
      },
      "output": {
        "actorOutputSchemaVersion": 1,
        "title": "Quora Question, Answer & Profile Search Scraper Output",
        "description": "Quora questions, full answers, profiles, authors, topics, search-result cards, access-status rows, and a run manifest.",
        "type": "object",
        "properties": {
          "results": {
            "type": "string",
            "title": "Quora rows",
            "description": "Dataset containing question, answer, profile, author, topic, search_result, status, and run_manifest rows.",
            "template": "{{links.apiDefaultDatasetUrl}}/items"
          }
        }
      },
      "readme": "# Quora Question, Answer & Profile Search Scraper\n\nFind Quora questions by keyword, then export full answers, author profiles, and engagement data. You can also paste question, answer, profile, or topic URLs for a deterministic export that does not depend on search.\n\n## How discovery works\n\nQuora's own keyword search is login-gated, so this actor uses a public search index in front of Quora:\n\n1. **Index discovery** finds Quora question or profile pages for your keywords.\n2. **A relevance check** drops index hits whose title does not share a meaningful word with your query.\n3. **Related-question expansion** opens the related questions Quora links from each question page. Quora exposes up to 70 per question, which is how one index result becomes a useful set.\n4. **Page hydration** reads the public question, answer, profile, or topic page and builds the rows.\n\nSearch is best-effort: some narrow or unusual queries return no usable Quora question, and the run says so with a status row. A run that produces no real rows fails with a clear message instead of reporting success. Direct URLs and usernames always work without search.\n\n## Modes\n\n- **Search by keyword** — one or more phrases; questions, answers, and optional profile/author rows.\n- **Scrape direct URLs** — question, answer, profile, or topic URLs, including language subdomains.\n- **Discover authors** — collect answer authors from URLs or search results and enrich their public profiles.\n\n## What each row contains\n\n- **Question** — title, URL, question ID, topics, follower count, answer count, related questions, discovery query, and parent question when reached through expansion.\n- **Answer** — full text (and optional HTML), answer URL and ID, upvotes, views, comments count, shares count, exact ISO creation time, AI label, related-answer provenance, and author details.\n- **Profile / author** — name, profile URL, bio, credential, verified flag, followers, following, answer and question counts, content views, join date, location, employment, education, topics, and answer evidence.\n- **Topic** — name, URL, topic ID, and follower count.\n- **Search result** — an index card that matched the query: title, snippet when meaningful, URL, rank, type, and source.\n- **Status** — a typed row when a page is blocked, removed, not found, or a query has no usable result.\n- **Run manifest** — counts, discovery sources, proxy path, and per-input accounting.\n\nEmpty fields are omitted, never filled with null or placeholder values.\n\n\n## Input reference\n\n| Field | Type | Default | What it does |\n|---|---|---|---|\n| `mode` | select | `search` | Search, direct URLs, or author discovery. |\n| `searchQueries` | array | `[]` | Keyword phrases used by search and author modes. |\n| `searchTarget` | select | `questions` | Look for questions, profiles, or both. |\n| `directUrls` | array | `[]` | Question, answer, profile, or topic URLs. |\n| `usernames` | array | `[]` | Profile usernames or slugs. |\n| `resultTypes` | array | `[\"question\",\"answer\",\"search_result\"]` | Rows to save. |\n| `includeAnswers` | boolean | `true` | Expand questions into answer rows. |\n| `maxAnswersPerQuestion` | integer | `20` | Answers per question, including visible ones. |\n| `expandRelatedQuestions` | boolean | `true` | Open related questions from each question page. |\n| `maxRelatedQuestionsPerSeed` | integer | `20` | Related questions to open per seed. |\n| `maxQuestionsPerQuery` | integer | `50` | Question-row cap per search query. |\n| `includeAuthorProfiles` | boolean | `true` | Enrich author rows with profile statistics. |\n| `maxAuthors` | integer | `100` | Maximum author rows. |\n| `minAnswerUpvotes` | integer | `0` | Minimum explicit upvote count. |\n| `filterAiAnswers` | select | `include` | Include, exclude, or keep only AI-labelled answers. |\n| `answerSortOrder` | select | `observed` | Quora order, most upvoted, or newest. |\n| `onlyUnanswered` | boolean | `false` | Keep only questions with an explicit zero answer count. |\n| `includeProfileSensitiveFields` | boolean | `true` | Include location, employment, education, and join date. |\n| `includeSocialLinks` | boolean | `true` | Include website and social links. |\n| `includeAnswerHtml` | boolean | `true` | Add rendered answer HTML beside plain text. |\n| `maxItems` | integer | `200` | Maximum real rows; status and manifest do not count. |\n| `includeFieldEvidence` | boolean | `true` | Include field provenance maps. |\n\n## Example inputs\n\nSearch questions and answers:\n\n```json\n{\n  \"mode\": \"search\",\n  \"searchQueries\": [\"best productivity apps\", \"healthy meal prep\"],\n  \"searchTarget\": \"questions\",\n  \"expandRelatedQuestions\": true,\n  \"maxRelatedQuestionsPerSeed\": 20,\n  \"maxQuestionsPerQuery\": 30,\n  \"maxAnswersPerQuestion\": 5,\n  \"maxItems\": 100\n}\n```\n\nScrape a specific question:\n\n```json\n{\n  \"mode\": \"urls\",\n  \"directUrls\": [\"https://www.quora.com/What-is-Python-primarily-used-for\"],\n  \"resultTypes\": [\"question\", \"answer\"],\n  \"maxAnswersPerQuestion\": 20\n}\n```\n\nFind profiles by keyword:\n\n```json\n{\n  \"mode\": \"search\",\n  \"searchQueries\": [\"Naval Ravikant\", \"Sam Altman\"],\n  \"searchTarget\": \"profiles\",\n  \"resultTypes\": [\"profile\", \"author\"],\n  \"maxItems\": 20\n}\n```\n\n## Use cases\n\n- Content and market research on public discussions\n- Building a question/answer corpus for analysis\n- Finding subject-matter authors and their public statistics\n- Monitoring how a topic's questions and answers change over time\n\n## FAQ\n\n**Do I need to log in or provide cookies?**\nNo. The actor never asks for cookies and only reads public pages.\n\n**Why does a keyword search sometimes return a status row instead of questions?**\nThe public index may have no relevant Quora question for that phrase, or its first hit may be unrelated. The actor refuses to hydrate an off-topic seed and reports the query instead of returning random questions.\n\n**Why is native Quora search not used?**\nQuora's `/search?q=` page is login-gated for anonymous visitors and is disallowed by Quora's robots rules. The actor uses a public index and related questions instead.\n\n**How many questions can one keyword produce?**\nOne index hit can expand to up to 70 related questions, bounded by Maximum Questions per Query. A query with no usable index hit produces none.\n\n**Why is profile search less complete than question search?**\nSearch engines index far fewer Quora profiles than questions. Direct usernames and profile URLs are exact; keyword profile search is best-effort.\n\n**Why are some profile fields missing?**\nQuora only shows location, employment, education, and credentials on some profiles. Missing values are omitted rather than guessed.\n\n**Can I get comments?**\nComment bodies are not part of the public server-rendered page. Answer rows include the comment count, not the comment text.\n\n**Can I get a question's creation date or exact view count?**\nThose values appear only on a Quora log page that its robots rules disallow, so the actor does not fetch it. Answer creation times are exact.\n\n**Does the actor use a proxy?**\nIt connects automatically and falls back to Apify Proxy only when Quora blocks the direct connection. There is no proxy field to configure.\n\n**Is this affiliated with Quora?**\nNo. This is an independent, third-party actor that reads publicly visible pages. Users are responsible for how they use the data.\n",
      "dockerfile": "../Dockerfile",
      "defaultRunOptions": {
        "build": "latest",
        "timeoutSecs": 1800,
        "memoryMbytes": 2048
      },
      "storages": {
        "dataset": {
          "actorSpecification": 1,
          "title": "Quora data",
          "views": {
            "overview": {
              "title": "Quora rows",
              "transformation": {
                "fields": [
                  "content_type",
                  "title",
                  "url",
                  "question_id",
                  "answer_id",
                  "author_name",
                  "upvotes",
                  "view_count",
                  "comments_count",
                  "created_at",
                  "follower_count",
                  "answer_count",
                  "search_rank",
                  "search_result_type",
                  "discovery_source",
                  "source_query",
                  "access_state",
                  "source_url"
                ]
              },
              "display": {
                "component": "table",
                "properties": {}
              }
            }
          }
        }
      },
      "environmentVariables": {}
    },
    "buildNumber": "1.1.1",
    "imageDigest": "89aeddcc1a14293c40571d42ec4aedba69cdef28fba7d636f17e645f9076278f",
    "actVersion": {
      "sourceType": "SOURCE_FILES",
      "buildTag": "latest",
      "versionNumber": "1.1"
    },
    "usage": {
      "ACTOR_COMPUTE_UNITS": 0.042002222222222226
    }
  }
}