{
  "openapi": "3.0.1",
  "info": {
    "title": "Google Workspace Marketplace Category Tracker",
    "description": "Track ranked apps in any Google Workspace Marketplace category. Returns app name, developer, rating, review count, pricing model, categories, description, icon URL and direct app URL - sorted by rank.",
    "version": "1.1",
    "x-build-id": "mQKNO4t6I3leVDPHs"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/dataspryva~google-workspace-marketplace-category-tracker/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-dataspryva-google-workspace-marketplace-category-tracker",
        "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/dataspryva~google-workspace-marketplace-category-tracker/runs": {
      "post": {
        "operationId": "runs-sync-dataspryva-google-workspace-marketplace-category-tracker",
        "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/dataspryva~google-workspace-marketplace-category-tracker/run-sync": {
      "post": {
        "operationId": "run-sync-dataspryva-google-workspace-marketplace-category-tracker",
        "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",
        "required": [
          "mode"
        ],
        "properties": {
          "mode": {
            "title": "What to scrape",
            "enum": [
              "category",
              "search",
              "appDetails",
              "reviews"
            ],
            "type": "string",
            "description": "Pick a category/curated list, a keyword search, specific apps, or their reviews.",
            "default": "category"
          },
          "categories": {
            "title": "Categories (mode=category)",
            "type": "array",
            "description": "One or more marketplace categories or curated lists. All selected categories are unioned and deduplicated.",
            "items": {
              "type": "string",
              "enum": [
                "popular-apps",
                "top-rated",
                "featured-partner-apps",
                "recommended",
                "work-from-everywhere",
                "business-essentials",
                "apps-to-discover",
                "google-apps",
                "connectors",
                "business-tools",
                "business-tools/accounting-and-finance",
                "business-tools/administration-and-management",
                "business-tools/erp-and-logistics",
                "business-tools/hr-and-legal",
                "business-tools/marketing-and-analytics",
                "business-tools/sales-and-crm",
                "productivity",
                "productivity/creative-tools",
                "productivity/web-development",
                "productivity/office-applications",
                "productivity/task-management",
                "education",
                "education/academic-resources",
                "education/teacher-and-admin-tools",
                "communication",
                "utilities",
                "enterprise-apps"
              ],
              "enumTitles": [
                "Most Popular",
                "Top Rated",
                "Featured Partner Apps",
                "Recommended for Google Workspace",
                "Work from Everywhere",
                "Business Essentials",
                "Apps to Discover",
                "Built by Google",
                "Connectors (Gemini / Studio)",
                "Business Tools (all)",
                "Business Tools — Accounting & Finance",
                "Business Tools — Administration & Management",
                "Business Tools — ERP & Logistics",
                "Business Tools — HR & Legal",
                "Business Tools — Marketing & Analytics",
                "Business Tools — Sales & CRM",
                "Productivity (all)",
                "Productivity — Creative Tools",
                "Productivity — Web Development",
                "Productivity — Office Applications",
                "Productivity — Task Management",
                "Education (all)",
                "Education — Academic Resources",
                "Education — Teacher & Admin Tools",
                "Communication",
                "Utilities",
                "Enterprise / Admin Managed"
              ]
            },
            "default": [
              "popular-apps"
            ]
          },
          "searchQueries": {
            "title": "Search queries (mode=search)",
            "type": "array",
            "description": "Keywords to search in the marketplace, e.g. \"mail merge\", \"crm\", \"pdf\". Each query is ranked separately and results are deduplicated.",
            "items": {
              "type": "string"
            },
            "default": []
          },
          "appIds": {
            "title": "App IDs or URLs (mode=appDetails or reviews)",
            "type": "array",
            "description": "Numeric app IDs or full marketplace app URLs, e.g. 7081045131 or https://workspace.google.com/marketplace/app/lucidchart/7081045131.",
            "items": {
              "type": "string"
            },
            "default": []
          },
          "worksWith": {
            "title": "Works with",
            "enum": [
              "any",
              "drive",
              "docs",
              "sheets",
              "slides",
              "forms",
              "gmail",
              "calendar",
              "chat",
              "meet",
              "classroom",
              "gemini",
              "studio"
            ],
            "type": "string",
            "description": "Only keep apps that integrate with this Google app. Applied to listings and app lookups.",
            "default": "any"
          },
          "pricing": {
            "title": "Pricing model",
            "enum": [
              "any",
              "free",
              "free-trial",
              "freemium",
              "paid"
            ],
            "type": "string",
            "description": "Only keep apps with this pricing model. Apps that do not state pricing are excluded when a specific model is selected.",
            "default": "any"
          },
          "minRating": {
            "title": "Minimum rating",
            "minimum": 0,
            "maximum": 5,
            "type": "number",
            "description": "Only keep apps rated at least this (0–5). Leave 0 for any rating.",
            "default": 0
          },
          "minReviews": {
            "title": "Minimum review count",
            "minimum": 0,
            "maximum": 1000000000,
            "type": "integer",
            "description": "Only keep apps with at least this many ratings. Leave 0 for any.",
            "default": 0
          },
          "minInstalls": {
            "title": "Minimum installs",
            "minimum": 0,
            "maximum": 1000000000000,
            "type": "integer",
            "description": "Only keep apps with at least this many exact installs. Leave 0 for any.",
            "default": 0
          },
          "developerFilter": {
            "title": "Developer contains",
            "type": "string",
            "description": "Only keep apps whose developer name or website contains this text, e.g. \"zoho\" or \"lucidchart.com\".",
            "default": ""
          },
          "includeDetails": {
            "title": "Include OAuth permissions and security badge",
            "type": "boolean",
            "description": "Open each app page to add the exact OAuth scopes, sensitive-access flags and independent security-verification badge. Adds one request per app.",
            "default": false
          },
          "includeReviews": {
            "title": "Include reviews",
            "type": "boolean",
            "description": "Also output the reviews of every matched app as separate rows (recordType workspace_review). Adds one app page request plus up to maxReviewsPerApp / 10 review-page requests per app.",
            "default": false
          },
          "sortBy": {
            "title": "Review order",
            "enum": [
              "helpful",
              "recent"
            ],
            "type": "string",
            "description": "Order of reviews when reviews are collected.",
            "default": "helpful"
          },
          "minReviewRating": {
            "title": "Minimum review stars",
            "minimum": 1,
            "maximum": 5,
            "type": "integer",
            "description": "Only include reviews with at least this star rating (1–5).",
            "default": 1
          },
          "maxReviewRating": {
            "title": "Maximum review stars",
            "minimum": 1,
            "maximum": 5,
            "type": "integer",
            "description": "Only include reviews with at most this star rating (1–5). Set 2 for complaints only.",
            "default": 5
          },
          "reviewsSince": {
            "title": "Reviews since",
            "type": "string",
            "description": "Only include reviews posted on or after this date, e.g. 2026-01-01. Leave blank for no date limit.",
            "default": ""
          },
          "maxReviewsPerApp": {
            "title": "Max reviews per app",
            "minimum": 1,
            "maximum": 2000,
            "type": "integer",
            "description": "Stop after this many matching reviews per app.",
            "default": 50
          },
          "includeCategoryMembership": {
            "title": "Resolve category membership",
            "type": "boolean",
            "description": "Scan all 27 category listings to fill each app's categories list (top-100 listings only). Adds 27 requests.",
            "default": false
          },
          "maxItems": {
            "title": "Max app records",
            "minimum": 1,
            "maximum": 5000,
            "type": "integer",
            "description": "Maximum app rows to return. Listings are fetched in slices until this many matching apps are found (or the marketplace is exhausted). In reviews mode this caps review rows instead.",
            "default": 100
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}