{
  "data": {
    "id": "aLCrq4hY56YrC10gA",
    "actId": "JsMwRYntcDlbv7c6m",
    "userId": "IYgBDiXtHOijAaUel",
    "startedAt": "2026-11-11T15:11:20.579Z",
    "finishedAt": "2026-11-11T15:11:58.050Z",
    "status": "SUCCEEDED",
    "meta": {
      "origin": "CI"
    },
    "stats": {
      "durationMillis": 37361,
      "runTimeSecs": 37.361,
      "computeUnits": 0.04151222222222222,
      "imageSizeBytes": 3139374592
    },
    "options": {
      "useCache": true,
      "betaPackages": false,
      "memoryMbytes": 4096,
      "diskMbytes": 8192
    },
    "createdByOrganizationMemberUserId": "QYo53EZkJk0prePWY",
    "exitCode": 0,
    "inputSchema": "{\n  \"title\": \"Quora Space Community Monitor Input\",\n  \"type\": \"object\",\n  \"schemaVersion\": 1,\n  \"properties\": {\n    \"spaceUrls\": {\n      \"title\": \"Space URLs\",\n      \"type\": \"array\",\n      \"editor\": \"stringList\",\n      \"items\": {\n        \"type\": \"string\"\n      },\n      \"default\": [],\n      \"prefill\": [\n        \"https://cryptocurrency.quora.com/\"\n      ],\n      \"description\": \"Direct /q/ Space routes or Space subdomain URLs.\"\n    },\n    \"urls\": {\n      \"title\": \"Any Quora URLs (Entity-Agnostic Monitoring)\",\n      \"type\": \"array\",\n      \"editor\": \"stringList\",\n      \"items\": {\n        \"type\": \"string\"\n      },\n      \"default\": [],\n      \"description\": \"Any public Quora URL (question, answer, profile, topic, or standalone post) to monitor for content-level changes (title/body changed) between runs. Space URLs are automatically routed to the richer Space-aware path below; every other Quora URL is monitored via the generic title/content-hash change mechanism. Requires stateStoreId.\"\n    },\n    \"startUrls\": {\n      \"title\": \"Start URLs\",\n      \"type\": \"array\",\n      \"editor\": \"requestListSources\",\n      \"default\": [],\n      \"description\": \"API-compatible request objects for any public Quora URL (Space, question, answer, profile, topic, or post); auto-routed by URL shape the same way as spaceUrls/urls.\"\n    },\n    \"searchQueries\": {\n      \"title\": \"Discovery Queries\",\n      \"type\": \"array\",\n      \"editor\": \"stringList\",\n      \"items\": {\n        \"type\": \"string\"\n      },\n      \"default\": [],\n      \"description\": \"Native Quora search queries used for bounded Space-link and entity-link discovery evidence.\"\n    },\n    \"maxDiscoveryResults\": {\n      \"title\": \"Maximum Discovered Spaces\",\n      \"type\": \"integer\",\n      \"editor\": \"number\",\n      \"default\": 20,\n      \"minimum\": 1,\n      \"maximum\": 500,\n      \"description\": \"Maximum Space links emitted by each query discovery row.\"\n    },\n    \"includeMetadata\": {\n      \"title\": \"Include Metadata\",\n      \"type\": \"boolean\",\n      \"editor\": \"checkbox\",\n      \"default\": true,\n      \"prefill\": true,\n      \"description\": \"Emit one Space metadata row per successfully observed Space.\"\n    },\n    \"includeFeed\": {\n      \"title\": \"Include Feed\",\n      \"type\": \"boolean\",\n      \"editor\": \"checkbox\",\n      \"default\": true,\n      \"prefill\": true,\n      \"description\": \"Emit bounded visible feed item rows.\"\n    },\n    \"scrapeDepth\": {\n      \"title\": \"Scrape Depth\",\n      \"type\": \"string\",\n      \"enum\": [\n        \"overview\",\n        \"detail\"\n      ],\n      \"default\": \"detail\",\n      \"prefill\": \"overview\",\n      \"description\": \"Overview captures metadata/status only and disables feed, contributor, scroll, and load-more work. Detail preserves bounded monitoring traversal; it is not complete history.\"\n    },\n    \"feedTab\": {\n      \"title\": \"Requested Feed Tab\",\n      \"type\": \"string\",\n      \"enum\": [\n        \"all\",\n        \"posts\",\n        \"questions\",\n        \"top\",\n        \"unanswered\",\n        \"about\",\n        \"rules\"\n      ],\n      \"default\": \"all\",\n      \"editor\": \"select\",\n      \"description\": \"Requested tab; only exact visible labels are selected, and unavailable tabs produce no feed rows.\"\n    },\n    \"includeContributors\": {\n      \"title\": \"Include Contributors\",\n      \"type\": \"boolean\",\n      \"editor\": \"checkbox\",\n      \"default\": false,\n      \"prefill\": false,\n      \"description\": \"Emit only contributors found inside explicitly labeled role regions.\"\n    },\n    \"contributorRoles\": {\n      \"title\": \"Contributor Roles\",\n      \"type\": \"array\",\n      \"editor\": \"stringList\",\n      \"items\": {\n        \"type\": \"string\"\n      },\n      \"default\": [\n        \"owner\",\n        \"moderator\",\n        \"admin\",\n        \"contributor\"\n      ],\n      \"description\": \"Role labels accepted for contributor rows.\"\n    },\n    \"maxFeedItems\": {\n      \"title\": \"Maximum Feed Items\",\n      \"type\": \"integer\",\n      \"editor\": \"number\",\n      \"default\": 50,\n      \"minimum\": 0,\n      \"maximum\": 5000,\n      \"description\": \"Maximum feed rows per Space.\"\n    },\n    \"maxContributors\": {\n      \"title\": \"Maximum Contributors\",\n      \"type\": \"integer\",\n      \"editor\": \"number\",\n      \"default\": 50,\n      \"minimum\": 0,\n      \"maximum\": 5000,\n      \"description\": \"Maximum contributor rows per Space.\"\n    },\n    \"maxFeedQuestionExpansions\": {\n      \"title\": \"Maximum Feed Question Expansions\",\n      \"type\": \"integer\",\n      \"editor\": \"number\",\n      \"default\": 0,\n      \"minimum\": 0,\n      \"maximum\": 500,\n      \"prefill\": 0,\n      \"description\": \"When Scrape Depth is detail, bounded number of question-type feed items to open and expand into full question fields (question_id, question_answer_count, question_view_count, question_details, question_created_at, question_updated_at). Zero keeps the feed-digest-only behavior.\"\n    },\n    \"includeFeedText\": {\n      \"title\": \"Include Feed Text\",\n      \"type\": \"boolean\",\n      \"editor\": \"checkbox\",\n      \"default\": true,\n      \"prefill\": true,\n      \"description\": \"Include visible feed text evidence.\"\n    },\n    \"includeMedia\": {\n      \"title\": \"Include Media\",\n      \"type\": \"boolean\",\n      \"editor\": \"checkbox\",\n      \"default\": false,\n      \"prefill\": false,\n      \"description\": \"Include visible media URLs when present.\"\n    },\n    \"includeOutboundLinks\": {\n      \"title\": \"Include Outbound Links\",\n      \"type\": \"boolean\",\n      \"editor\": \"checkbox\",\n      \"default\": false,\n      \"prefill\": false,\n      \"description\": \"Include bounded outbound links from feed cards.\"\n    },\n    \"includeRules\": {\n      \"title\": \"Include Rules\",\n      \"type\": \"boolean\",\n      \"editor\": \"checkbox\",\n      \"default\": true,\n      \"prefill\": true,\n      \"description\": \"Include explicitly headed rules or guidelines text.\"\n    },\n    \"includeTopics\": {\n      \"title\": \"Include Topics\",\n      \"type\": \"boolean\",\n      \"editor\": \"checkbox\",\n      \"default\": true,\n      \"prefill\": true,\n      \"description\": \"Include visible topic links.\"\n    },\n    \"includeSettings\": {\n      \"title\": \"Include Explicit Space Settings\",\n      \"type\": \"boolean\",\n      \"editor\": \"checkbox\",\n      \"default\": false,\n      \"prefill\": false,\n      \"description\": \"Opt in to explicitly labeled public/authorized Space settings and content-permission evidence; missing settings remain not_observed and admin-only submission queues are never scraped.\"\n    },\n    \"maxScrollAttempts\": {\n      \"title\": \"Maximum Scroll Attempts\",\n      \"type\": \"integer\",\n      \"editor\": \"number\",\n      \"default\": 5,\n      \"minimum\": 0,\n      \"maximum\": 20,\n      \"description\": \"Bounded scroll budget for visible feed traversal; termination state is reported per run.\"\n    },\n    \"maxLoadMoreAttempts\": {\n      \"title\": \"Maximum Load More Attempts\",\n      \"type\": \"integer\",\n      \"editor\": \"number\",\n      \"default\": 5,\n      \"minimum\": 0,\n      \"maximum\": 20,\n      \"description\": \"Bounded attempts to activate visible feed load-more controls; click and termination state are reported.\"\n    },\n    \"onlyNewItems\": {\n      \"title\": \"Only New Items\",\n      \"type\": \"boolean\",\n      \"editor\": \"checkbox\",\n      \"default\": false,\n      \"prefill\": false,\n      \"description\": \"Suppress unchanged state events when configured with a state store.\"\n    },\n    \"includeUnchanged\": {\n      \"title\": \"Include Unchanged\",\n      \"type\": \"boolean\",\n      \"editor\": \"checkbox\",\n      \"default\": true,\n      \"prefill\": true,\n      \"description\": \"Keep unchanged event rows when onlyNewItems is enabled.\"\n    },\n    \"stateStoreId\": {\n      \"title\": \"State Store ID\",\n      \"type\": \"string\",\n      \"editor\": \"textfield\",\n      \"default\": \"\",\n      \"description\": \"Key-value store used for bounded feed/Space/generic-URL snapshots and change evidence. Required when onlyNewItems is enabled, and required whenever urls (entity-agnostic monitoring) is populated.\"\n    },\n    \"stateRetentionDays\": {\n      \"title\": \"State Retention Days\",\n      \"type\": \"integer\",\n      \"editor\": \"number\",\n      \"default\": 0,\n      \"minimum\": 0,\n      \"maximum\": 3650,\n      \"description\": \"Opt-in age-based pruning for unseen state snapshots; zero disables pruning.\"\n    },\n    \"diffMode\": {\n      \"title\": \"Diff Mode\",\n      \"type\": \"string\",\n      \"enum\": [\n        \"hash_only\",\n        \"field_summary\",\n        \"field_values\",\n        \"hash_and_summary\"\n      ],\n      \"default\": \"hash_and_summary\",\n      \"editor\": \"select\",\n      \"description\": \"Change evidence detail level.\"\n    },\n    \"maxItems\": {\n      \"title\": \"Maximum Output Rows\",\n      \"type\": \"integer\",\n      \"editor\": \"number\",\n      \"default\": 0,\n      \"minimum\": 0,\n      \"maximum\": 50000,\n      \"description\": \"Global output row cap; zero means no explicit cap.\"\n    },\n    \"requestDelay\": {\n      \"title\": \"Request Delay\",\n      \"type\": \"number\",\n      \"editor\": \"number\",\n      \"default\": 2,\n      \"minimum\": 0,\n      \"maximum\": 30,\n      \"description\": \"Delay between source pages in seconds.\"\n    },\n    \"maxConcurrency\": {\n      \"title\": \"Maximum Concurrency\",\n      \"type\": \"integer\",\n      \"editor\": \"number\",\n      \"default\": 1,\n      \"minimum\": 1,\n      \"maximum\": 3,\n      \"description\": \"Bounded number of source pages processed concurrently.\"\n    },\n    \"maxNavigationRetries\": {\n      \"title\": \"Maximum Navigation Retries\",\n      \"type\": \"integer\",\n      \"editor\": \"number\",\n      \"default\": 2,\n      \"minimum\": 0,\n      \"maximum\": 3,\n      \"description\": \"Bounded retries for transient navigation failures; retry counts and delays are reported.\"\n    },\n    \"language\": {\n      \"title\": \"Browser Language\",\n      \"type\": \"string\",\n      \"enum\": [\n        \"auto\",\n        \"en\",\n        \"es\",\n        \"fr\",\n        \"de\",\n        \"it\",\n        \"pt\",\n        \"ja\",\n        \"ko\",\n        \"zh\",\n        \"hi\",\n        \"tr\",\n        \"ru\",\n        \"en-US\",\n        \"en-GB\",\n        \"de-DE\",\n        \"fr-FR\",\n        \"es-ES\",\n        \"pt-BR\",\n        \"it-IT\",\n        \"ja-JP\",\n        \"ko-KR\",\n        \"zh-CN\",\n        \"zh-TW\",\n        \"hi-IN\",\n        \"tr-TR\",\n        \"ru-RU\"\n      ],\n      \"default\": \"auto\",\n      \"editor\": \"select\",\n      \"description\": \"Browser language hint. Short language codes and supported regional aliases are accepted and normalize to the short code; auto keeps the actor default. This does not translate content or prove access.\"\n    },\n    \"cookies\": {\n      \"title\": \"Cookies\",\n      \"type\": \"array\",\n      \"editor\": \"json\",\n      \"items\": {\n        \"type\": \"object\"\n      },\n      \"default\": [],\n      \"description\": \"Optional user-supplied session cookies.\"\n    },\n    \"cookieString\": {\n      \"title\": \"Optional Cookie Header String\",\n      \"type\": \"string\",\n      \"editor\": \"textfield\",\n      \"isSecret\": true,\n      \"description\": \"Optional browser-exported name=value; name2=value2 header. Parsed locally into authorized session cookies; the raw header is never emitted or logged.\"\n    },\n    \"proxyConfiguration\": {\n      \"title\": \"Proxy configuration\",\n      \"type\": \"object\",\n      \"editor\": \"proxy\",\n      \"default\": {\n        \"useApifyProxy\": true,\n        \"apifyProxyGroups\": [\n          \"RESIDENTIAL\"\n        ]\n      },\n      \"prefill\": {\n        \"useApifyProxy\": true,\n        \"apifyProxyGroups\": [\n          \"RESIDENTIAL\"\n        ]\n      },\n      \"description\": \"Apify proxy configuration. Defaults to the RESIDENTIAL proxy group, which real-world testing showed is required for reliable access to Quora's Cloudflare-protected pages (the un-grouped AUTO/datacenter tier is measurably blocked/redirected on a meaningful share of requests); the actor also forces RESIDENTIAL whenever a group is left unspecified. Choose a different group, or disable the proxy, only if you understand the reliability tradeoff.\"\n    },\n    \"outputFields\": {\n      \"title\": \"Output Fields (Optional)\",\n      \"type\": \"array\",\n      \"editor\": \"stringList\",\n      \"items\": {\n        \"type\": \"string\"\n      },\n      \"default\": [],\n      \"description\": \"Optional allowlist for compact rows, including bounded dotted paths through nested collections (for example answers.answer_text, comments.comment_text, feed.feed_text, or contributors.contributor_name where applicable). Child identity/URL fields and the actor identity, access/status, source, traversal, graph, filter, and parser-envelope fields remain protected.\",\n      \"maxItems\": 3000\n    },\n    \"includeFieldEvidence\": {\n      \"title\": \"Include Field Evidence\",\n      \"type\": \"boolean\",\n      \"editor\": \"checkbox\",\n      \"default\": true,\n      \"prefill\": true,\n      \"description\": \"Retain field_sources and fields_present after projection; disabling removes only these evidence maps.\"\n    },\n    \"maxItemsPerSource\": {\n      \"title\": \"Maximum Items Per Source\",\n      \"type\": \"integer\",\n      \"description\": \"Maximum semantic records emitted from each direct URL, query, or typed source. Status and run-manifest rows are preserved. Use 0 for no per-source cap.\",\n      \"default\": 0,\n      \"minimum\": 0,\n      \"maximum\": 5000,\n      \"prefill\": 0\n    }\n  }\n}",
    "readme": "# Quora Space Activity & Content Change Monitor\n\nThis actor watches public Quora Spaces (topic communities) and individual Quora pages — questions, answers, profiles, topics, or posts — for content-level changes between runs. Point it at one or more Space URLs for the richer community-level view (metadata, feed, contributors), or at any other public Quora URL for a lighter title/content change check. Run it on a schedule and it only reports what actually changed.\n\n## What this actor does\n\n- Monitors a Quora Space's metadata (name, description, follower/member/post counts, rules, topics) and reports whether it changed since the last run.\n- Monitors a Space's visible feed (posts, questions, answers) and, optionally, the people with an explicitly labeled role in that Space (owner, moderator, admin, contributor).\n- Monitors any other public Quora URL — a question, answer, profile, topic, or standalone post — for title/content changes via `urls`.\n- Discovers additional Space and entity links from native Quora search queries, within a bounded cap.\n- Reports an explicit status row (login-required, Cloudflare-blocked, removed, etc.) instead of guessing when a page can't be read, and every row only contains the fields this actor actually observed — nothing is filled in with a placeholder.\n\n## Output fields\n\nEvery run emits rows that share a common set of identity/status fields, plus extra fields depending on what kind of row it is (Space metadata, feed item, contributor, discovery result, generic URL event, or run/status row).\n\n### Every row\n\n| Field | Description |\n|-------|-------------|\n| `content_type` | What kind of row this is, e.g. `space`, `space_feed_item`, `space_contributor`, `space_discovery`, `monitor_event`, `status` |\n| `record_id` | Stable identifier for this row |\n| `url` / `source_url` | The row's own URL and the URL it was observed from |\n| `final_url` | URL after following any redirects |\n| `title` | Unified human-readable label for the row (Space name, feed item title, contributor name, etc.) |\n| `date_precision` | `exact` when a machine-readable date was found, `relative` when only a label like \"3h ago\" was available |\n| `access_state` | What access state was observed, e.g. `public`, `login_required`, `cloudflare`, `unavailable`, `network_error` |\n| `http_status` | HTTP status code observed |\n| `error` | Error description, when the fetch failed |\n| `scrape_timestamp` | When this row was captured |\n| `matched_input` / `matched_input_kind` | The exact input URL or search query that produced this row |\n| `source_observations` / `source_observation_count` | Bounded history of exact URLs/queries retained for this Space |\n| `source_query` / `source_kind` | The query or source type that produced this row, when applicable |\n| `requested_depth` / `observed_depth` | The traversal depth you asked for vs. what was actually achieved |\n| `detail_expansion_state` | Whether detail-level traversal completed, was bounded, blocked, or not applicable |\n| `localized_numeric_fields` | Parsed numeric values for any `*_count`/`*_count_text` field present on the row |\n| `normalized_date_fields` | UTC-normalized companions for every date field present on the row |\n| `date_interpretations` | Bounded interval interpretation of a relative date label, when present |\n| `field_sources` / `fields_present` | Evidence of where each field's value came from and which fields are present on this row |\n| `parser_strategy` / `parser_version` | Which extraction path and version produced this row |\n| `output_projection` | `full` or `selected`, depending on whether `outputFields` filtered this row |\n| `max_items_per_source` / `source_cap` / `source_items_observed` / `source_items_emitted` / `source_cap_reached` | The configured per-source cap and how it applied to this row's source |\n\n### Space metadata row\n\n| Field | Description |\n|-------|-------------|\n| `space_url` / `space_id` / `canonical_url` | The Space's URL, ID and canonical link |\n| `name` / `description` | Space name and description |\n| `image_url` | Space image URL |\n| `created_at` / `updated_at` | Space creation/update timestamps, when shown |\n| `space_visibility` / `space_type` | `public`/`private`/`restricted`/`unknown`, and the Space type |\n| `follower_count` / `follower_count_value` | Follower count, as shown and as a parsed number |\n| `member_count` / `member_count_value` | Member count, as shown and as a parsed number |\n| `post_count` / `post_count_value` | Post count, as shown and as a parsed number |\n| `contributor_count` / `contributor_count_value` | Contributor count, as shown and as a parsed number |\n| `owner_name` / `owner_url` | Space owner's name and profile link |\n| `website_url` | Linked external website, when shown |\n| `moderator_records` | Moderators found in an explicitly labeled moderator region |\n| `topics` / `topic_links` | Topic names, and topic name/URL pairs |\n| `rules` | Space rules/guidelines text, when visible |\n\n### Space settings (opt-in via `includeSettings`)\n\n| Field | Description |\n|-------|-------------|\n| `space_settings_state` | Whether the settings probe was skipped, found nothing, or observed settings |\n| `space_allowed_content_types` | Explicitly named content types the Space allows, e.g. posts, questions |\n| `space_comment_permission` | Who can comment, when explicitly stated |\n| `space_submission_policy` | Who can submit content, when explicitly stated |\n| `space_content_requirements` | Raw lines describing content/link/text requirements |\n| `space_distribution_state` | Distribution scope, when explicitly stated |\n| `space_contributor_request_state` | Whether contributor requests are enabled or disabled |\n| `space_settings_text` | Raw text from the labeled settings region |\n\n### Feed item row\n\n| Field | Description |\n|-------|-------------|\n| `feed_url` / `feed_type` / `feed_title` / `feed_text` | The feed item's link, type, title and visible text |\n| `feed_author_name` / `feed_author_url` / `feed_author_image_url` / `feed_author_id` | The feed item author's identity |\n| `feed_author_credentials` / `author_credentials` | Credential or tagline text shown next to the author, when present |\n| `feed_author_is_verified` / `feed_author_is_anonymous` | Positive-only markers when an explicit verified badge or Anonymous label is visible |\n| `feed_created_at` / `feed_timestamp` | The feed item's date, machine-readable or as a relative label |\n| `feed_age_days` / `feed_age_state` | Age in days, computed only when a machine-readable date was available |\n| `media_urls` / `image_urls` / `video_urls` | Media attached to the feed item, when `includeMedia` is on |\n| `outbound_links` | Outbound links found on the feed card, when `includeOutboundLinks` is on |\n| `feed_tab` / `observed_feed_tab` | The tab you requested and whether it was actually selected |\n| `space_feed_limit_reached` | Whether `maxFeedItems` was reached |\n\n### Question expansion (when `maxFeedQuestionExpansions` > 0)\n\n| Field | Description |\n|-------|-------------|\n| `question_id` | The expanded question's ID |\n| `question_answer_count` / `question_answer_count_value` | Answer count, as shown and as a parsed number |\n| `question_view_count` / `question_view_count_value` | View count, as shown and as a parsed number |\n| `question_details` | Question description/details text |\n| `question_created_at` / `question_updated_at` | Question timestamps |\n\n### Contributor row (opt-in via `includeContributors`)\n\n| Field | Description |\n|-------|-------------|\n| `contributor_url` / `contributor_name` / `contributor_image_url` / `contributor_id` | The contributor's identity |\n| `contributor_role` / `role_label` / `role_source` | Their role and where that role label was found |\n\n### Discovery row (from `searchQueries`)\n\n| Field | Description |\n|-------|-------------|\n| `discovered_spaces` | Space links found by the query |\n| `discovered_entities` | Question/answer/profile/topic/post links found by the query |\n| `discovery_cap_reached` | Whether `maxDiscoveryResults` was reached |\n| `observed_tabs` | Tabs actually seen on the page |\n\n### Change tracking (when `stateStoreId` is set)\n\n| Field | Description |\n|-------|-------------|\n| `event_type` | `new`, `unchanged`, or `changed` |\n| `content_hash` / `previous_content_hash` | The row's current and prior content fingerprint |\n| `previous_snapshot_available` | Whether a prior snapshot existed to compare against |\n| `change_evidence` | Details of the comparison that produced `event_type` |\n| `field_change_summary` | Names of fields that changed, when `diffMode` includes a summary |\n| `previous_field_values` / `current_field_values` | Before/after values of changed fields, when `diffMode` is `field_values` |\n\n### Run diagnostics\n\n| Field | Description |\n|-------|-------------|\n| `scrape_duration_ms` / `run_duration_ms` | Time spent on this row and on the overall run |\n| `navigation_attempts` / `navigation_retries` / `navigation_retry_delays_seconds` | Navigation attempt and retry accounting |\n| `proxy_used` / `proxy_resolution_state` | Whether proxy was used and how it resolved |\n| `session_cookie_count` / `session_input_state` / `session_cookie_expiry_state` | Session/cookie accounting |\n| `request_delay_seconds` / `browser_locale` / `requested_result_types` | Request pacing and locale settings applied |\n| `records_emitted` / `source_pages_attempted` | How many rows and source pages this run covered |\n| `content_type_counts` / `access_state_counts` | Row counts broken down by type and access state |\n| `input_accounting` | How each input item was resolved |\n| `state_entries_pruned` / `state_retention_days` / `diff_mode` | State-store pruning and diff settings applied |\n| `manifest_version` | Version of this actor's output contract |\n| `space_scroll_attempts` / `space_scroll_state` | Scroll traversal accounting for the feed |\n| `space_load_more_attempts` / `space_load_more_clicks` / `space_load_more_state` | Load-more button traversal accounting |\n| `space_continuation_state` | Combined continuation-traversal evidence |\n| `contributor_limit_reached` | Whether `maxContributors` was reached |\n\n## Projection, depth and session notes\n\n- **Compact rows.** `outputFields` keeps only the fields you list; an empty list keeps the full row. Nested projection is supported with bounded dotted paths such as `topic_links.topic_name` or `discovered_entities.name`, and child identity/URL fields inside those collections are kept. Change evidence, state-store diagnostics, identity, access and source fields are never removed, and `output_projection` reports `full` or `selected`. `includeFieldEvidence` decides whether `field_sources`/`fields_present` stay on each row.\n- **Depth.** `scrapeDepth: \"overview\"` captures Space metadata and status only, with no feed, contributor, scroll or load-more work; `detail` (default) runs the capped monitoring traversal. `requested_depth`, `observed_depth` and `detail_expansion_state` are on every row, and `bounded` means a scroll or load-more cap was reached, not that the Space's whole history was read.\n- **Author credentials.** `feed_author_credentials` (and the shared `author_credentials`) carry a credential or tagline only when it is printed inside the feed card's own author block; ambiguous text is left out and it never verifies expertise.\n- **Session input.** Use structured `cookies` or the secret `cookieString` header (`name=value; name2=value2`). Structured cookies win on duplicate names, malformed pairs are ignored, and the raw header is never emitted or logged. This is an access input for content your account can already see, not a bypass guarantee.\n- **Exact field names.** Every output field this actor can emit is listed under [Output fields](#output-fields) above.\n\n## Fixture-backed examples (synthetic)\n\nTwo synthetic, trimmed rows that show the output shape; they are not live Space observations. The first is a Space row from a run with `maxItemsPerSource` set, the second is the status row for a Space that showed a login wall.\n\n```json\n{\"content_type\":\"space\",\"space_url\":\"https://example-space.quora.com/\",\"name\":\"Fixture Space\",\"space_visibility\":\"public\",\"follower_count\":\"12K\",\"follower_count_value\":12000,\"access_state\":\"public\",\"requested_depth\":\"detail\",\"observed_depth\":\"detail\",\"detail_expansion_state\":\"completed\",\"source_cap\":20,\"source_items_observed\":8,\"source_items_emitted\":8,\"source_cap_reached\":false,\"field_sources\":{\"space_visibility\":\"visible_dom_or_structured_data\",\"follower_count_value\":\"derived_signals\",\"access_state\":\"runtime_or_access\"}}\n```\n\n```json\n{\"content_type\":\"status\",\"access_state\":\"login_required\",\"http_status\":200,\"requested_depth\":\"detail\",\"observed_depth\":\"status\",\"detail_expansion_state\":\"blocked\",\"field_sources\":{\"access_state\":\"runtime_or_access\",\"http_status\":\"runtime_or_access\"}}\n```\n\n## Complete schema input inventory\n\n| Field | Type | Default | Description |\n|-------|------|---------|-------------|\n| `spaceUrls` | array | `[]` | Direct `/q/` Space routes or Space subdomain URLs to monitor |\n| `urls` | array | `[]` | Any public Quora URL (question, answer, profile, topic, or post) to monitor for content changes; requires `stateStoreId` |\n| `startUrls` | array | `[]` | Request-list objects for any public Quora URL, routed the same way as `spaceUrls`/`urls` |\n| `searchQueries` | array | `[]` | Native Quora search queries used to discover additional Space/entity links |\n| `maxDiscoveryResults` | integer | `20` | Maximum Space links returned per discovery query (1–500) |\n| `includeMetadata` | boolean | `true` | Emit a Space metadata row for each successfully observed Space |\n| `includeFeed` | boolean | `true` | Emit feed item rows |\n| `scrapeDepth` | select | `detail` | `overview` (metadata/status only) or `detail` (adds feed/contributor/scroll traversal) |\n| `feedTab` | select | `all` | Which feed tab to select: `all`, `posts`, `questions`, `top`, `unanswered`, `about`, or `rules` |\n| `includeContributors` | boolean | `false` | Emit contributor rows found inside explicitly labeled role regions |\n| `contributorRoles` | array | `[\"owner\",\"moderator\",\"admin\",\"contributor\"]` | Role labels accepted for contributor rows |\n| `maxFeedItems` | integer | `50` | Maximum feed rows per Space (0–5000) |\n| `maxContributors` | integer | `50` | Maximum contributor rows per Space (0–5000) |\n| `maxFeedQuestionExpansions` | integer | `0` | Number of question-type feed items to expand into full question fields, when `scrapeDepth` is `detail` (0–500) |\n| `includeFeedText` | boolean | `true` | Include visible feed text |\n| `includeMedia` | boolean | `false` | Include media URLs from feed cards |\n| `includeOutboundLinks` | boolean | `false` | Include outbound links from feed cards |\n| `includeRules` | boolean | `true` | Include Space rules/guidelines text |\n| `includeTopics` | boolean | `true` | Include Space topic links |\n| `includeSettings` | boolean | `false` | Include explicitly labeled Space settings/content-permission evidence |\n| `maxScrollAttempts` | integer | `5` | Maximum scroll attempts for feed traversal (0–20) |\n| `maxLoadMoreAttempts` | integer | `5` | Maximum \"load more\" button activations (0–20) |\n| `onlyNewItems` | boolean | `false` | Suppress unchanged rows; requires `stateStoreId` |\n| `includeUnchanged` | boolean | `true` | Keep unchanged rows when `onlyNewItems` is enabled |\n| `stateStoreId` | string | `\"\"` | Key-value store name used to remember previous snapshots; required for `onlyNewItems` or `urls` |\n| `stateRetentionDays` | integer | `0` | Age-based pruning for stored snapshots; `0` disables pruning (0–3650) |\n| `diffMode` | select | `hash_and_summary` | Change-evidence detail level: `hash_only`, `field_summary`, `field_values`, or `hash_and_summary` |\n| `maxItems` | integer | `0` | Global output row cap; `0` means no cap (0–50000) |\n| `requestDelay` | number | `2` | Delay between source pages, in seconds (0–30) |\n| `maxConcurrency` | integer | `1` | Source pages processed concurrently (1–3) |\n| `maxNavigationRetries` | integer | `2` | Retries for transient navigation failures (0–3) |\n| `language` | select | `auto` | Browser language hint; doesn't translate content |\n| `cookies` | array | `[]` | Optional structured session cookies |\n| `cookieString` | string | – | Optional `name=value; name2=value2` cookie header, parsed locally |\n| `proxyConfiguration` | proxy | RESIDENTIAL | Apify proxy configuration; defaults to the residential group for reliable access |\n| `outputFields` | array | `[]` | Optional allowlist of field names (including dotted nested paths) to keep in each row |\n| `includeFieldEvidence` | boolean | `true` | Keep `field_sources`/`fields_present` on each row |\n| `maxItemsPerSource` | integer | `0` | Maximum rows emitted per individual source URL/query; `0` means no per-source cap (0–5000) |\n\n## Example inputs\n\n### Example: monitor a Space's metadata and feed\n\n```json\n{\n  \"spaceUrls\": [\"https://cryptocurrency.quora.com/\"],\n  \"includeMetadata\": true,\n  \"includeFeed\": true,\n  \"maxFeedItems\": 50\n}\n```\n\n### Example: track changes on a specific question over time\n\n```json\n{\n  \"urls\": [\"https://www.quora.com/What-is-the-future-of-AI\"],\n  \"stateStoreId\": \"my-quora-watchlist\",\n  \"onlyNewItems\": true\n}\n```\n\n### Example: discover Spaces by topic and list their contributors\n\n```json\n{\n  \"searchQueries\": [\"machine learning\"],\n  \"includeContributors\": true,\n  \"maxContributors\": 20\n}\n```\n\n## Use cases\n\n- **Community monitoring** — get notified only when a Space you follow actually changes, instead of re-reading it every time.\n- **Research tracking** — watch a specific question or answer for edits over weeks or months.\n- **Topic discovery** — use search queries to surface Spaces and discussions around a subject you're researching.\n- **Moderator/owner mapping** — list the explicitly labeled roles in a community you're studying.\n- **Content audit trails** — keep a changed-fields history of a Space's rules or settings over time.\n\n## FAQ\n\n**Is this affiliated with Quora?**\nNo. This actor reads Quora's public pages and is not operated by or affiliated with Quora.\n\n**Do I need to log in?**\nNo for public content. Optional `cookies`/`cookieString` let you supply your own session if you want to monitor content that requires one, but this is not a guarantee of access to private content.\n\n**Why do I see a `status` row instead of data?**\nQuora returned something this actor can't read as content — a login wall, a Cloudflare challenge, a removed page, or a network error. The row reports `access_state` and `http_status` instead of guessing.\n\n**What's the difference between Space URLs and other Quora URLs?**\nSpace URLs (`/q/...` or a Space subdomain) get the full metadata/feed/contributor treatment. Any other Quora URL (question, answer, profile, topic, post) only gets a lighter title/content-hash change check via `urls`.\n\n**Why didn't a field like `follower_count` show up?**\nFields are only populated from explicit, visible evidence on the page. If a count or label isn't shown, the field is simply absent rather than guessed.\n\n**What does `onlyNewItems` actually suppress?**\nWith a `stateStoreId` set, rows whose content hasn't changed since the last run are dropped when `onlyNewItems` is `true`, unless `includeUnchanged` keeps them.\n\n**Can I get just a few specific fields back?**\nYes — `outputFields` lets you allowlist field names (including nested paths like `topic_links.topic_name`) for a compact row; identity, access and source-accounting fields always stay.\n\n**Does `scrapeDepth: overview` still check for changes?**\nYes for Space metadata, but it skips feed, contributor, scroll and load-more traversal, so you won't get feed-level change rows.\n",
    "actorDefinition": {
      "actorSpecification": 1,
      "name": "quora-space-activity-and-content-change-monitor",
      "title": "Quora Space Activity & Content Change Monitor",
      "description": "Monitor a Quora Space's metadata, feed and contributors, or track any public Quora question, answer, profile, topic or post for content changes between runs.",
      "version": "1.0",
      "buildTag": "latest",
      "meta": {
        "templateId": "python-playwright"
      },
      "input": {
        "title": "Quora Space Community Monitor Input",
        "type": "object",
        "schemaVersion": 1,
        "properties": {
          "spaceUrls": {
            "title": "Space URLs",
            "type": "array",
            "editor": "stringList",
            "items": {
              "type": "string"
            },
            "default": [],
            "prefill": [
              "https://cryptocurrency.quora.com/"
            ],
            "description": "Direct /q/ Space routes or Space subdomain URLs."
          },
          "urls": {
            "title": "Any Quora URLs (Entity-Agnostic Monitoring)",
            "type": "array",
            "editor": "stringList",
            "items": {
              "type": "string"
            },
            "default": [],
            "description": "Any public Quora URL (question, answer, profile, topic, or standalone post) to monitor for content-level changes (title/body changed) between runs. Space URLs are automatically routed to the richer Space-aware path below; every other Quora URL is monitored via the generic title/content-hash change mechanism. Requires stateStoreId."
          },
          "startUrls": {
            "title": "Start URLs",
            "type": "array",
            "editor": "requestListSources",
            "default": [],
            "description": "API-compatible request objects for any public Quora URL (Space, question, answer, profile, topic, or post); auto-routed by URL shape the same way as spaceUrls/urls."
          },
          "searchQueries": {
            "title": "Discovery Queries",
            "type": "array",
            "editor": "stringList",
            "items": {
              "type": "string"
            },
            "default": [],
            "description": "Native Quora search queries used for bounded Space-link and entity-link discovery evidence."
          },
          "maxDiscoveryResults": {
            "title": "Maximum Discovered Spaces",
            "type": "integer",
            "editor": "number",
            "default": 20,
            "minimum": 1,
            "maximum": 500,
            "description": "Maximum Space links emitted by each query discovery row."
          },
          "includeMetadata": {
            "title": "Include Metadata",
            "type": "boolean",
            "editor": "checkbox",
            "default": true,
            "prefill": true,
            "description": "Emit one Space metadata row per successfully observed Space."
          },
          "includeFeed": {
            "title": "Include Feed",
            "type": "boolean",
            "editor": "checkbox",
            "default": true,
            "prefill": true,
            "description": "Emit bounded visible feed item rows."
          },
          "scrapeDepth": {
            "title": "Scrape Depth",
            "type": "string",
            "enum": [
              "overview",
              "detail"
            ],
            "default": "detail",
            "prefill": "overview",
            "description": "Overview captures metadata/status only and disables feed, contributor, scroll, and load-more work. Detail preserves bounded monitoring traversal; it is not complete history."
          },
          "feedTab": {
            "title": "Requested Feed Tab",
            "type": "string",
            "enum": [
              "all",
              "posts",
              "questions",
              "top",
              "unanswered",
              "about",
              "rules"
            ],
            "default": "all",
            "editor": "select",
            "description": "Requested tab; only exact visible labels are selected, and unavailable tabs produce no feed rows."
          },
          "includeContributors": {
            "title": "Include Contributors",
            "type": "boolean",
            "editor": "checkbox",
            "default": false,
            "prefill": false,
            "description": "Emit only contributors found inside explicitly labeled role regions."
          },
          "contributorRoles": {
            "title": "Contributor Roles",
            "type": "array",
            "editor": "stringList",
            "items": {
              "type": "string"
            },
            "default": [
              "owner",
              "moderator",
              "admin",
              "contributor"
            ],
            "description": "Role labels accepted for contributor rows."
          },
          "maxFeedItems": {
            "title": "Maximum Feed Items",
            "type": "integer",
            "editor": "number",
            "default": 50,
            "minimum": 0,
            "maximum": 5000,
            "description": "Maximum feed rows per Space."
          },
          "maxContributors": {
            "title": "Maximum Contributors",
            "type": "integer",
            "editor": "number",
            "default": 50,
            "minimum": 0,
            "maximum": 5000,
            "description": "Maximum contributor rows per Space."
          },
          "maxFeedQuestionExpansions": {
            "title": "Maximum Feed Question Expansions",
            "type": "integer",
            "editor": "number",
            "default": 0,
            "minimum": 0,
            "maximum": 500,
            "prefill": 0,
            "description": "When Scrape Depth is detail, bounded number of question-type feed items to open and expand into full question fields (question_id, question_answer_count, question_view_count, question_details, question_created_at, question_updated_at). Zero keeps the feed-digest-only behavior."
          },
          "includeFeedText": {
            "title": "Include Feed Text",
            "type": "boolean",
            "editor": "checkbox",
            "default": true,
            "prefill": true,
            "description": "Include visible feed text evidence."
          },
          "includeMedia": {
            "title": "Include Media",
            "type": "boolean",
            "editor": "checkbox",
            "default": false,
            "prefill": false,
            "description": "Include visible media URLs when present."
          },
          "includeOutboundLinks": {
            "title": "Include Outbound Links",
            "type": "boolean",
            "editor": "checkbox",
            "default": false,
            "prefill": false,
            "description": "Include bounded outbound links from feed cards."
          },
          "includeRules": {
            "title": "Include Rules",
            "type": "boolean",
            "editor": "checkbox",
            "default": true,
            "prefill": true,
            "description": "Include explicitly headed rules or guidelines text."
          },
          "includeTopics": {
            "title": "Include Topics",
            "type": "boolean",
            "editor": "checkbox",
            "default": true,
            "prefill": true,
            "description": "Include visible topic links."
          },
          "includeSettings": {
            "title": "Include Explicit Space Settings",
            "type": "boolean",
            "editor": "checkbox",
            "default": false,
            "prefill": false,
            "description": "Opt in to explicitly labeled public/authorized Space settings and content-permission evidence; missing settings remain not_observed and admin-only submission queues are never scraped."
          },
          "maxScrollAttempts": {
            "title": "Maximum Scroll Attempts",
            "type": "integer",
            "editor": "number",
            "default": 5,
            "minimum": 0,
            "maximum": 20,
            "description": "Bounded scroll budget for visible feed traversal; termination state is reported per run."
          },
          "maxLoadMoreAttempts": {
            "title": "Maximum Load More Attempts",
            "type": "integer",
            "editor": "number",
            "default": 5,
            "minimum": 0,
            "maximum": 20,
            "description": "Bounded attempts to activate visible feed load-more controls; click and termination state are reported."
          },
          "onlyNewItems": {
            "title": "Only New Items",
            "type": "boolean",
            "editor": "checkbox",
            "default": false,
            "prefill": false,
            "description": "Suppress unchanged state events when configured with a state store."
          },
          "includeUnchanged": {
            "title": "Include Unchanged",
            "type": "boolean",
            "editor": "checkbox",
            "default": true,
            "prefill": true,
            "description": "Keep unchanged event rows when onlyNewItems is enabled."
          },
          "stateStoreId": {
            "title": "State Store ID",
            "type": "string",
            "editor": "textfield",
            "default": "",
            "description": "Key-value store used for bounded feed/Space/generic-URL snapshots and change evidence. Required when onlyNewItems is enabled, and required whenever urls (entity-agnostic monitoring) is populated."
          },
          "stateRetentionDays": {
            "title": "State Retention Days",
            "type": "integer",
            "editor": "number",
            "default": 0,
            "minimum": 0,
            "maximum": 3650,
            "description": "Opt-in age-based pruning for unseen state snapshots; zero disables pruning."
          },
          "diffMode": {
            "title": "Diff Mode",
            "type": "string",
            "enum": [
              "hash_only",
              "field_summary",
              "field_values",
              "hash_and_summary"
            ],
            "default": "hash_and_summary",
            "editor": "select",
            "description": "Change evidence detail level."
          },
          "maxItems": {
            "title": "Maximum Output Rows",
            "type": "integer",
            "editor": "number",
            "default": 0,
            "minimum": 0,
            "maximum": 50000,
            "description": "Global output row cap; zero means no explicit cap."
          },
          "requestDelay": {
            "title": "Request Delay",
            "type": "number",
            "editor": "number",
            "default": 2,
            "minimum": 0,
            "maximum": 30,
            "description": "Delay between source pages in seconds."
          },
          "maxConcurrency": {
            "title": "Maximum Concurrency",
            "type": "integer",
            "editor": "number",
            "default": 1,
            "minimum": 1,
            "maximum": 3,
            "description": "Bounded number of source pages processed concurrently."
          },
          "maxNavigationRetries": {
            "title": "Maximum Navigation Retries",
            "type": "integer",
            "editor": "number",
            "default": 2,
            "minimum": 0,
            "maximum": 3,
            "description": "Bounded retries for transient navigation failures; retry counts and delays are reported."
          },
          "language": {
            "title": "Browser Language",
            "type": "string",
            "enum": [
              "auto",
              "en",
              "es",
              "fr",
              "de",
              "it",
              "pt",
              "ja",
              "ko",
              "zh",
              "hi",
              "tr",
              "ru",
              "en-US",
              "en-GB",
              "de-DE",
              "fr-FR",
              "es-ES",
              "pt-BR",
              "it-IT",
              "ja-JP",
              "ko-KR",
              "zh-CN",
              "zh-TW",
              "hi-IN",
              "tr-TR",
              "ru-RU"
            ],
            "default": "auto",
            "editor": "select",
            "description": "Browser language hint. Short language codes and supported regional aliases are accepted and normalize to the short code; auto keeps the actor default. This does not translate content or prove access."
          },
          "cookies": {
            "title": "Cookies",
            "type": "array",
            "editor": "json",
            "items": {
              "type": "object"
            },
            "default": [],
            "description": "Optional user-supplied session cookies."
          },
          "cookieString": {
            "title": "Optional Cookie Header String",
            "type": "string",
            "editor": "textfield",
            "isSecret": true,
            "description": "Optional browser-exported name=value; name2=value2 header. Parsed locally into authorized session cookies; the raw header is never emitted or logged."
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "editor": "proxy",
            "default": {
              "useApifyProxy": true,
              "apifyProxyGroups": [
                "RESIDENTIAL"
              ]
            },
            "prefill": {
              "useApifyProxy": true,
              "apifyProxyGroups": [
                "RESIDENTIAL"
              ]
            },
            "description": "Apify proxy configuration. Defaults to the RESIDENTIAL proxy group, which real-world testing showed is required for reliable access to Quora's Cloudflare-protected pages (the un-grouped AUTO/datacenter tier is measurably blocked/redirected on a meaningful share of requests); the actor also forces RESIDENTIAL whenever a group is left unspecified. Choose a different group, or disable the proxy, only if you understand the reliability tradeoff."
          },
          "outputFields": {
            "title": "Output Fields (Optional)",
            "type": "array",
            "editor": "stringList",
            "items": {
              "type": "string"
            },
            "default": [],
            "description": "Optional allowlist for compact rows, including bounded dotted paths through nested collections (for example answers.answer_text, comments.comment_text, feed.feed_text, or contributors.contributor_name where applicable). Child identity/URL fields and the actor identity, access/status, source, traversal, graph, filter, and parser-envelope fields remain protected.",
            "maxItems": 3000
          },
          "includeFieldEvidence": {
            "title": "Include Field Evidence",
            "type": "boolean",
            "editor": "checkbox",
            "default": true,
            "prefill": true,
            "description": "Retain field_sources and fields_present after projection; disabling removes only these evidence maps."
          },
          "maxItemsPerSource": {
            "title": "Maximum Items Per Source",
            "type": "integer",
            "description": "Maximum semantic records emitted from each direct URL, query, or typed source. Status and run-manifest rows are preserved. Use 0 for no per-source cap.",
            "default": 0,
            "minimum": 0,
            "maximum": 5000,
            "prefill": 0
          }
        }
      },
      "readme": "# Quora Space Activity & Content Change Monitor\n\nThis actor watches public Quora Spaces (topic communities) and individual Quora pages — questions, answers, profiles, topics, or posts — for content-level changes between runs. Point it at one or more Space URLs for the richer community-level view (metadata, feed, contributors), or at any other public Quora URL for a lighter title/content change check. Run it on a schedule and it only reports what actually changed.\n\n## What this actor does\n\n- Monitors a Quora Space's metadata (name, description, follower/member/post counts, rules, topics) and reports whether it changed since the last run.\n- Monitors a Space's visible feed (posts, questions, answers) and, optionally, the people with an explicitly labeled role in that Space (owner, moderator, admin, contributor).\n- Monitors any other public Quora URL — a question, answer, profile, topic, or standalone post — for title/content changes via `urls`.\n- Discovers additional Space and entity links from native Quora search queries, within a bounded cap.\n- Reports an explicit status row (login-required, Cloudflare-blocked, removed, etc.) instead of guessing when a page can't be read, and every row only contains the fields this actor actually observed — nothing is filled in with a placeholder.\n\n## Output fields\n\nEvery run emits rows that share a common set of identity/status fields, plus extra fields depending on what kind of row it is (Space metadata, feed item, contributor, discovery result, generic URL event, or run/status row).\n\n### Every row\n\n| Field | Description |\n|-------|-------------|\n| `content_type` | What kind of row this is, e.g. `space`, `space_feed_item`, `space_contributor`, `space_discovery`, `monitor_event`, `status` |\n| `record_id` | Stable identifier for this row |\n| `url` / `source_url` | The row's own URL and the URL it was observed from |\n| `final_url` | URL after following any redirects |\n| `title` | Unified human-readable label for the row (Space name, feed item title, contributor name, etc.) |\n| `date_precision` | `exact` when a machine-readable date was found, `relative` when only a label like \"3h ago\" was available |\n| `access_state` | What access state was observed, e.g. `public`, `login_required`, `cloudflare`, `unavailable`, `network_error` |\n| `http_status` | HTTP status code observed |\n| `error` | Error description, when the fetch failed |\n| `scrape_timestamp` | When this row was captured |\n| `matched_input` / `matched_input_kind` | The exact input URL or search query that produced this row |\n| `source_observations` / `source_observation_count` | Bounded history of exact URLs/queries retained for this Space |\n| `source_query` / `source_kind` | The query or source type that produced this row, when applicable |\n| `requested_depth` / `observed_depth` | The traversal depth you asked for vs. what was actually achieved |\n| `detail_expansion_state` | Whether detail-level traversal completed, was bounded, blocked, or not applicable |\n| `localized_numeric_fields` | Parsed numeric values for any `*_count`/`*_count_text` field present on the row |\n| `normalized_date_fields` | UTC-normalized companions for every date field present on the row |\n| `date_interpretations` | Bounded interval interpretation of a relative date label, when present |\n| `field_sources` / `fields_present` | Evidence of where each field's value came from and which fields are present on this row |\n| `parser_strategy` / `parser_version` | Which extraction path and version produced this row |\n| `output_projection` | `full` or `selected`, depending on whether `outputFields` filtered this row |\n| `max_items_per_source` / `source_cap` / `source_items_observed` / `source_items_emitted` / `source_cap_reached` | The configured per-source cap and how it applied to this row's source |\n\n### Space metadata row\n\n| Field | Description |\n|-------|-------------|\n| `space_url` / `space_id` / `canonical_url` | The Space's URL, ID and canonical link |\n| `name` / `description` | Space name and description |\n| `image_url` | Space image URL |\n| `created_at` / `updated_at` | Space creation/update timestamps, when shown |\n| `space_visibility` / `space_type` | `public`/`private`/`restricted`/`unknown`, and the Space type |\n| `follower_count` / `follower_count_value` | Follower count, as shown and as a parsed number |\n| `member_count` / `member_count_value` | Member count, as shown and as a parsed number |\n| `post_count` / `post_count_value` | Post count, as shown and as a parsed number |\n| `contributor_count` / `contributor_count_value` | Contributor count, as shown and as a parsed number |\n| `owner_name` / `owner_url` | Space owner's name and profile link |\n| `website_url` | Linked external website, when shown |\n| `moderator_records` | Moderators found in an explicitly labeled moderator region |\n| `topics` / `topic_links` | Topic names, and topic name/URL pairs |\n| `rules` | Space rules/guidelines text, when visible |\n\n### Space settings (opt-in via `includeSettings`)\n\n| Field | Description |\n|-------|-------------|\n| `space_settings_state` | Whether the settings probe was skipped, found nothing, or observed settings |\n| `space_allowed_content_types` | Explicitly named content types the Space allows, e.g. posts, questions |\n| `space_comment_permission` | Who can comment, when explicitly stated |\n| `space_submission_policy` | Who can submit content, when explicitly stated |\n| `space_content_requirements` | Raw lines describing content/link/text requirements |\n| `space_distribution_state` | Distribution scope, when explicitly stated |\n| `space_contributor_request_state` | Whether contributor requests are enabled or disabled |\n| `space_settings_text` | Raw text from the labeled settings region |\n\n### Feed item row\n\n| Field | Description |\n|-------|-------------|\n| `feed_url` / `feed_type` / `feed_title` / `feed_text` | The feed item's link, type, title and visible text |\n| `feed_author_name` / `feed_author_url` / `feed_author_image_url` / `feed_author_id` | The feed item author's identity |\n| `feed_author_credentials` / `author_credentials` | Credential or tagline text shown next to the author, when present |\n| `feed_author_is_verified` / `feed_author_is_anonymous` | Positive-only markers when an explicit verified badge or Anonymous label is visible |\n| `feed_created_at` / `feed_timestamp` | The feed item's date, machine-readable or as a relative label |\n| `feed_age_days` / `feed_age_state` | Age in days, computed only when a machine-readable date was available |\n| `media_urls` / `image_urls` / `video_urls` | Media attached to the feed item, when `includeMedia` is on |\n| `outbound_links` | Outbound links found on the feed card, when `includeOutboundLinks` is on |\n| `feed_tab` / `observed_feed_tab` | The tab you requested and whether it was actually selected |\n| `space_feed_limit_reached` | Whether `maxFeedItems` was reached |\n\n### Question expansion (when `maxFeedQuestionExpansions` > 0)\n\n| Field | Description |\n|-------|-------------|\n| `question_id` | The expanded question's ID |\n| `question_answer_count` / `question_answer_count_value` | Answer count, as shown and as a parsed number |\n| `question_view_count` / `question_view_count_value` | View count, as shown and as a parsed number |\n| `question_details` | Question description/details text |\n| `question_created_at` / `question_updated_at` | Question timestamps |\n\n### Contributor row (opt-in via `includeContributors`)\n\n| Field | Description |\n|-------|-------------|\n| `contributor_url` / `contributor_name` / `contributor_image_url` / `contributor_id` | The contributor's identity |\n| `contributor_role` / `role_label` / `role_source` | Their role and where that role label was found |\n\n### Discovery row (from `searchQueries`)\n\n| Field | Description |\n|-------|-------------|\n| `discovered_spaces` | Space links found by the query |\n| `discovered_entities` | Question/answer/profile/topic/post links found by the query |\n| `discovery_cap_reached` | Whether `maxDiscoveryResults` was reached |\n| `observed_tabs` | Tabs actually seen on the page |\n\n### Change tracking (when `stateStoreId` is set)\n\n| Field | Description |\n|-------|-------------|\n| `event_type` | `new`, `unchanged`, or `changed` |\n| `content_hash` / `previous_content_hash` | The row's current and prior content fingerprint |\n| `previous_snapshot_available` | Whether a prior snapshot existed to compare against |\n| `change_evidence` | Details of the comparison that produced `event_type` |\n| `field_change_summary` | Names of fields that changed, when `diffMode` includes a summary |\n| `previous_field_values` / `current_field_values` | Before/after values of changed fields, when `diffMode` is `field_values` |\n\n### Run diagnostics\n\n| Field | Description |\n|-------|-------------|\n| `scrape_duration_ms` / `run_duration_ms` | Time spent on this row and on the overall run |\n| `navigation_attempts` / `navigation_retries` / `navigation_retry_delays_seconds` | Navigation attempt and retry accounting |\n| `proxy_used` / `proxy_resolution_state` | Whether proxy was used and how it resolved |\n| `session_cookie_count` / `session_input_state` / `session_cookie_expiry_state` | Session/cookie accounting |\n| `request_delay_seconds` / `browser_locale` / `requested_result_types` | Request pacing and locale settings applied |\n| `records_emitted` / `source_pages_attempted` | How many rows and source pages this run covered |\n| `content_type_counts` / `access_state_counts` | Row counts broken down by type and access state |\n| `input_accounting` | How each input item was resolved |\n| `state_entries_pruned` / `state_retention_days` / `diff_mode` | State-store pruning and diff settings applied |\n| `manifest_version` | Version of this actor's output contract |\n| `space_scroll_attempts` / `space_scroll_state` | Scroll traversal accounting for the feed |\n| `space_load_more_attempts` / `space_load_more_clicks` / `space_load_more_state` | Load-more button traversal accounting |\n| `space_continuation_state` | Combined continuation-traversal evidence |\n| `contributor_limit_reached` | Whether `maxContributors` was reached |\n\n## Projection, depth and session notes\n\n- **Compact rows.** `outputFields` keeps only the fields you list; an empty list keeps the full row. Nested projection is supported with bounded dotted paths such as `topic_links.topic_name` or `discovered_entities.name`, and child identity/URL fields inside those collections are kept. Change evidence, state-store diagnostics, identity, access and source fields are never removed, and `output_projection` reports `full` or `selected`. `includeFieldEvidence` decides whether `field_sources`/`fields_present` stay on each row.\n- **Depth.** `scrapeDepth: \"overview\"` captures Space metadata and status only, with no feed, contributor, scroll or load-more work; `detail` (default) runs the capped monitoring traversal. `requested_depth`, `observed_depth` and `detail_expansion_state` are on every row, and `bounded` means a scroll or load-more cap was reached, not that the Space's whole history was read.\n- **Author credentials.** `feed_author_credentials` (and the shared `author_credentials`) carry a credential or tagline only when it is printed inside the feed card's own author block; ambiguous text is left out and it never verifies expertise.\n- **Session input.** Use structured `cookies` or the secret `cookieString` header (`name=value; name2=value2`). Structured cookies win on duplicate names, malformed pairs are ignored, and the raw header is never emitted or logged. This is an access input for content your account can already see, not a bypass guarantee.\n- **Exact field names.** Every output field this actor can emit is listed under [Output fields](#output-fields) above.\n\n## Fixture-backed examples (synthetic)\n\nTwo synthetic, trimmed rows that show the output shape; they are not live Space observations. The first is a Space row from a run with `maxItemsPerSource` set, the second is the status row for a Space that showed a login wall.\n\n```json\n{\"content_type\":\"space\",\"space_url\":\"https://example-space.quora.com/\",\"name\":\"Fixture Space\",\"space_visibility\":\"public\",\"follower_count\":\"12K\",\"follower_count_value\":12000,\"access_state\":\"public\",\"requested_depth\":\"detail\",\"observed_depth\":\"detail\",\"detail_expansion_state\":\"completed\",\"source_cap\":20,\"source_items_observed\":8,\"source_items_emitted\":8,\"source_cap_reached\":false,\"field_sources\":{\"space_visibility\":\"visible_dom_or_structured_data\",\"follower_count_value\":\"derived_signals\",\"access_state\":\"runtime_or_access\"}}\n```\n\n```json\n{\"content_type\":\"status\",\"access_state\":\"login_required\",\"http_status\":200,\"requested_depth\":\"detail\",\"observed_depth\":\"status\",\"detail_expansion_state\":\"blocked\",\"field_sources\":{\"access_state\":\"runtime_or_access\",\"http_status\":\"runtime_or_access\"}}\n```\n\n## Complete schema input inventory\n\n| Field | Type | Default | Description |\n|-------|------|---------|-------------|\n| `spaceUrls` | array | `[]` | Direct `/q/` Space routes or Space subdomain URLs to monitor |\n| `urls` | array | `[]` | Any public Quora URL (question, answer, profile, topic, or post) to monitor for content changes; requires `stateStoreId` |\n| `startUrls` | array | `[]` | Request-list objects for any public Quora URL, routed the same way as `spaceUrls`/`urls` |\n| `searchQueries` | array | `[]` | Native Quora search queries used to discover additional Space/entity links |\n| `maxDiscoveryResults` | integer | `20` | Maximum Space links returned per discovery query (1–500) |\n| `includeMetadata` | boolean | `true` | Emit a Space metadata row for each successfully observed Space |\n| `includeFeed` | boolean | `true` | Emit feed item rows |\n| `scrapeDepth` | select | `detail` | `overview` (metadata/status only) or `detail` (adds feed/contributor/scroll traversal) |\n| `feedTab` | select | `all` | Which feed tab to select: `all`, `posts`, `questions`, `top`, `unanswered`, `about`, or `rules` |\n| `includeContributors` | boolean | `false` | Emit contributor rows found inside explicitly labeled role regions |\n| `contributorRoles` | array | `[\"owner\",\"moderator\",\"admin\",\"contributor\"]` | Role labels accepted for contributor rows |\n| `maxFeedItems` | integer | `50` | Maximum feed rows per Space (0–5000) |\n| `maxContributors` | integer | `50` | Maximum contributor rows per Space (0–5000) |\n| `maxFeedQuestionExpansions` | integer | `0` | Number of question-type feed items to expand into full question fields, when `scrapeDepth` is `detail` (0–500) |\n| `includeFeedText` | boolean | `true` | Include visible feed text |\n| `includeMedia` | boolean | `false` | Include media URLs from feed cards |\n| `includeOutboundLinks` | boolean | `false` | Include outbound links from feed cards |\n| `includeRules` | boolean | `true` | Include Space rules/guidelines text |\n| `includeTopics` | boolean | `true` | Include Space topic links |\n| `includeSettings` | boolean | `false` | Include explicitly labeled Space settings/content-permission evidence |\n| `maxScrollAttempts` | integer | `5` | Maximum scroll attempts for feed traversal (0–20) |\n| `maxLoadMoreAttempts` | integer | `5` | Maximum \"load more\" button activations (0–20) |\n| `onlyNewItems` | boolean | `false` | Suppress unchanged rows; requires `stateStoreId` |\n| `includeUnchanged` | boolean | `true` | Keep unchanged rows when `onlyNewItems` is enabled |\n| `stateStoreId` | string | `\"\"` | Key-value store name used to remember previous snapshots; required for `onlyNewItems` or `urls` |\n| `stateRetentionDays` | integer | `0` | Age-based pruning for stored snapshots; `0` disables pruning (0–3650) |\n| `diffMode` | select | `hash_and_summary` | Change-evidence detail level: `hash_only`, `field_summary`, `field_values`, or `hash_and_summary` |\n| `maxItems` | integer | `0` | Global output row cap; `0` means no cap (0–50000) |\n| `requestDelay` | number | `2` | Delay between source pages, in seconds (0–30) |\n| `maxConcurrency` | integer | `1` | Source pages processed concurrently (1–3) |\n| `maxNavigationRetries` | integer | `2` | Retries for transient navigation failures (0–3) |\n| `language` | select | `auto` | Browser language hint; doesn't translate content |\n| `cookies` | array | `[]` | Optional structured session cookies |\n| `cookieString` | string | – | Optional `name=value; name2=value2` cookie header, parsed locally |\n| `proxyConfiguration` | proxy | RESIDENTIAL | Apify proxy configuration; defaults to the residential group for reliable access |\n| `outputFields` | array | `[]` | Optional allowlist of field names (including dotted nested paths) to keep in each row |\n| `includeFieldEvidence` | boolean | `true` | Keep `field_sources`/`fields_present` on each row |\n| `maxItemsPerSource` | integer | `0` | Maximum rows emitted per individual source URL/query; `0` means no per-source cap (0–5000) |\n\n## Example inputs\n\n### Example: monitor a Space's metadata and feed\n\n```json\n{\n  \"spaceUrls\": [\"https://cryptocurrency.quora.com/\"],\n  \"includeMetadata\": true,\n  \"includeFeed\": true,\n  \"maxFeedItems\": 50\n}\n```\n\n### Example: track changes on a specific question over time\n\n```json\n{\n  \"urls\": [\"https://www.quora.com/What-is-the-future-of-AI\"],\n  \"stateStoreId\": \"my-quora-watchlist\",\n  \"onlyNewItems\": true\n}\n```\n\n### Example: discover Spaces by topic and list their contributors\n\n```json\n{\n  \"searchQueries\": [\"machine learning\"],\n  \"includeContributors\": true,\n  \"maxContributors\": 20\n}\n```\n\n## Use cases\n\n- **Community monitoring** — get notified only when a Space you follow actually changes, instead of re-reading it every time.\n- **Research tracking** — watch a specific question or answer for edits over weeks or months.\n- **Topic discovery** — use search queries to surface Spaces and discussions around a subject you're researching.\n- **Moderator/owner mapping** — list the explicitly labeled roles in a community you're studying.\n- **Content audit trails** — keep a changed-fields history of a Space's rules or settings over time.\n\n## FAQ\n\n**Is this affiliated with Quora?**\nNo. This actor reads Quora's public pages and is not operated by or affiliated with Quora.\n\n**Do I need to log in?**\nNo for public content. Optional `cookies`/`cookieString` let you supply your own session if you want to monitor content that requires one, but this is not a guarantee of access to private content.\n\n**Why do I see a `status` row instead of data?**\nQuora returned something this actor can't read as content — a login wall, a Cloudflare challenge, a removed page, or a network error. The row reports `access_state` and `http_status` instead of guessing.\n\n**What's the difference between Space URLs and other Quora URLs?**\nSpace URLs (`/q/...` or a Space subdomain) get the full metadata/feed/contributor treatment. Any other Quora URL (question, answer, profile, topic, post) only gets a lighter title/content-hash change check via `urls`.\n\n**Why didn't a field like `follower_count` show up?**\nFields are only populated from explicit, visible evidence on the page. If a count or label isn't shown, the field is simply absent rather than guessed.\n\n**What does `onlyNewItems` actually suppress?**\nWith a `stateStoreId` set, rows whose content hasn't changed since the last run are dropped when `onlyNewItems` is `true`, unless `includeUnchanged` keeps them.\n\n**Can I get just a few specific fields back?**\nYes — `outputFields` lets you allowlist field names (including nested paths like `topic_links.topic_name`) for a compact row; identity, access and source-accounting fields always stay.\n\n**Does `scrapeDepth: overview` still check for changes?**\nYes for Space metadata, but it skips feed, contributor, scroll and load-more traversal, so you won't get feed-level change rows.\n",
      "output": {
        "actorOutputSchemaVersion": 1,
        "title": "Quora Space Activity & Content Change Monitor Output",
        "description": "Quora Space metadata, feed, contributor and content-change rows with run diagnostics.",
        "type": "object",
        "properties": {
          "results": {
            "type": "string",
            "title": "Results",
            "description": "All records from the run, in the default dataset.",
            "template": "{{links.apiDefaultDatasetUrl}}/items"
          }
        }
      },
      "dockerfile": "./Dockerfile",
      "storages": {
        "dataset": {
          "actorSpecification": 1,
          "title": "Quora Space Community Monitor Results",
          "views": {
            "overview": {
              "title": "Space community changes",
              "transformation": {
                "fields": [
                  "content_type",
                  "parser_strategy",
                  "parser_version",
                  "field_sources",
                  "fields_present",
                  "final_url",
                  "http_status",
                  "error",
                  "scrape_duration_ms",
                  "navigation_attempts",
                  "navigation_retries",
                  "proxy_resolution_state",
                  "session_input_state",
                  "browser_locale",
                  "navigation_retry_delays_seconds",
                  "records_emitted",
                  "input_accounting",
                  "session_cookie_count",
                  "session_cookie_expiry_state",
                  "run_duration_ms",
                  "proxy_used",
                  "request_delay_seconds",
                  "requested_result_types",
                  "source_pages_attempted",
                  "content_type_counts",
                  "access_state_counts",
                  "manifest_version",
                  "canonical_url",
                  "contributor_limit_reached",
                  "requested_depth",
                  "observed_depth",
                  "detail_expansion_state",
                  "output_projection",
                  "record_id",
                  "name",
                  "description",
                  "topics",
                  "observed_tabs",
                  "discovered_spaces",
                  "discovery_cap_reached",
                  "space_url",
                  "space_id",
                  "image_url",
                  "created_at",
                  "updated_at",
                  "topic_links",
                  "space_visibility",
                  "space_type",
                  "space_settings_state",
                  "space_allowed_content_types",
                  "space_comment_permission",
                  "space_submission_policy",
                  "space_content_requirements",
                  "space_distribution_state",
                  "space_contributor_request_state",
                  "space_settings_text",
                  "website_url",
                  "rules",
                  "follower_count",
                  "follower_count_value",
                  "member_count",
                  "member_count_value",
                  "post_count",
                  "post_count_value",
                  "contributor_count",
                  "contributor_count_value",
                  "owner_name",
                  "owner_url",
                  "moderator_records",
                  "space_scroll_state",
                  "space_scroll_attempts",
                  "space_load_more_state",
                  "space_load_more_attempts",
                  "space_load_more_clicks",
                  "space_continuation_state",
                  "event_type",
                  "feed_type",
                  "feed_title",
                  "feed_text",
                  "feed_url",
                  "feed_author_name",
                  "feed_author_url",
                  "feed_author_image_url",
                  "feed_author_id",
                  "feed_author_credentials",
                  "feed_author_is_verified",
                  "feed_author_is_anonymous",
                  "author_credentials",
                  "feed_created_at",
                  "feed_age_days",
                  "feed_age_state",
                  "feed_timestamp",
                  "body_text",
                  "media_urls",
                  "image_urls",
                  "video_urls",
                  "outbound_links",
                  "contributor_name",
                  "contributor_url",
                  "contributor_image_url",
                  "contributor_id",
                  "contributor_role",
                  "role_label",
                  "role_source",
                  "change_evidence",
                  "access_state",
                  "feed_tab",
                  "observed_feed_tab",
                  "space_feed_limit_reached",
                  "url",
                  "scrape_timestamp",
                  "max_items_per_source",
                  "source_cap",
                  "source_items_observed",
                  "source_items_emitted",
                  "source_cap_reached",
                  "source_url",
                  "source_query",
                  "source_kind",
                  "matched_input",
                  "matched_input_kind",
                  "source_observations",
                  "source_observation_count",
                  "content_hash",
                  "previous_content_hash",
                  "previous_snapshot_available",
                  "state_entries_pruned",
                  "state_retention_days",
                  "diff_mode",
                  "title",
                  "date_precision",
                  "discovered_entities",
                  "localized_numeric_fields",
                  "normalized_date_fields",
                  "date_interpretations",
                  "field_change_summary",
                  "previous_field_values",
                  "current_field_values",
                  "question_id",
                  "question_answer_count",
                  "question_answer_count_value",
                  "question_view_count",
                  "question_view_count_value",
                  "question_details",
                  "question_created_at",
                  "question_updated_at"
                ]
              },
              "display": {
                "component": "table",
                "properties": {
                  "content_type": {
                    "label": "Type",
                    "format": "text"
                  },
                  "parser_strategy": {
                    "label": "Parser strategy",
                    "format": "text"
                  },
                  "parser_version": {
                    "label": "Parser version",
                    "format": "text"
                  },
                  "field_sources": {
                    "label": "Field sources",
                    "format": "json"
                  },
                  "fields_present": {
                    "label": "Fields present",
                    "format": "json"
                  },
                  "final_url": {
                    "label": "Final URL",
                    "format": "link"
                  },
                  "http_status": {
                    "label": "HTTP status",
                    "format": "number"
                  },
                  "error": {
                    "label": "Error",
                    "format": "text"
                  },
                  "scrape_duration_ms": {
                    "label": "Duration (ms)",
                    "format": "number"
                  },
                  "navigation_attempts": {
                    "label": "Navigation attempts",
                    "format": "number"
                  },
                  "navigation_retries": {
                    "label": "Navigation retries",
                    "format": "number"
                  },
                  "proxy_resolution_state": {
                    "label": "Proxy state",
                    "format": "text"
                  },
                  "session_input_state": {
                    "label": "Session input",
                    "format": "text"
                  },
                  "browser_locale": {
                    "label": "Browser locale",
                    "format": "text"
                  },
                  "navigation_retry_delays_seconds": {
                    "label": "Retry delays",
                    "format": "json"
                  },
                  "records_emitted": {
                    "label": "Records emitted",
                    "format": "number"
                  },
                  "input_accounting": {
                    "label": "Input accounting",
                    "format": "json"
                  },
                  "session_cookie_count": {
                    "label": "Session cookie count",
                    "format": "number"
                  },
                  "session_cookie_expiry_state": {
                    "label": "Cookie expiry",
                    "format": "text"
                  },
                  "run_duration_ms": {
                    "label": "Run duration (ms)",
                    "format": "number"
                  },
                  "proxy_used": {
                    "label": "Proxy used",
                    "format": "boolean"
                  },
                  "request_delay_seconds": {
                    "label": "Request delay (s)",
                    "format": "number"
                  },
                  "requested_result_types": {
                    "label": "Requested result types",
                    "format": "json"
                  },
                  "source_pages_attempted": {
                    "label": "Source pages attempted",
                    "format": "number"
                  },
                  "content_type_counts": {
                    "label": "Content type counts",
                    "format": "json"
                  },
                  "access_state_counts": {
                    "label": "Access state counts",
                    "format": "json"
                  },
                  "manifest_version": {
                    "label": "Manifest version",
                    "format": "text"
                  },
                  "canonical_url": {
                    "label": "Canonical URL",
                    "format": "link"
                  },
                  "contributor_limit_reached": {
                    "label": "Contributor limit reached",
                    "format": "boolean"
                  },
                  "requested_depth": {
                    "label": "Requested depth",
                    "format": "text"
                  },
                  "observed_depth": {
                    "label": "Observed depth",
                    "format": "text"
                  },
                  "detail_expansion_state": {
                    "label": "Expansion state",
                    "format": "text"
                  },
                  "name": {
                    "label": "Space",
                    "format": "text"
                  },
                  "space_url": {
                    "label": "Space URL",
                    "format": "link"
                  },
                  "space_id": {
                    "label": "Space ID",
                    "format": "text"
                  },
                  "image_url": {
                    "label": "Image",
                    "format": "link"
                  },
                  "created_at": {
                    "label": "Created",
                    "format": "date"
                  },
                  "updated_at": {
                    "label": "Updated",
                    "format": "date"
                  },
                  "topic_links": {
                    "label": "Topic links",
                    "format": "json"
                  },
                  "space_visibility": {
                    "label": "Visibility",
                    "format": "text"
                  },
                  "space_type": {
                    "label": "Space type",
                    "format": "text"
                  },
                  "space_settings_state": {
                    "label": "Settings evidence",
                    "format": "text"
                  },
                  "space_allowed_content_types": {
                    "label": "Allowed content types",
                    "format": "json"
                  },
                  "space_comment_permission": {
                    "label": "Comment permission",
                    "format": "text"
                  },
                  "space_submission_policy": {
                    "label": "Submission policy",
                    "format": "text"
                  },
                  "space_content_requirements": {
                    "label": "Content requirements",
                    "format": "json"
                  },
                  "space_distribution_state": {
                    "label": "Distribution state",
                    "format": "text"
                  },
                  "space_contributor_request_state": {
                    "label": "Contributor requests",
                    "format": "text"
                  },
                  "space_settings_text": {
                    "label": "Settings text",
                    "format": "text"
                  },
                  "website_url": {
                    "label": "Website",
                    "format": "link"
                  },
                  "rules": {
                    "label": "Rules",
                    "format": "json"
                  },
                  "follower_count": {
                    "label": "Followers",
                    "format": "text"
                  },
                  "follower_count_value": {
                    "label": "Followers (typed)",
                    "format": "number"
                  },
                  "member_count": {
                    "label": "Members",
                    "format": "text"
                  },
                  "member_count_value": {
                    "label": "Members (typed)",
                    "format": "number"
                  },
                  "post_count": {
                    "label": "Posts",
                    "format": "text"
                  },
                  "post_count_value": {
                    "label": "Posts (typed)",
                    "format": "number"
                  },
                  "contributor_count": {
                    "label": "Contributors",
                    "format": "text"
                  },
                  "contributor_count_value": {
                    "label": "Contributors (typed)",
                    "format": "number"
                  },
                  "owner_name": {
                    "label": "Owner",
                    "format": "text"
                  },
                  "owner_url": {
                    "label": "Owner URL",
                    "format": "link"
                  },
                  "moderator_records": {
                    "label": "Moderators",
                    "format": "json"
                  },
                  "space_scroll_state": {
                    "label": "Scroll state",
                    "format": "text"
                  },
                  "space_scroll_attempts": {
                    "label": "Scroll attempts",
                    "format": "number"
                  },
                  "space_load_more_state": {
                    "label": "Load-more state",
                    "format": "text"
                  },
                  "space_load_more_attempts": {
                    "label": "Load-more attempts",
                    "format": "number"
                  },
                  "space_load_more_clicks": {
                    "label": "Load-more clicks",
                    "format": "number"
                  },
                  "space_continuation_state": {
                    "label": "Continuation evidence",
                    "format": "json"
                  },
                  "event_type": {
                    "label": "Event",
                    "format": "text"
                  },
                  "feed_type": {
                    "label": "Feed type",
                    "format": "text"
                  },
                  "feed_title": {
                    "label": "Item",
                    "format": "text"
                  },
                  "feed_text": {
                    "label": "Feed text",
                    "format": "text"
                  },
                  "feed_url": {
                    "label": "Item URL",
                    "format": "link"
                  },
                  "feed_author_name": {
                    "label": "Author",
                    "format": "text"
                  },
                  "feed_author_url": {
                    "label": "Author URL",
                    "format": "link"
                  },
                  "feed_author_image_url": {
                    "label": "Author image",
                    "format": "link"
                  },
                  "feed_author_id": {
                    "label": "Author ID",
                    "format": "text"
                  },
                  "feed_author_credentials": {
                    "label": "Feed author credentials",
                    "format": "text"
                  },
                  "feed_author_is_verified": {
                    "label": "Author verified",
                    "format": "boolean"
                  },
                  "feed_author_is_anonymous": {
                    "label": "Author anonymous",
                    "format": "boolean"
                  },
                  "author_credentials": {
                    "label": "Author credentials",
                    "format": "text"
                  },
                  "feed_created_at": {
                    "label": "Created",
                    "format": "date"
                  },
                  "feed_age_days": {
                    "label": "Feed age (days)",
                    "format": "number"
                  },
                  "feed_age_state": {
                    "label": "Feed age evidence",
                    "format": "text"
                  },
                  "feed_timestamp": {
                    "label": "Feed timestamp",
                    "format": "text"
                  },
                  "body_text": {
                    "label": "Body text",
                    "format": "text"
                  },
                  "media_urls": {
                    "label": "Media",
                    "format": "json"
                  },
                  "image_urls": {
                    "label": "Images",
                    "format": "json"
                  },
                  "video_urls": {
                    "label": "Videos",
                    "format": "json"
                  },
                  "outbound_links": {
                    "label": "Outbound links",
                    "format": "json"
                  },
                  "contributor_name": {
                    "label": "Contributor",
                    "format": "text"
                  },
                  "contributor_url": {
                    "label": "Contributor URL",
                    "format": "link"
                  },
                  "contributor_image_url": {
                    "label": "Contributor image",
                    "format": "link"
                  },
                  "contributor_id": {
                    "label": "Contributor ID",
                    "format": "text"
                  },
                  "contributor_role": {
                    "label": "Contributor role",
                    "format": "text"
                  },
                  "role_label": {
                    "label": "Role label",
                    "format": "text"
                  },
                  "role_source": {
                    "label": "Role evidence",
                    "format": "text"
                  },
                  "change_evidence": {
                    "label": "Change evidence",
                    "format": "json"
                  },
                  "access_state": {
                    "label": "Access",
                    "format": "text"
                  },
                  "feed_tab": {
                    "label": "Requested tab",
                    "format": "text"
                  },
                  "observed_feed_tab": {
                    "label": "Tab state",
                    "format": "text"
                  },
                  "space_feed_limit_reached": {
                    "label": "Feed cap",
                    "format": "boolean"
                  },
                  "url": {
                    "label": "Record URL",
                    "format": "link"
                  },
                  "scrape_timestamp": {
                    "label": "Scraped",
                    "format": "date"
                  },
                  "output_projection": {
                    "label": "Projection",
                    "format": "text"
                  },
                  "record_id": {
                    "label": "Record ID",
                    "format": "text"
                  },
                  "description": {
                    "label": "Space description",
                    "format": "text"
                  },
                  "topics": {
                    "label": "Topics",
                    "format": "json"
                  },
                  "observed_tabs": {
                    "label": "Observed tabs",
                    "format": "json"
                  },
                  "discovered_spaces": {
                    "label": "Discovered Spaces",
                    "format": "json"
                  },
                  "discovery_cap_reached": {
                    "label": "Discovery cap",
                    "format": "boolean"
                  },
                  "max_items_per_source": {
                    "label": "Configured source cap",
                    "format": "number"
                  },
                  "source_cap": {
                    "label": "Source cap",
                    "format": "number"
                  },
                  "source_items_observed": {
                    "label": "Source observed",
                    "format": "number"
                  },
                  "source_items_emitted": {
                    "label": "Source emitted",
                    "format": "number"
                  },
                  "source_cap_reached": {
                    "label": "Source cap reached",
                    "format": "boolean"
                  },
                  "source_url": {
                    "label": "Source url",
                    "format": "link"
                  },
                  "source_query": {
                    "label": "Source query",
                    "format": "text"
                  },
                  "source_kind": {
                    "label": "Source kind",
                    "format": "text"
                  },
                  "matched_input": {
                    "label": "Matched input",
                    "format": "text"
                  },
                  "matched_input_kind": {
                    "label": "Matched input kind",
                    "format": "text"
                  },
                  "source_observations": {
                    "label": "Source observations",
                    "format": "json"
                  },
                  "source_observation_count": {
                    "label": "Source observation count",
                    "format": "number"
                  },
                  "content_hash": {
                    "label": "Content hash",
                    "format": "text"
                  },
                  "previous_content_hash": {
                    "label": "Previous content hash",
                    "format": "text"
                  },
                  "previous_snapshot_available": {
                    "label": "Previous snapshot available",
                    "format": "boolean"
                  },
                  "state_entries_pruned": {
                    "label": "State entries pruned",
                    "format": "number"
                  },
                  "state_retention_days": {
                    "label": "State retention days",
                    "format": "number"
                  },
                  "diff_mode": {
                    "label": "Diff mode",
                    "format": "text"
                  },
                  "title": {
                    "label": "Title",
                    "format": "text"
                  },
                  "date_precision": {
                    "label": "Date precision",
                    "format": "text"
                  },
                  "discovered_entities": {
                    "label": "Discovered entities",
                    "format": "array"
                  },
                  "localized_numeric_fields": {
                    "label": "Localized numeric fields",
                    "format": "object"
                  },
                  "normalized_date_fields": {
                    "label": "Normalized date fields",
                    "format": "object"
                  },
                  "date_interpretations": {
                    "label": "Date interpretations",
                    "format": "object"
                  },
                  "field_change_summary": {
                    "label": "Changed fields",
                    "format": "array"
                  },
                  "previous_field_values": {
                    "label": "Previous field values",
                    "format": "object"
                  },
                  "current_field_values": {
                    "label": "Current field values",
                    "format": "object"
                  },
                  "question_id": {
                    "label": "Question ID",
                    "format": "text"
                  },
                  "question_answer_count": {
                    "label": "Question answer count",
                    "format": "text"
                  },
                  "question_answer_count_value": {
                    "label": "Question answer count (value)",
                    "format": "number"
                  },
                  "question_view_count": {
                    "label": "Question view count",
                    "format": "text"
                  },
                  "question_view_count_value": {
                    "label": "Question view count (value)",
                    "format": "number"
                  },
                  "question_details": {
                    "label": "Question details",
                    "format": "text"
                  },
                  "question_created_at": {
                    "label": "Question created at",
                    "format": "date"
                  },
                  "question_updated_at": {
                    "label": "Question updated at",
                    "format": "date"
                  }
                }
              }
            }
          }
        }
      }
    },
    "buildNumber": "1.0.1",
    "imageDigest": "50fe41d14f1acf382ac1975b4770fe75e5b64e83d7a24b4c44bd87e4cf617072",
    "actVersion": {
      "sourceType": "SOURCE_FILES",
      "buildTag": "latest",
      "versionNumber": "1.0"
    },
    "usage": {
      "ACTOR_COMPUTE_UNITS": 0.04151222222222222
    }
  }
}