{
  "openapi": "3.0.1",
  "info": {
    "title": "Reddit Scraper – Posts, Comment Threads & User History",
    "description": "Export archived Reddit posts, comment threads, scoped keyword matches and user history with standard keys, parent context, UTC dates and shared result limits. No Reddit credentials or proxy setup. Arctic Shift coverage may lag. $1 per 1,000 saved results.",
    "version": "0.3",
    "x-build-id": "8HqHbMid9p4RQIEPC"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/aster_data~reddit-mcp-actor/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-aster_data-reddit-mcp-actor",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/aster_data~reddit-mcp-actor/runs": {
      "post": {
        "operationId": "runs-sync-aster_data-reddit-mcp-actor",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/aster_data~reddit-mcp-actor/run-sync": {
      "post": {
        "operationId": "run-sync-aster_data-reddit-mcp-actor",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "properties": {
          "startUrls": {
            "title": "Reddit URLs",
            "maxItems": 100,
            "type": "array",
            "description": "Post, comment, subreddit or public-user URLs. Enter URL strings or objects such as {\"url\":\"https://reddit.com/r/Python/\"}. Inputs are additive and share maxTotalItems."
          },
          "subredditUrls": {
            "title": "Subreddits",
            "maxItems": 100,
            "type": "array",
            "description": "Names or subreddit URLs, for example Python or r/Python. Post URLs belong in startUrls.",
            "items": {
              "type": "string"
            }
          },
          "searchTerms": {
            "title": "Search keywords",
            "maxItems": 100,
            "type": "array",
            "description": "One scoped search per phrase. All tokens must match; quoted phrases remain together. Requires withinCommunity or a subreddit/user target. No global ranked discovery.",
            "items": {
              "type": "string"
            }
          },
          "withinCommunity": {
            "title": "Search within subreddit",
            "type": "string",
            "description": "One subreddit name or URL. Required for a search with no other scoped target."
          },
          "searchPosts": {
            "title": "Collect posts",
            "type": "boolean",
            "description": "Collect posts from the selected listing/search sources.",
            "default": true
          },
          "searchComments": {
            "title": "Search archived comments",
            "type": "boolean",
            "description": "Collect comments independently from selected subreddit/user scopes. Different from fetching each post's thread.",
            "default": false
          },
          "crawlCommentsPerPost": {
            "title": "Collect post threads",
            "type": "boolean",
            "description": "Collect available archived comments belonging to selected posts. Missing or unarchived replies may exist.",
            "default": false
          },
          "includeCommunity": {
            "title": "Community metadata rows",
            "type": "boolean",
            "description": "Save an archived community row for each known subreddit. Metadata may be stale or incomplete.",
            "default": false
          },
          "includeUserProfiles": {
            "title": "User metadata rows",
            "type": "boolean",
            "description": "Save an archived user row for known user targets. This is not a current Reddit profile lookup.",
            "default": false
          },
          "includeUserComments": {
            "title": "Include user comment history",
            "type": "boolean",
            "description": "User targets collect authored comments as well as posts. User /comments and /submitted URLs restrict the activity kind.",
            "default": true
          },
          "postedAfter": {
            "title": "Posts from",
            "type": "string",
            "description": "Inclusive UTC lower bound: date, ISO datetime, or 7 days / 1 hour. Listings default to the last 30 days; direct URLs have no implicit lower bound. all removes it."
          },
          "postedBefore": {
            "title": "Posts until",
            "type": "string",
            "description": "Exclusive upper bound; a date-only value includes that entire UTC day. Defaults to the frozen run-start time."
          },
          "commentedAfter": {
            "title": "Comments from",
            "type": "string",
            "description": "Independent inclusive lower bound for comments. Same formats as postedAfter. Thread scans default to their parent post's creation."
          },
          "commentedBefore": {
            "title": "Comments until",
            "type": "string",
            "description": "Independent upper bound for comments; a date-only value includes that UTC day."
          },
          "searchSort": {
            "title": "Chronological order",
            "enum": [
              "new",
              "old"
            ],
            "type": "string",
            "description": "new means newest available archived records first; old means oldest first. Live hot/top/relevance rankings are unavailable.",
            "default": "new"
          },
          "searchTime": {
            "title": "Recent time window",
            "enum": [
              "all",
              "hour",
              "day",
              "week",
              "month",
              "year"
            ],
            "type": "string",
            "description": "Relative to frozen run start, when no explicit lower bound is supplied. Does not override an explicit date.",
            "default": "all"
          },
          "includeNSFW": {
            "title": "Include NSFW posts",
            "type": "boolean",
            "description": "False excludes posts explicitly marked over_18. Missing flags remain unknown; source fields are not invented.",
            "default": false
          },
          "onlyWithFlair": {
            "title": "Only posts with flair",
            "type": "boolean",
            "description": "Drop posts with no link flair before applying stored-row caps.",
            "default": false
          },
          "minScore": {
            "title": "Minimum archived score",
            "minimum": -1000000000,
            "maximum": 1000000000,
            "type": "integer",
            "description": "Drop rows below this score or with no score. The value is an archive snapshot, not current engagement."
          },
          "includeKeywords": {
            "title": "Required text",
            "type": "array",
            "description": "Each phrase must occur in the post title/body or comment body. Applied before storing and charging results.",
            "items": {
              "type": "string"
            }
          },
          "excludeKeywords": {
            "title": "Excluded text",
            "type": "array",
            "description": "Drop a row when any phrase occurs in its text. Matching is case-insensitive.",
            "items": {
              "type": "string"
            }
          },
          "maxPostsCount": {
            "title": "Posts per source",
            "minimum": 0,
            "maximum": 1000000,
            "type": "integer",
            "description": "Stored-post ceiling per source across resumptions. Zero disables post rows; direct post URLs can still provide comment context.",
            "default": 50
          },
          "maxCommentsCount": {
            "title": "Independent comments per source",
            "minimum": 0,
            "maximum": 1000000,
            "type": "integer",
            "description": "Stored-comment ceiling for comment search, user activity, or a direct comment. Does not set each thread's allowance.",
            "default": 100
          },
          "maxCommentsPerPost": {
            "title": "Comments per thread",
            "minimum": 0,
            "maximum": 1000000,
            "type": "integer",
            "description": "Maximum archived comments stored for each selected post across resumptions.",
            "default": 100
          },
          "maxCommunitiesCount": {
            "title": "Total community rows",
            "minimum": 0,
            "maximum": 1000000,
            "type": "integer",
            "description": "Request-wide cap for explicitly requested metadata rows. Zero disables community rows.",
            "default": 2
          },
          "maxTotalItems": {
            "title": "Total unique rows",
            "minimum": 0,
            "maximum": 1000000,
            "type": "integer",
            "description": "Hard shared cap across all result types and scopes, including rows already saved by this request. Default 100.",
            "default": 100
          },
          "maxTotalChargeUsd": {
            "title": "Result-charge budget (USD)",
            "minimum": 0,
            "maximum": 1000,
            "type": "number",
            "description": "Additional row cap at $0.001 per row, rounded down. Zero permits no result rows. Platform run limits and owner development costs are separate."
          },
          "maxRequests": {
            "title": "Source request limit",
            "minimum": 1,
            "maximum": 10000,
            "type": "integer",
            "description": "Maximum logical source requests, including optional context lookups. HTTP retries can add attempts. Reaching this produces an explicit partial summary.",
            "default": 200
          },
          "outputProfile": {
            "title": "Output profile",
            "enum": [
              "compact",
              "standard",
              "full"
            ],
            "type": "string",
            "description": "standard includes normalized fields; compact reduces response size; full includes the archive payload unless includeRawData is explicitly false.",
            "default": "standard"
          },
          "outputFields": {
            "title": "Select output fields",
            "type": "array",
            "description": "Optional field projection. Identity, source, sourceTarget, and comment ancestry status remain available for safe recovery. Unknown fields fail validation.",
            "items": {
              "type": "string",
              "enum": [
                "acceptFollowers",
                "advertiserCategory",
                "ageHours",
                "allowGalleries",
                "allowImages",
                "allowPolls",
                "allowVideogifs",
                "allowVideos",
                "archived",
                "archivedCommentCount",
                "archivedPostCount",
                "authorFlairText",
                "authorFullname",
                "authorId",
                "authorName",
                "authorPremium",
                "awardeeKarma",
                "awarderKarma",
                "bannedBy",
                "bannerImage",
                "bannerImg",
                "bio",
                "body",
                "bodyHtml",
                "bodyLength",
                "collapsed",
                "collapsedReason",
                "commentCreatedAt",
                "commentKarma",
                "commentToScoreRatio",
                "commentUpVotes",
                "commentsCount",
                "commentsPerHour",
                "communityIcon",
                "communityId",
                "communityName",
                "contentUrl",
                "controversiality",
                "crawledAt",
                "createdAt",
                "crosspostParentId",
                "crosspostParentUrl",
                "dataType",
                "depth",
                "description",
                "descriptionHtml",
                "distinguished",
                "domain",
                "edited",
                "editedAt",
                "engagementTotal",
                "firstCommentAt",
                "firstPostAt",
                "flair",
                "followersCount",
                "galleryCount",
                "galleryData",
                "galleryImages",
                "gilded",
                "hasMedia",
                "hasVerifiedEmail",
                "headerTitle",
                "hidden",
                "hideFromRobots",
                "iconImg",
                "id",
                "images",
                "isEmployee",
                "isGallery",
                "isGold",
                "isHighEngagement",
                "isMod",
                "isNsfw",
                "isOriginalContent",
                "isRobotIndexable",
                "isSelf",
                "isSubmitter",
                "isVideo",
                "lang",
                "lastCommentAt",
                "lastPostAt",
                "linkFlairEnabled",
                "linkKarma",
                "locked",
                "media",
                "mediaAssets",
                "mediaMetadata",
                "mediaType",
                "membersCount",
                "metricsAsOf",
                "missingParent",
                "modReasonTitle",
                "name",
                "nsfw",
                "numCrossposts",
                "numDuplicates",
                "onlineUsersCount",
                "originalContentTagEnabled",
                "outboundUrlHost",
                "over18",
                "parentId",
                "parentKind",
                "parsedAuthorId",
                "parsedCommunityId",
                "parsedCommunityName",
                "parsedId",
                "parsedParentId",
                "parsedPostId",
                "parsedSubredditId",
                "pinned",
                "postCommentsCount",
                "postId",
                "postTitle",
                "postType",
                "postUrl",
                "previousNames",
                "profileDescription",
                "profileTitle",
                "profileUrl",
                "profileVisibility",
                "publicDescription",
                "publicDescriptionHtml",
                "quarantine",
                "rawData",
                "recordKey",
                "removalReason",
                "removalStatus",
                "removedBy",
                "removedByCategory",
                "restrictCommenting",
                "restrictPosting",
                "rootCommentId",
                "rules",
                "score",
                "scoreHidden",
                "scorePerHour",
                "searchTerm",
                "secureMedia",
                "snoovatarImg",
                "source",
                "sourceRetrievedAt",
                "sourceTarget",
                "spoiler",
                "spoilersEnabled",
                "stickied",
                "submissionType",
                "submitText",
                "subredditId",
                "subredditName",
                "subredditSubscribers",
                "subredditType",
                "suggestedCommentSort",
                "thumbnail",
                "title",
                "titleLength",
                "totalAwardsReceived",
                "totalKarma",
                "upVotes",
                "upvoteRatio",
                "url",
                "urlOverriddenByDest",
                "username",
                "verified",
                "videoUrl",
                "whitelistStatus",
                "wikiEnabled",
                "wordCount"
              ]
            }
          },
          "includeRawData": {
            "title": "Include raw archive payload",
            "type": "boolean",
            "description": "Optional override. Defaults false for standard/compact and true for full. Legacy version 1 defaults true."
          },
          "includeParentData": {
            "title": "Resolve parent context",
            "type": "boolean",
            "description": "Use bounded, cached lookups to add parent post text and comment ancestry. Context lookups do not create extra result rows.",
            "default": true
          },
          "maxParentDepth": {
            "title": "Maximum parent-chain lookups",
            "minimum": 0,
            "maximum": 100,
            "type": "integer",
            "description": "Bound ancestry resolution. Unknown, cyclic or incomplete chains have null depth and missingParent true.",
            "default": 20
          },
          "resumeFromState": {
            "title": "Resume this request",
            "type": "boolean",
            "description": "Continue matching checkpoints in the same storage. Recurring runs normally have fresh storage; they do not share deduplication automatically.",
            "default": true
          },
          "dryRun": {
            "title": "Preview only",
            "type": "boolean",
            "description": "Validate inputs and resolve dates without any source HTTP requests, dataset writes, or checkpoint changes.",
            "default": false
          },
          "skipInvalidTargets": {
            "title": "Skip malformed targets",
            "type": "boolean",
            "description": "Opt in to skipping invalid target entries with summary diagnostics. Invalid dates or filter values still fail.",
            "default": false
          },
          "continueOnError": {
            "title": "Continue after source errors",
            "type": "boolean",
            "description": "Continue other sources after an HTTP/source failure. Unresolved dataset writes always stop the run.",
            "default": false
          },
          "verboseLog": {
            "title": "Verbose logs",
            "type": "boolean",
            "description": "Enable additional diagnostic logging.",
            "default": false
          },
          "deduplicate": {
            "title": "Deduplicate",
            "type": "boolean",
            "description": "Compatibility flag. Deduplication is always enabled; false is rejected."
          },
          "outputVersion": {
            "title": "Output version",
            "minimum": 1,
            "maximum": 2,
            "type": "integer",
            "description": "2 uses standard keys. Explicitly set 1 with legacy targets to retain the original output contract."
          },
          "limit": {
            "title": "Archive page size",
            "type": "string",
            "description": "1–100 or auto. This controls source requests, not output volume. Use item caps for small exports.",
            "default": "100"
          },
          "windowDays": {
            "title": "Date-window size",
            "minimum": 0,
            "maximum": 36500,
            "type": "number",
            "description": "Maximum scan window in days; 0 requests the full bounded range. Threads use their full range. Oversized-range responses split adaptively.",
            "default": 1
          },
          "minWindowSeconds": {
            "title": "Minimum split window",
            "minimum": 1,
            "maximum": 86400,
            "type": "integer",
            "description": "Smallest retry interval after oversized-range responses.",
            "default": 60
          },
          "timeoutSeconds": {
            "title": "HTTP timeout",
            "minimum": 1,
            "maximum": 300,
            "type": "number",
            "description": "Timeout for each HTTP attempt in seconds.",
            "default": 30
          },
          "retries": {
            "title": "HTTP retries",
            "minimum": 0,
            "maximum": 10,
            "type": "integer",
            "description": "Retries after transient failures. Oversized-range errors are split without retrying the same range.",
            "default": 3
          },
          "retrySleepSeconds": {
            "title": "Retry delay",
            "minimum": 0,
            "maximum": 60,
            "type": "number",
            "description": "Base retry delay in seconds; source Retry-After is bounded.",
            "default": 2
          },
          "requestDelayMs": {
            "title": "Delay between pages",
            "minimum": 0,
            "maximum": 60000,
            "type": "integer",
            "description": "Delay after a successfully handled page, in milliseconds.",
            "default": 0
          },
          "maxPagesPerKind": {
            "title": "Pages per scan",
            "minimum": 1,
            "maximum": 1000000,
            "type": "integer",
            "description": "Optional non-empty page ceiling. Reaching it is reported as partial coverage."
          },
          "baseUrl": {
            "title": "Archive API URL",
            "type": "string",
            "description": "Advanced HTTP(S) archive override without credentials, query, or fragment.",
            "default": "https://arctic-shift.photon-reddit.com/api"
          },
          "datasets": {
            "title": "Datasets",
            "type": "array",
            "description": "Legacy input; use the version 2 fields for new integrations. Select which Reddit object types to download.",
            "items": {
              "type": "string"
            }
          },
          "endDate": {
            "title": "End date",
            "type": "string",
            "description": "Legacy input; use the version 2 fields for new integrations. UTC upper bound. YYYY-MM-DD is exclusive of the next UTC day. Use now for the current time."
          },
          "maxItemsPerKind": {
            "title": "Max items per dataset",
            "minimum": 1,
            "type": "integer",
            "description": "Legacy input; use the version 2 fields for new integrations. Optional cap for newly pushed rows per selected dataset and target."
          },
          "skipMetadata": {
            "title": "Skip metadata",
            "type": "boolean",
            "description": "Legacy input; use the version 2 fields for new integrations. Skip the subreddit/user metadata request. Provide startDate for large ranges when enabled."
          },
          "startDate": {
            "title": "Start date",
            "type": "string",
            "description": "Legacy input; use the version 2 fields for new integrations. UTC inclusive lower bound. Supports YYYY-MM-DD, ISO datetime, epoch seconds/milliseconds, N days ago, none, or all. Default: 30 days ago."
          },
          "targets": {
            "title": "Targets",
            "minItems": 1,
            "uniqueItems": true,
            "type": "array",
            "description": "Legacy input; use the version 2 fields for new integrations. Subreddit or user targets: r/Python, u/spez, or a full Reddit subreddit/user profile URL. Post, thread and search URLs are not supported.",
            "items": {
              "type": "string"
            }
          },
          "aiAnalysis": {
            "title": "aiAnalysis",
            "type": "boolean",
            "description": "Compatibility placeholder only. Enabling this unsupported external analysis/delivery/discovery option fails before result writes."
          },
          "competitor": {
            "title": "competitor",
            "type": "boolean",
            "description": "Compatibility placeholder only. Enabling this unsupported external analysis/delivery/discovery option fails before result writes."
          },
          "customLabels": {
            "title": "customLabels",
            "type": "object",
            "description": "Compatibility placeholder only. Enabling this unsupported external analysis/delivery/discovery option fails before result writes."
          },
          "featureRequest": {
            "title": "featureRequest",
            "type": "boolean",
            "description": "Compatibility placeholder only. Enabling this unsupported external analysis/delivery/discovery option fails before result writes."
          },
          "hasPain": {
            "title": "hasPain",
            "type": "boolean",
            "description": "Compatibility placeholder only. Enabling this unsupported external analysis/delivery/discovery option fails before result writes."
          },
          "isOwner": {
            "title": "isOwner",
            "type": "boolean",
            "description": "Compatibility placeholder only. Enabling this unsupported external analysis/delivery/discovery option fails before result writes."
          },
          "isVendor": {
            "title": "isVendor",
            "type": "boolean",
            "description": "Compatibility placeholder only. Enabling this unsupported external analysis/delivery/discovery option fails before result writes."
          },
          "mcpConnector": {
            "title": "mcpConnector",
            "type": "string",
            "description": "Compatibility placeholder only. Enabling this unsupported external analysis/delivery/discovery option fails before result writes."
          },
          "mcpServerToken": {
            "title": "mcpServerToken",
            "type": "string",
            "description": "Compatibility placeholder only. Enabling this unsupported external analysis/delivery/discovery option fails before result writes."
          },
          "mcpServerUrl": {
            "title": "mcpServerUrl",
            "type": "string",
            "description": "Compatibility placeholder only. Enabling this unsupported external analysis/delivery/discovery option fails before result writes."
          },
          "mentionsPrice": {
            "title": "mentionsPrice",
            "type": "boolean",
            "description": "Compatibility placeholder only. Enabling this unsupported external analysis/delivery/discovery option fails before result writes."
          },
          "painPoint": {
            "title": "painPoint",
            "type": "boolean",
            "description": "Compatibility placeholder only. Enabling this unsupported external analysis/delivery/discovery option fails before result writes."
          },
          "searchCommunities": {
            "title": "searchCommunities",
            "type": "boolean",
            "description": "Compatibility placeholder only. Enabling this unsupported external analysis/delivery/discovery option fails before result writes."
          },
          "wantsHelp": {
            "title": "wantsHelp",
            "type": "boolean",
            "description": "Compatibility placeholder only. Enabling this unsupported external analysis/delivery/discovery option fails before result writes."
          },
          "willingToPay": {
            "title": "willingToPay",
            "type": "boolean",
            "description": "Compatibility placeholder only. Enabling this unsupported external analysis/delivery/discovery option fails before result writes."
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}