{
  "data": {
    "id": "VdKWKblN35lCfRp8c",
    "actId": "jVr3LV1QcMOvylkWf",
    "userId": "IYgBDiXtHOijAaUel",
    "startedAt": "2026-11-08T06:11:21.221Z",
    "finishedAt": "2026-11-08T06:12:00.390Z",
    "status": "SUCCEEDED",
    "meta": {
      "origin": "CI"
    },
    "stats": {
      "durationMillis": 39105,
      "runTimeSecs": 39.105,
      "computeUnits": 0.04345,
      "imageSizeBytes": 3119495168
    },
    "options": {
      "useCache": true,
      "betaPackages": false,
      "memoryMbytes": 4096,
      "diskMbytes": 8192
    },
    "createdByOrganizationMemberUserId": "QYo53EZkJk0prePWY",
    "exitCode": 0,
    "inputSchema": "{\n  \"title\": \"Reddit Comment Scraper Pro Input\",\n  \"description\": \"Scrape Reddit post comments with advanced filters and Pro output enrichment.\",\n  \"type\": \"object\",\n  \"schemaVersion\": 1,\n  \"properties\": {\n    \"postUrls\": {\n      \"title\": \"Reddit post URLs\",\n      \"type\": \"array\",\n      \"description\": \"List of Reddit post URLs to scrape comments from.\",\n      \"editor\": \"stringList\",\n      \"prefill\": [\n        \"https://www.reddit.com/r/programming/comments/1s9jkzi/announcement_temporary_llm_content_ban/\"\n      ]\n    },\n    \"maxComments\": {\n      \"title\": \"Max comments per post\",\n      \"type\": \"integer\",\n      \"description\": \"Max comments per post.\",\n      \"minimum\": 1,\n      \"maximum\": 10000,\n      \"default\": 100\n    },\n    \"expandThreads\": {\n      \"title\": \"Expand collapsed threads\",\n      \"type\": \"boolean\",\n      \"description\": \"Auto-expand collapsed comment threads and 'load more' sections.\",\n      \"default\": true\n    },\n    \"minScore\": {\n      \"title\": \"Min score (filter)\",\n      \"type\": \"integer\",\n      \"description\": \"Drop comments with score below this number.\",\n      \"minimum\": -10000,\n      \"maximum\": 10000000\n    },\n    \"maxDepth\": {\n      \"title\": \"Max comment depth\",\n      \"type\": \"integer\",\n      \"description\": \"Drop comments deeper than N levels (0 = top-level only).\",\n      \"minimum\": 0,\n      \"maximum\": 50\n    },\n    \"excludeDeleted\": {\n      \"title\": \"Exclude deleted/removed\",\n      \"type\": \"boolean\",\n      \"description\": \"Drop comments where author is `[deleted]` or text is `[removed]`.\",\n      \"default\": false\n    },\n    \"authorFilter\": {\n      \"title\": \"Author filter (substring)\",\n      \"type\": \"string\",\n      \"description\": \"Only emit comments by this author (case-insensitive substring match).\",\n      \"editor\": \"textfield\"\n    },\n    \"keywordFilter\": {\n      \"title\": \"Keyword filter (substring in body)\",\n      \"type\": \"string\",\n      \"description\": \"Only emit comments whose body contains this substring (case-insensitive). Prefix with `!` to invert (`!spam` drops comments mentioning spam).\",\n      \"editor\": \"textfield\"\n    },\n    \"minWordCount\": {\n      \"title\": \"Min word count\",\n      \"type\": \"integer\",\n      \"description\": \"Drop one-liner comments. Counts whitespace-separated tokens in the body.\",\n      \"minimum\": 0,\n      \"maximum\": 100000,\n      \"editor\": \"number\"\n    },\n    \"maxWordCount\": {\n      \"title\": \"Max word count\",\n      \"type\": \"integer\",\n      \"description\": \"Drop walls of text — useful when surveying short reactions only.\",\n      \"minimum\": 1,\n      \"maximum\": 100000,\n      \"editor\": \"number\"\n    }\n  },\n  \"required\": [\n    \"postUrls\"\n  ]\n}",
    "readme": "# Reddit Post Comment Thread & Filter Extractor\n\nPaste in one or more Reddit post links and get every comment on that thread as a flat dataset row, in the order the thread tree expands collapsed replies. A companion record with the post's own stats is added for each URL, and a set of optional filters lets you narrow a huge thread down to only the comments worth reading before you export anything.\n\n## What this actor does\n\n- Loads each Reddit post you give it and opens collapsed \"load more\" and \"continue this thread\" sections so deep replies are not left out.\n- Returns every comment with its author, text, score, nesting depth, and the ID of the comment it replies to, so you can rebuild the thread tree.\n- Captures awards, gilding, controversiality, distinguished (mod/admin) status and user flair for each comment, when Reddit shows them.\n- Applies any score, depth, author, keyword or word-count rule you set, dropping non-matching comments before they reach the dataset.\n- Omits any field Reddit did not provide for a given comment or post, instead of writing a blank or null value.\n\n## Output per record\n\nEach run produces one post-metadata record per URL and one record per comment that passed your filters.\n\n### Post metadata record\n\n| Field | Description |\n| --- | --- |\n| recordType | Always `post` for this record type |\n| post_id | Reddit's post ID |\n| post_name | Fullname in Reddit's `t3_<id>` format |\n| title | Post title |\n| author | Username of the poster |\n| author_fullname | Poster's Reddit fullname ID |\n| subreddit | Subreddit name without the `r/` prefix |\n| subreddit_prefixed | Subreddit name with `r/` prefix |\n| domain | Link domain for link posts (e.g. `self.programming`) |\n| score | Post score (upvotes minus downvotes) |\n| num_comments | Total comment count reported by Reddit |\n| permalink | Full URL of the post |\n| url | Same as permalink |\n| selftext | Post body text, for text posts |\n| selftext_html | Post body as HTML, for text posts |\n| link_flair | Post flair text, if the subreddit uses flairs |\n| is_self | True for text posts |\n| is_stickied | True if the post is pinned |\n| is_nsfw | True if marked over-18 |\n| is_spoiler | True if marked as a spoiler |\n| is_original_content | True if flagged as OC |\n| is_locked | True if comments are locked |\n| is_archived | True if the post is archived |\n| more_comments_count | Count of \"load more\" links Reddit still showed after expansion |\n| comment_sort | Comment sort order active on the page (e.g. `best`, `top`) |\n| created_utc | Post creation time as a Unix timestamp |\n| created_at | Post creation time as an ISO 8601 datetime |\n\n### Comment record\n\n| Field | Description |\n| --- | --- |\n| recordType | Always `comment` for this record type |\n| comment_id | Reddit's comment ID |\n| comment_name | Fullname in Reddit's `t1_<id>` format |\n| author | Username of the commenter, or `[deleted]` |\n| author_fullname | Commenter's Reddit fullname ID |\n| text | Comment body text |\n| body_html | Comment body as HTML |\n| score | Comment score (upvotes minus downvotes) |\n| permalink | Direct link to the comment |\n| post_url | URL of the post the comment belongs to |\n| depth | Nesting level in the thread (0 = top-level reply to the post) |\n| parent_comment_id | ID of the comment this one replies to, when it is not top-level |\n| replies_count | Number of direct replies visible under this comment |\n| subreddit | Subreddit the post belongs to |\n| subreddit_prefixed | Subreddit with the `r/` prefix |\n| is_op | True if the commenter is the post's original author |\n| is_edited | True if the comment was edited after posting |\n| edited_at | Edit timestamp, when Reddit discloses one |\n| is_stickied | True if the comment is pinned by a moderator |\n| is_collapsed | True if the comment was shown collapsed on the page |\n| is_deleted | True if the comment body or author shows as deleted/removed |\n| is_automod | True if posted by AutoModerator |\n| is_likely_bot | True if the author name matches a common bot-naming pattern |\n| comment_age_seconds | Seconds between posting and the time the comment was scraped |\n| distinguished | Moderator/admin distinguish tag, when present |\n| controversiality | Reddit's controversiality flag for the comment |\n| user_flair | Commenter's subreddit flair text |\n| word_count | Whitespace-separated word count of the comment body |\n| body_quote_count | Number of quote blocks in the comment body |\n| body_code_count | Number of code blocks in the comment body |\n| body_link_count | Number of links in the comment body |\n| awards | List of award objects (`name`, `icon`) the comment received |\n| awards_count | Total number of awards received |\n| gilded_count | Number of times the comment was gilded |\n| created_utc | Comment creation time as a Unix timestamp |\n| created_at | Comment creation time as an ISO 8601 datetime |\n\n## Input\n\n| Field | Type | Default | Description |\n| --- | --- | --- | --- |\n| `postUrls` | array | – | Reddit post URLs to scrape comments from (required) |\n| `maxComments` | integer | `100` | Maximum number of comments to collect per post, 1-10000 |\n| `expandThreads` | boolean | `true` | Click \"load more\" and \"continue this thread\" to reveal collapsed replies |\n| `minScore` | integer | – | Drop comments scoring below this number |\n| `maxDepth` | integer | – | Drop comments nested deeper than this (0 keeps only top-level replies) |\n| `excludeDeleted` | boolean | `false` | Drop comments where the author is `[deleted]` or the body is `[removed]` |\n| `authorFilter` | string | – | Keep only comments by an author whose name contains this text (case-insensitive) |\n| `keywordFilter` | string | – | Keep only comments whose body contains this text; prefix with `!` to drop matches instead |\n| `minWordCount` | integer | – | Drop comments shorter than this many words |\n| `maxWordCount` | integer | – | Drop comments longer than this many words |\n\n### Example: default scrape of one thread\n\n```json\n{\n  \"postUrls\": [\"https://www.reddit.com/r/programming/comments/1s9jkzi/announcement_temporary_llm_content_ban/\"],\n  \"maxComments\": 200\n}\n```\n\n### Example: only substantial, positively-scored replies\n\n```json\n{\n  \"postUrls\": [\"https://www.reddit.com/r/AskScience/comments/1abc123/why_is_the_sky_blue/\"],\n  \"minScore\": 5,\n  \"minWordCount\": 15,\n  \"excludeDeleted\": true\n}\n```\n\n### Example: top-level comments from one author across two posts\n\n```json\n{\n  \"postUrls\": [\n    \"https://www.reddit.com/r/technology/comments/1xyz789/post_one/\",\n    \"https://old.reddit.com/r/technology/comments/1xyz790/post_two/\"\n  ],\n  \"maxDepth\": 0,\n  \"authorFilter\": \"throwaway\",\n  \"maxComments\": 500\n}\n```\n\n## Use cases\n\n- **Sentiment and discourse research**: pull every reply to a thread to study how a community reacted to an announcement or news post.\n- **Moderation audits**: use `excludeDeleted` and `authorFilter` to review what a specific user posted before their comments were removed.\n- **Dataset building**: filter by `minWordCount` to collect substantive comments for training or evaluating language models.\n- **Brand and product monitoring**: track replies mentioning a product name with `keywordFilter` across multiple relevant threads.\n- **Thread archiving**: capture a full comment tree, including depth and parent IDs, before a thread is locked or archived.\n\n## FAQ\n\n**Does this need a Reddit account or login?**\nNo. It reads the public comment pages the same way a logged-out visitor would, so only posts and comments visible without logging in can be collected.\n\n**Why are some comments missing from my results?**\nDeleted or removed comments, comments beyond `maxComments`, and comments beneath unexpanded \"load more\" links (when `expandThreads` is off) will not appear. Your score, depth, author, keyword or word-count filters can also remove comments that were successfully scraped.\n\n**What does `maxDepth: 0` give me?**\nOnly comments posted directly on the post itself, with no replies-to-replies.\n\n**How is `keywordFilter` different from a normal search?**\nIt is a plain, case-insensitive substring match against the comment body. Prefixing the value with `!` inverts it, so `!spam` keeps everything except comments mentioning \"spam\".\n\n**Why is a field missing on some comment or post records?**\nFields Reddit does not expose for that record (for example `edited_at` on a comment that was never edited) are left out of the record instead of being written as null or empty.\n\n**Can I scrape a subreddit's whole post list, not just comments?**\nNo, this actor only works from direct post URLs you supply; it does not crawl subreddit listings.\n\n**Does `old.reddit.com` vs `www.reddit.com` in my input matter?**\nNo, either form works — `post_url` in the output is normalized to the `www.reddit.com` form regardless of which you paste in.\n\n**Is this affiliated with Reddit?**\nNo. This is an independent tool that reads Reddit's public comment pages and is not operated by or affiliated with Reddit, Inc.\n",
    "actorDefinition": {
      "actorSpecification": 1,
      "name": "reddit-post-comment-thread-and-filter-extractor",
      "title": "Reddit Post Comment Thread & Filter Extractor",
      "description": "Pulls every comment on one or more Reddit posts, with the full thread depth, parent links and awards, and lets you keep only the comments that match a score, author, keyword or length rule.",
      "version": "1.0",
      "buildTag": "latest",
      "dockerfile": "./Dockerfile",
      "readme": "# Reddit Post Comment Thread & Filter Extractor\n\nPaste in one or more Reddit post links and get every comment on that thread as a flat dataset row, in the order the thread tree expands collapsed replies. A companion record with the post's own stats is added for each URL, and a set of optional filters lets you narrow a huge thread down to only the comments worth reading before you export anything.\n\n## What this actor does\n\n- Loads each Reddit post you give it and opens collapsed \"load more\" and \"continue this thread\" sections so deep replies are not left out.\n- Returns every comment with its author, text, score, nesting depth, and the ID of the comment it replies to, so you can rebuild the thread tree.\n- Captures awards, gilding, controversiality, distinguished (mod/admin) status and user flair for each comment, when Reddit shows them.\n- Applies any score, depth, author, keyword or word-count rule you set, dropping non-matching comments before they reach the dataset.\n- Omits any field Reddit did not provide for a given comment or post, instead of writing a blank or null value.\n\n## Output per record\n\nEach run produces one post-metadata record per URL and one record per comment that passed your filters.\n\n### Post metadata record\n\n| Field | Description |\n| --- | --- |\n| recordType | Always `post` for this record type |\n| post_id | Reddit's post ID |\n| post_name | Fullname in Reddit's `t3_<id>` format |\n| title | Post title |\n| author | Username of the poster |\n| author_fullname | Poster's Reddit fullname ID |\n| subreddit | Subreddit name without the `r/` prefix |\n| subreddit_prefixed | Subreddit name with `r/` prefix |\n| domain | Link domain for link posts (e.g. `self.programming`) |\n| score | Post score (upvotes minus downvotes) |\n| num_comments | Total comment count reported by Reddit |\n| permalink | Full URL of the post |\n| url | Same as permalink |\n| selftext | Post body text, for text posts |\n| selftext_html | Post body as HTML, for text posts |\n| link_flair | Post flair text, if the subreddit uses flairs |\n| is_self | True for text posts |\n| is_stickied | True if the post is pinned |\n| is_nsfw | True if marked over-18 |\n| is_spoiler | True if marked as a spoiler |\n| is_original_content | True if flagged as OC |\n| is_locked | True if comments are locked |\n| is_archived | True if the post is archived |\n| more_comments_count | Count of \"load more\" links Reddit still showed after expansion |\n| comment_sort | Comment sort order active on the page (e.g. `best`, `top`) |\n| created_utc | Post creation time as a Unix timestamp |\n| created_at | Post creation time as an ISO 8601 datetime |\n\n### Comment record\n\n| Field | Description |\n| --- | --- |\n| recordType | Always `comment` for this record type |\n| comment_id | Reddit's comment ID |\n| comment_name | Fullname in Reddit's `t1_<id>` format |\n| author | Username of the commenter, or `[deleted]` |\n| author_fullname | Commenter's Reddit fullname ID |\n| text | Comment body text |\n| body_html | Comment body as HTML |\n| score | Comment score (upvotes minus downvotes) |\n| permalink | Direct link to the comment |\n| post_url | URL of the post the comment belongs to |\n| depth | Nesting level in the thread (0 = top-level reply to the post) |\n| parent_comment_id | ID of the comment this one replies to, when it is not top-level |\n| replies_count | Number of direct replies visible under this comment |\n| subreddit | Subreddit the post belongs to |\n| subreddit_prefixed | Subreddit with the `r/` prefix |\n| is_op | True if the commenter is the post's original author |\n| is_edited | True if the comment was edited after posting |\n| edited_at | Edit timestamp, when Reddit discloses one |\n| is_stickied | True if the comment is pinned by a moderator |\n| is_collapsed | True if the comment was shown collapsed on the page |\n| is_deleted | True if the comment body or author shows as deleted/removed |\n| is_automod | True if posted by AutoModerator |\n| is_likely_bot | True if the author name matches a common bot-naming pattern |\n| comment_age_seconds | Seconds between posting and the time the comment was scraped |\n| distinguished | Moderator/admin distinguish tag, when present |\n| controversiality | Reddit's controversiality flag for the comment |\n| user_flair | Commenter's subreddit flair text |\n| word_count | Whitespace-separated word count of the comment body |\n| body_quote_count | Number of quote blocks in the comment body |\n| body_code_count | Number of code blocks in the comment body |\n| body_link_count | Number of links in the comment body |\n| awards | List of award objects (`name`, `icon`) the comment received |\n| awards_count | Total number of awards received |\n| gilded_count | Number of times the comment was gilded |\n| created_utc | Comment creation time as a Unix timestamp |\n| created_at | Comment creation time as an ISO 8601 datetime |\n\n## Input\n\n| Field | Type | Default | Description |\n| --- | --- | --- | --- |\n| `postUrls` | array | – | Reddit post URLs to scrape comments from (required) |\n| `maxComments` | integer | `100` | Maximum number of comments to collect per post, 1-10000 |\n| `expandThreads` | boolean | `true` | Click \"load more\" and \"continue this thread\" to reveal collapsed replies |\n| `minScore` | integer | – | Drop comments scoring below this number |\n| `maxDepth` | integer | – | Drop comments nested deeper than this (0 keeps only top-level replies) |\n| `excludeDeleted` | boolean | `false` | Drop comments where the author is `[deleted]` or the body is `[removed]` |\n| `authorFilter` | string | – | Keep only comments by an author whose name contains this text (case-insensitive) |\n| `keywordFilter` | string | – | Keep only comments whose body contains this text; prefix with `!` to drop matches instead |\n| `minWordCount` | integer | – | Drop comments shorter than this many words |\n| `maxWordCount` | integer | – | Drop comments longer than this many words |\n\n### Example: default scrape of one thread\n\n```json\n{\n  \"postUrls\": [\"https://www.reddit.com/r/programming/comments/1s9jkzi/announcement_temporary_llm_content_ban/\"],\n  \"maxComments\": 200\n}\n```\n\n### Example: only substantial, positively-scored replies\n\n```json\n{\n  \"postUrls\": [\"https://www.reddit.com/r/AskScience/comments/1abc123/why_is_the_sky_blue/\"],\n  \"minScore\": 5,\n  \"minWordCount\": 15,\n  \"excludeDeleted\": true\n}\n```\n\n### Example: top-level comments from one author across two posts\n\n```json\n{\n  \"postUrls\": [\n    \"https://www.reddit.com/r/technology/comments/1xyz789/post_one/\",\n    \"https://old.reddit.com/r/technology/comments/1xyz790/post_two/\"\n  ],\n  \"maxDepth\": 0,\n  \"authorFilter\": \"throwaway\",\n  \"maxComments\": 500\n}\n```\n\n## Use cases\n\n- **Sentiment and discourse research**: pull every reply to a thread to study how a community reacted to an announcement or news post.\n- **Moderation audits**: use `excludeDeleted` and `authorFilter` to review what a specific user posted before their comments were removed.\n- **Dataset building**: filter by `minWordCount` to collect substantive comments for training or evaluating language models.\n- **Brand and product monitoring**: track replies mentioning a product name with `keywordFilter` across multiple relevant threads.\n- **Thread archiving**: capture a full comment tree, including depth and parent IDs, before a thread is locked or archived.\n\n## FAQ\n\n**Does this need a Reddit account or login?**\nNo. It reads the public comment pages the same way a logged-out visitor would, so only posts and comments visible without logging in can be collected.\n\n**Why are some comments missing from my results?**\nDeleted or removed comments, comments beyond `maxComments`, and comments beneath unexpanded \"load more\" links (when `expandThreads` is off) will not appear. Your score, depth, author, keyword or word-count filters can also remove comments that were successfully scraped.\n\n**What does `maxDepth: 0` give me?**\nOnly comments posted directly on the post itself, with no replies-to-replies.\n\n**How is `keywordFilter` different from a normal search?**\nIt is a plain, case-insensitive substring match against the comment body. Prefixing the value with `!` inverts it, so `!spam` keeps everything except comments mentioning \"spam\".\n\n**Why is a field missing on some comment or post records?**\nFields Reddit does not expose for that record (for example `edited_at` on a comment that was never edited) are left out of the record instead of being written as null or empty.\n\n**Can I scrape a subreddit's whole post list, not just comments?**\nNo, this actor only works from direct post URLs you supply; it does not crawl subreddit listings.\n\n**Does `old.reddit.com` vs `www.reddit.com` in my input matter?**\nNo, either form works — `post_url` in the output is normalized to the `www.reddit.com` form regardless of which you paste in.\n\n**Is this affiliated with Reddit?**\nNo. This is an independent tool that reads Reddit's public comment pages and is not operated by or affiliated with Reddit, Inc.\n",
      "input": {
        "title": "Reddit Comment Scraper Pro Input",
        "description": "Scrape Reddit post comments with advanced filters and Pro output enrichment.",
        "type": "object",
        "schemaVersion": 1,
        "properties": {
          "postUrls": {
            "title": "Reddit post URLs",
            "type": "array",
            "description": "List of Reddit post URLs to scrape comments from.",
            "editor": "stringList",
            "prefill": [
              "https://www.reddit.com/r/programming/comments/1s9jkzi/announcement_temporary_llm_content_ban/"
            ]
          },
          "maxComments": {
            "title": "Max comments per post",
            "type": "integer",
            "description": "Max comments per post.",
            "minimum": 1,
            "maximum": 10000,
            "default": 100
          },
          "expandThreads": {
            "title": "Expand collapsed threads",
            "type": "boolean",
            "description": "Auto-expand collapsed comment threads and 'load more' sections.",
            "default": true
          },
          "minScore": {
            "title": "Min score (filter)",
            "type": "integer",
            "description": "Drop comments with score below this number.",
            "minimum": -10000,
            "maximum": 10000000
          },
          "maxDepth": {
            "title": "Max comment depth",
            "type": "integer",
            "description": "Drop comments deeper than N levels (0 = top-level only).",
            "minimum": 0,
            "maximum": 50
          },
          "excludeDeleted": {
            "title": "Exclude deleted/removed",
            "type": "boolean",
            "description": "Drop comments where author is `[deleted]` or text is `[removed]`.",
            "default": false
          },
          "authorFilter": {
            "title": "Author filter (substring)",
            "type": "string",
            "description": "Only emit comments by this author (case-insensitive substring match).",
            "editor": "textfield"
          },
          "keywordFilter": {
            "title": "Keyword filter (substring in body)",
            "type": "string",
            "description": "Only emit comments whose body contains this substring (case-insensitive). Prefix with `!` to invert (`!spam` drops comments mentioning spam).",
            "editor": "textfield"
          },
          "minWordCount": {
            "title": "Min word count",
            "type": "integer",
            "description": "Drop one-liner comments. Counts whitespace-separated tokens in the body.",
            "minimum": 0,
            "maximum": 100000,
            "editor": "number"
          },
          "maxWordCount": {
            "title": "Max word count",
            "type": "integer",
            "description": "Drop walls of text — useful when surveying short reactions only.",
            "minimum": 1,
            "maximum": 100000,
            "editor": "number"
          }
        },
        "required": [
          "postUrls"
        ]
      },
      "output": {
        "actorOutputSchemaVersion": 1,
        "title": "Reddit Post Comment Thread & Filter Extractor Output",
        "description": "Dataset of Reddit comment records (author, body, score, depth, parent/thread links, awards, timestamps) plus one parent-post metadata record per URL, after any score/depth/author/keyword/word-count filters are applied.",
        "properties": {
          "comments": {
            "type": "string",
            "title": "Comments",
            "description": "Dataset containing all scraped comments and post metadata records.",
            "template": "{{links.apiDefaultDatasetUrl}}/items"
          }
        }
      },
      "storages": {
        "dataset": {
          "actorSpecification": 1,
          "views": {
            "overview": {
              "title": "Reddit Comments (Pro)",
              "transformation": {
                "fields": [
                  "author",
                  "text",
                  "score",
                  "depth",
                  "permalink",
                  "created_at",
                  "is_op"
                ]
              },
              "display": {
                "component": "table",
                "properties": {}
              }
            }
          }
        }
      },
      "environmentVariables": {}
    },
    "buildNumber": "1.0.1",
    "imageDigest": "0689b78b2e1b931f38736a8452ff52377ac8fb791d415ac15b20deb348d0c48b",
    "actVersion": {
      "sourceType": "SOURCE_FILES",
      "buildTag": "latest",
      "versionNumber": "1.0"
    },
    "usage": {
      "ACTOR_COMPUTE_UNITS": 0.04345
    }
  }
}