{
  "data": {
    "id": "tlmcflGALCOnH2XeJ",
    "actId": "RICo17VXeE77pM3QW",
    "userId": "IYgBDiXtHOijAaUel",
    "startedAt": "2026-11-11T18:39:27.593Z",
    "finishedAt": "2026-11-11T18:39:38.722Z",
    "status": "SUCCEEDED",
    "meta": {
      "origin": "CLI"
    },
    "stats": {
      "durationMillis": 11066,
      "runTimeSecs": 11.066,
      "computeUnits": 0.012295555555555556,
      "imageSizeBytes": 319156736
    },
    "options": {
      "useCache": true,
      "betaPackages": false,
      "memoryMbytes": 4096,
      "diskMbytes": 8192
    },
    "createdByOrganizationMemberUserId": "QYo53EZkJk0prePWY",
    "exitCode": 0,
    "inputSchema": "{\n  \"title\": \"GitHub Marketplace Scraper Input\",\n  \"description\": \"Collect GitHub Marketplace apps, integrations and GitHub Actions listings: search by keyword, browse a category, or look up exact slugs and URLs. Returns pricing plans, install counts, verified-creator status, publisher details, permissions and Action repository stats.\",\n  \"type\": \"object\",\n  \"schemaVersion\": 1,\n  \"properties\": {\n    \"mode\": {\n      \"title\": \"Mode\",\n      \"type\": \"string\",\n      \"description\": \"What to collect from GitHub Marketplace.\",\n      \"editor\": \"select\",\n      \"enum\": [\n        \"searchApps\",\n        \"searchActions\",\n        \"searchAll\",\n        \"byCategory\",\n        \"bySlug\"\n      ],\n      \"enumTitles\": [\n        \"Search apps & integrations\",\n        \"Search GitHub Actions\",\n        \"Search apps and Actions together\",\n        \"Browse a category\",\n        \"Look up exact slugs or URLs\"\n      ],\n      \"default\": \"searchApps\",\n      \"prefill\": \"searchApps\"\n    },\n    \"searchQuery\": {\n      \"title\": \"Search query\",\n      \"type\": \"string\",\n      \"description\": \"Keyword to search for (mode=searchApps, searchActions, searchAll). Leave empty to browse the most popular listings.\",\n      \"editor\": \"textfield\",\n      \"default\": \"\",\n      \"prefill\": \"code review\"\n    },\n    \"category\": {\n      \"title\": \"Category\",\n      \"type\": \"string\",\n      \"description\": \"Marketplace category (mode=byCategory, or as an extra filter in the search modes).\",\n      \"editor\": \"select\",\n      \"enum\": [\n        \"agent-apps\",\n        \"ai-assisted\",\n        \"api-management\",\n        \"backup-utilities\",\n        \"chat\",\n        \"code-quality\",\n        \"code-review\",\n        \"code-scanning-ready\",\n        \"code-search\",\n        \"container-ci\",\n        \"continuous-integration\",\n        \"dependency-management\",\n        \"deployment\",\n        \"deployment-protection-rules\",\n        \"desktop-tools\",\n        \"game-ci\",\n        \"github-sponsors\",\n        \"ides\",\n        \"learning\",\n        \"localization\",\n        \"mobile\",\n        \"mobile-ci\",\n        \"monitoring\",\n        \"open-source-management\",\n        \"project-management\",\n        \"publishing\",\n        \"recently-added\",\n        \"reporting\",\n        \"security\",\n        \"support\",\n        \"sustainability\",\n        \"testing\",\n        \"time-tracking\",\n        \"utilities\"\n      ],\n      \"enumTitles\": [\n        \"Agent apps\",\n        \"AI Assisted\",\n        \"API management\",\n        \"Backup Utilities\",\n        \"Chat\",\n        \"Code quality\",\n        \"Code review\",\n        \"Code Scanning Ready\",\n        \"Code search\",\n        \"Container CI\",\n        \"Continuous integration\",\n        \"Dependency management\",\n        \"Deployment\",\n        \"Deployment Protection Rules\",\n        \"Desktop tools\",\n        \"Game CI\",\n        \"GitHub Sponsors\",\n        \"IDEs\",\n        \"Learning\",\n        \"Localization\",\n        \"Mobile\",\n        \"Mobile CI\",\n        \"Monitoring\",\n        \"Open Source management\",\n        \"Project management\",\n        \"Publishing\",\n        \"Recently added\",\n        \"Reporting\",\n        \"Security\",\n        \"Support\",\n        \"Sustainability\",\n        \"Testing\",\n        \"Time tracking\",\n        \"Utilities\"\n      ]\n    },\n    \"categoryType\": {\n      \"title\": \"Category listing type\",\n      \"type\": \"string\",\n      \"description\": \"Whether to browse apps or Actions in mode=byCategory.\",\n      \"editor\": \"select\",\n      \"enum\": [\n        \"apps\",\n        \"actions\"\n      ],\n      \"enumTitles\": [\n        \"Apps & integrations\",\n        \"GitHub Actions\"\n      ],\n      \"default\": \"apps\",\n      \"prefill\": \"apps\"\n    },\n    \"planType\": {\n      \"title\": \"Pricing\",\n      \"type\": \"string\",\n      \"description\": \"Filter by pricing model. Free-trial filtering is server-side; free/paid are checked against each listing's published plans.\",\n      \"editor\": \"select\",\n      \"enum\": [\n        \"all\",\n        \"free\",\n        \"paid\",\n        \"free_trials\"\n      ],\n      \"enumTitles\": [\n        \"All pricing\",\n        \"Has a free plan\",\n        \"Has a paid plan\",\n        \"Free trial available\"\n      ],\n      \"default\": \"all\",\n      \"prefill\": \"all\"\n    },\n    \"verifiedOnly\": {\n      \"title\": \"Verified creators only\",\n      \"type\": \"boolean\",\n      \"description\": \"Only return listings from GitHub-verified creators.\",\n      \"default\": false,\n      \"prefill\": false\n    },\n    \"sortBy\": {\n      \"title\": \"Sort by\",\n      \"type\": \"string\",\n      \"description\": \"How to order the results.\",\n      \"editor\": \"select\",\n      \"enum\": [\n        \"best-match\",\n        \"most-installed\",\n        \"newest\"\n      ],\n      \"enumTitles\": [\n        \"Best match\",\n        \"Most installed / most popular\",\n        \"Recently added\"\n      ],\n      \"default\": \"best-match\",\n      \"prefill\": \"best-match\"\n    },\n    \"owners\": {\n      \"title\": \"Publisher logins (optional)\",\n      \"type\": \"array\",\n      \"description\": \"Keep only listings published by these GitHub accounts, e.g. 'actions' or 'hashicorp'. Case-insensitive. Needs detail data, which the actor always fetches.\",\n      \"editor\": \"stringList\",\n      \"default\": [],\n      \"prefill\": []\n    },\n    \"minInstalls\": {\n      \"title\": \"Minimum installs (apps)\",\n      \"type\": \"integer\",\n      \"description\": \"Only return apps with at least this many installations. Actions have stars instead, so this filter excludes them.\",\n      \"minimum\": 0,\n      \"maximum\": 100000000,\n      \"default\": 0,\n      \"prefill\": 0\n    },\n    \"minStars\": {\n      \"title\": \"Minimum stars (Actions)\",\n      \"type\": \"integer\",\n      \"description\": \"Only return Actions whose repository has at least this many stars. Apps have install counts instead, so this filter excludes them.\",\n      \"minimum\": 0,\n      \"maximum\": 100000000,\n      \"default\": 0,\n      \"prefill\": 0\n    },\n    \"slugs\": {\n      \"title\": \"Slugs or URLs (mode=bySlug)\",\n      \"type\": \"array\",\n      \"description\": \"Listing slugs, marketplace paths or full URLs, e.g. 'codecov', 'github-pages', '/marketplace/actions/checkout' or 'https://github.com/marketplace/snyk'. Apps and Actions are detected automatically.\",\n      \"editor\": \"stringList\",\n      \"default\": [],\n      \"prefill\": []\n    },\n    \"maxItems\": {\n      \"title\": \"Max listings\",\n      \"type\": \"integer\",\n      \"description\": \"Maximum number of listings to save.\",\n      \"minimum\": 1,\n      \"maximum\": 1000,\n      \"default\": 50,\n      \"prefill\": 50\n    }\n  },\n  \"required\": [\n    \"mode\"\n  ]\n}",
    "readme": "# GitHub Marketplace Apps & Actions Listing Collector\n\nCollect structured data on GitHub Marketplace apps, integrations and GitHub Actions without a GitHub account, OAuth token or API key. Search by keyword, browse any of the 34 marketplace categories, or look up exact listings by slug or URL.\n\n## What this actor does\n\n- **Search apps and integrations** by keyword across the whole marketplace\n- **Search GitHub Actions** as a separate listing type\n- **Search both at once** and get the two types interleaved by marketplace rank\n- **Browse a category** — 34 real marketplace categories, for apps or Actions\n- **Look up exact listings** by slug, marketplace path or full URL; app and Action forms are detected automatically\n- **Filter by pricing** — free trial (server-side), has a free plan, has a paid plan\n- **Filter by verified creator** — only listings from GitHub-verified publishers\n- **Filter by publisher login, minimum installs or minimum Action stars**\n- **Sort by best match, popularity/installs or recently added**\n- **Paginate to the marketplace's own limits** — 20 listings per page, up to your `maxItems`\n\nEvery record is built from the marketplace's own embedded JSON, not from marketing HTML, so pricing plans, install counts, publisher details, permissions and Action repository stats are exact values rather than guesses.\n\n## Output per listing\n\nCommon fields:\n\n- `listingId`, `listingType` (`app` or `action`), `slug`, `name`, `shortDescription`\n- `fullDescription`, `extendedDescription` — plain text converted from the listing HTML\n- `url`, `sourceUrl`, `logoUrl`, `rank` (1-based position in the result stream), `searchQuery`, `searchCategory`\n- `categories` (slugs) and `categoryNames` (display names)\n- `planType`, `hasFreePlan`, `hasPaidPlan`, `hasFreeTrial`, `freeTrialLength`, `isBuyable`\n- `pricing[]` — plan name, description, monthly/yearly price in cents, formatted price, per-unit flag, unit name, free-trial flag, paid flag, bullets and plan ID\n- `installedCount` (apps), `stars` (Actions)\n- `verifiedPublisher`, `publisherName`, `publisherLogin`, `publisherUrl`, `publisherAvatarUrl`, `publisherType`\n- `brandColor`, `documentationUrl`, `privacyPolicyUrl`, `tosUrl`, `statusUrl`, `supportUrl`, `supportEmail`, `pricingUrl`\n- `recordType` (always `githubMarketplaceListing`), `scrapedAt` (ISO-8601 UTC)\n\nApp-specific fields:\n\n- `businessId`, `euTrader`, `traderAddress`, `publisher2faRequired`, `transparencyDisclosure`\n- `thirdPartyServices` (GitHub's own declaration; it can literally be `None` when the publisher declares no third-party services), `verifiedDomain`, `verifiedProfileDomains`, `supportedLanguages`\n- `permissions[]` — scope, permission level and the granted values\n- `repositoryUrl`, `repositoryVisibility`, `listableType`, `isCopilotApp`\n\nAction-specific fields:\n\n- `usesRef` — the `owner/repo@` prefix used in workflow files\n- `repository` — name, owner, URL, third-party/organization flags, contributor count, open issues and pull requests, issues/security-policy/discussions flags\n- `latestRelease` and `releases[]` — tag name, release name and pre-release flag\n\nEmpty fields are omitted rather than returned as `null` or a blank value.\n\n## Input\n\n| Field | Type | Default | Description |\n|---|---|---|---|\n| `mode` | select | `searchApps` | `searchApps`, `searchActions`, `searchAll`, `byCategory` or `bySlug` |\n| `searchQuery` | text | empty | Keyword for the search modes; leave empty to browse popular listings |\n| `category` | select | — | One of 34 marketplace categories (mode=byCategory or as a search filter) |\n| `categoryType` | select | `apps` | `apps` or `actions` when browsing a category |\n| `planType` | select | `all` | `all`, `free`, `paid` or `free_trials` |\n| `verifiedOnly` | boolean | `false` | Only GitHub-verified creators |\n| `sortBy` | select | `best-match` | `best-match`, `most-installed` or `newest` |\n| `owners` | string list | `[]` | Keep only these publisher logins |\n| `minInstalls` | integer | `0` | Minimum install count (apps) |\n| `minStars` | integer | `0` | Minimum repository stars (Actions) |\n| `slugs` | string list | `[]` | Slugs, paths or URLs for mode=bySlug |\n| `maxItems` | integer | `50` | Maximum listings to save (1–1000) |\n\n### Example: search for code-review apps with a free trial\n\n```json\n{\n  \"mode\": \"searchApps\",\n  \"searchQuery\": \"code review\",\n  \"planType\": \"free_trials\",\n  \"verifiedOnly\": true,\n  \"sortBy\": \"most-installed\",\n  \"maxItems\": 50\n}\n```\n\n### Example: browse the security category for Actions\n\n```json\n{\n  \"mode\": \"byCategory\",\n  \"category\": \"security\",\n  \"categoryType\": \"actions\",\n  \"sortBy\": \"newest\",\n  \"maxItems\": 50\n}\n```\n\n### Example: apps and Actions together\n\n```json\n{\n  \"mode\": \"searchAll\",\n  \"searchQuery\": \"deploy to aws\",\n  \"maxItems\": 40\n}\n```\n\n### Example: exact listings by slug or URL\n\n```json\n{\n  \"mode\": \"bySlug\",\n  \"slugs\": [\n    \"codecov\",\n    \"github-pages\",\n    \"https://github.com/marketplace/actions/checkout\",\n    \"https://github.com/marketplace/snyk\"\n  ]\n}\n```\n\n### Example: only large apps from one publisher\n\n```json\n{\n  \"mode\": \"searchApps\",\n  \"searchQuery\": \"monitoring\",\n  \"owners\": [\"datadog\"],\n  \"minInstalls\": 1000,\n  \"maxItems\": 20\n}\n```\n\n## Use cases\n\n- **DevOps tooling research** — compare CI/CD, deployment and monitoring integrations before adding one to a pipeline\n- **Vendor and market mapping** — catalog every listing in a category, with install counts and pricing tiers\n- **Pricing benchmarking** — collect monthly/yearly and per-seat prices, free plans and trial lengths in one dataset\n- **Action due diligence** — compare Action stars, latest releases, contributors and open issue counts\n- **Publisher tracking** — filter a search or category down to specific GitHub accounts\n- **Link collection** — resolve a list of slugs or URLs into canonical marketplace records\n\n## FAQ\n\n**Do I need a GitHub account, token or proxy?** No. The actor reads public GitHub Marketplace pages with no authentication, cookies or proxy configuration.\n\n**Why are install counts exact for apps but Actions use stars?** GitHub Marketplace publishes an installation count on app listings. Action listings publish the source repository's star count instead; the actor returns whichever metric the listing actually has.\n\n**How does pricing filtering work?** `free_trials` uses GitHub's own free-trial filter. `free` and `paid` are checked against each listing's published plans after the detail page is read, so they are exact rather than text guesses. A listing with both a free plan and a paid plan counts as having both; `planType` reports `paid` as the primary type while `hasFreePlan` stays `true`. Actions are not sold through Marketplace billing plans, so the `free`, `paid` and `free_trials` filters return apps only; use `minStars` to filter Actions.\n\n**Why can a narrow filter take longer?** `minInstalls`, `minStars`, `owners` and the free/paid checks are applied after each listing's detail page is read, because GitHub does not expose them as server-side filters. The actor stops after a bounded number of consecutive pages with no match rather than scanning the entire catalogue.\n\n**Why is there no rating field?** GitHub Marketplace does not publish star ratings or review scores for listings. The actor does not invent one.\n\n**Why are screenshots missing?** GitHub serves listing screenshots from signed URLs that expire after five minutes. Shipping them would produce broken links; the listing `url` opens the gallery instead.\n\n**How many listings can I get?** Apps: all 1,408 currently listed. Actions: GitHub caps a single query at 500 result pages (10,000 listings); use a narrower keyword or category to reach different slices. `maxItems` is capped at 1,000 per run.\n\n**Does it cover AI model listings?** No. GitHub Marketplace also lists AI models, but they use a different schema (no slug, model registry fields). This actor focuses on apps, integrations and Actions.\n\n**Does it monitor changes between runs?** No. It is a stateless collector; save each dataset and compare snapshots on your side.\n\n**Is this affiliated with GitHub?** No. It is an independent actor that reads GitHub Marketplace's public pages.\n\n## Limitations\n\n- No ratings or reviews (GitHub Marketplace has none).\n- Screenshot URLs are signed and expire; they are not emitted.\n- One Action query reaches at most 500 pages / 10,000 listings (GitHub's cap). Split by category, keyword or sort order for wider coverage.\n- Support email, repository URL and some legal fields are published only for a subset of apps; they are omitted when absent.\n- Action README content is not emitted; the listing `url` links to it.\n- The actor does not install apps or Actions and does not access private repositories.\n",
    "actorDefinition": {
      "actorSpecification": 1,
      "name": "github-marketplace-app-and-action-listings",
      "title": "GitHub Marketplace Apps & Actions Listing Collector",
      "description": "Search or browse GitHub Marketplace apps, integrations and GitHub Actions. Returns exact install counts, pricing plans, verified-creator status, publisher details, permissions and Action repository stats. No GitHub account or token needed.",
      "version": "1.0",
      "buildTag": "latest",
      "defaultMemoryMbytes": 1024,
      "dockerfile": "./Dockerfile",
      "readme": "# GitHub Marketplace Apps & Actions Listing Collector\n\nCollect structured data on GitHub Marketplace apps, integrations and GitHub Actions without a GitHub account, OAuth token or API key. Search by keyword, browse any of the 34 marketplace categories, or look up exact listings by slug or URL.\n\n## What this actor does\n\n- **Search apps and integrations** by keyword across the whole marketplace\n- **Search GitHub Actions** as a separate listing type\n- **Search both at once** and get the two types interleaved by marketplace rank\n- **Browse a category** — 34 real marketplace categories, for apps or Actions\n- **Look up exact listings** by slug, marketplace path or full URL; app and Action forms are detected automatically\n- **Filter by pricing** — free trial (server-side), has a free plan, has a paid plan\n- **Filter by verified creator** — only listings from GitHub-verified publishers\n- **Filter by publisher login, minimum installs or minimum Action stars**\n- **Sort by best match, popularity/installs or recently added**\n- **Paginate to the marketplace's own limits** — 20 listings per page, up to your `maxItems`\n\nEvery record is built from the marketplace's own embedded JSON, not from marketing HTML, so pricing plans, install counts, publisher details, permissions and Action repository stats are exact values rather than guesses.\n\n## Output per listing\n\nCommon fields:\n\n- `listingId`, `listingType` (`app` or `action`), `slug`, `name`, `shortDescription`\n- `fullDescription`, `extendedDescription` — plain text converted from the listing HTML\n- `url`, `sourceUrl`, `logoUrl`, `rank` (1-based position in the result stream), `searchQuery`, `searchCategory`\n- `categories` (slugs) and `categoryNames` (display names)\n- `planType`, `hasFreePlan`, `hasPaidPlan`, `hasFreeTrial`, `freeTrialLength`, `isBuyable`\n- `pricing[]` — plan name, description, monthly/yearly price in cents, formatted price, per-unit flag, unit name, free-trial flag, paid flag, bullets and plan ID\n- `installedCount` (apps), `stars` (Actions)\n- `verifiedPublisher`, `publisherName`, `publisherLogin`, `publisherUrl`, `publisherAvatarUrl`, `publisherType`\n- `brandColor`, `documentationUrl`, `privacyPolicyUrl`, `tosUrl`, `statusUrl`, `supportUrl`, `supportEmail`, `pricingUrl`\n- `recordType` (always `githubMarketplaceListing`), `scrapedAt` (ISO-8601 UTC)\n\nApp-specific fields:\n\n- `businessId`, `euTrader`, `traderAddress`, `publisher2faRequired`, `transparencyDisclosure`\n- `thirdPartyServices` (GitHub's own declaration; it can literally be `None` when the publisher declares no third-party services), `verifiedDomain`, `verifiedProfileDomains`, `supportedLanguages`\n- `permissions[]` — scope, permission level and the granted values\n- `repositoryUrl`, `repositoryVisibility`, `listableType`, `isCopilotApp`\n\nAction-specific fields:\n\n- `usesRef` — the `owner/repo@` prefix used in workflow files\n- `repository` — name, owner, URL, third-party/organization flags, contributor count, open issues and pull requests, issues/security-policy/discussions flags\n- `latestRelease` and `releases[]` — tag name, release name and pre-release flag\n\nEmpty fields are omitted rather than returned as `null` or a blank value.\n\n## Input\n\n| Field | Type | Default | Description |\n|---|---|---|---|\n| `mode` | select | `searchApps` | `searchApps`, `searchActions`, `searchAll`, `byCategory` or `bySlug` |\n| `searchQuery` | text | empty | Keyword for the search modes; leave empty to browse popular listings |\n| `category` | select | — | One of 34 marketplace categories (mode=byCategory or as a search filter) |\n| `categoryType` | select | `apps` | `apps` or `actions` when browsing a category |\n| `planType` | select | `all` | `all`, `free`, `paid` or `free_trials` |\n| `verifiedOnly` | boolean | `false` | Only GitHub-verified creators |\n| `sortBy` | select | `best-match` | `best-match`, `most-installed` or `newest` |\n| `owners` | string list | `[]` | Keep only these publisher logins |\n| `minInstalls` | integer | `0` | Minimum install count (apps) |\n| `minStars` | integer | `0` | Minimum repository stars (Actions) |\n| `slugs` | string list | `[]` | Slugs, paths or URLs for mode=bySlug |\n| `maxItems` | integer | `50` | Maximum listings to save (1–1000) |\n\n### Example: search for code-review apps with a free trial\n\n```json\n{\n  \"mode\": \"searchApps\",\n  \"searchQuery\": \"code review\",\n  \"planType\": \"free_trials\",\n  \"verifiedOnly\": true,\n  \"sortBy\": \"most-installed\",\n  \"maxItems\": 50\n}\n```\n\n### Example: browse the security category for Actions\n\n```json\n{\n  \"mode\": \"byCategory\",\n  \"category\": \"security\",\n  \"categoryType\": \"actions\",\n  \"sortBy\": \"newest\",\n  \"maxItems\": 50\n}\n```\n\n### Example: apps and Actions together\n\n```json\n{\n  \"mode\": \"searchAll\",\n  \"searchQuery\": \"deploy to aws\",\n  \"maxItems\": 40\n}\n```\n\n### Example: exact listings by slug or URL\n\n```json\n{\n  \"mode\": \"bySlug\",\n  \"slugs\": [\n    \"codecov\",\n    \"github-pages\",\n    \"https://github.com/marketplace/actions/checkout\",\n    \"https://github.com/marketplace/snyk\"\n  ]\n}\n```\n\n### Example: only large apps from one publisher\n\n```json\n{\n  \"mode\": \"searchApps\",\n  \"searchQuery\": \"monitoring\",\n  \"owners\": [\"datadog\"],\n  \"minInstalls\": 1000,\n  \"maxItems\": 20\n}\n```\n\n## Use cases\n\n- **DevOps tooling research** — compare CI/CD, deployment and monitoring integrations before adding one to a pipeline\n- **Vendor and market mapping** — catalog every listing in a category, with install counts and pricing tiers\n- **Pricing benchmarking** — collect monthly/yearly and per-seat prices, free plans and trial lengths in one dataset\n- **Action due diligence** — compare Action stars, latest releases, contributors and open issue counts\n- **Publisher tracking** — filter a search or category down to specific GitHub accounts\n- **Link collection** — resolve a list of slugs or URLs into canonical marketplace records\n\n## FAQ\n\n**Do I need a GitHub account, token or proxy?** No. The actor reads public GitHub Marketplace pages with no authentication, cookies or proxy configuration.\n\n**Why are install counts exact for apps but Actions use stars?** GitHub Marketplace publishes an installation count on app listings. Action listings publish the source repository's star count instead; the actor returns whichever metric the listing actually has.\n\n**How does pricing filtering work?** `free_trials` uses GitHub's own free-trial filter. `free` and `paid` are checked against each listing's published plans after the detail page is read, so they are exact rather than text guesses. A listing with both a free plan and a paid plan counts as having both; `planType` reports `paid` as the primary type while `hasFreePlan` stays `true`. Actions are not sold through Marketplace billing plans, so the `free`, `paid` and `free_trials` filters return apps only; use `minStars` to filter Actions.\n\n**Why can a narrow filter take longer?** `minInstalls`, `minStars`, `owners` and the free/paid checks are applied after each listing's detail page is read, because GitHub does not expose them as server-side filters. The actor stops after a bounded number of consecutive pages with no match rather than scanning the entire catalogue.\n\n**Why is there no rating field?** GitHub Marketplace does not publish star ratings or review scores for listings. The actor does not invent one.\n\n**Why are screenshots missing?** GitHub serves listing screenshots from signed URLs that expire after five minutes. Shipping them would produce broken links; the listing `url` opens the gallery instead.\n\n**How many listings can I get?** Apps: all 1,408 currently listed. Actions: GitHub caps a single query at 500 result pages (10,000 listings); use a narrower keyword or category to reach different slices. `maxItems` is capped at 1,000 per run.\n\n**Does it cover AI model listings?** No. GitHub Marketplace also lists AI models, but they use a different schema (no slug, model registry fields). This actor focuses on apps, integrations and Actions.\n\n**Does it monitor changes between runs?** No. It is a stateless collector; save each dataset and compare snapshots on your side.\n\n**Is this affiliated with GitHub?** No. It is an independent actor that reads GitHub Marketplace's public pages.\n\n## Limitations\n\n- No ratings or reviews (GitHub Marketplace has none).\n- Screenshot URLs are signed and expire; they are not emitted.\n- One Action query reaches at most 500 pages / 10,000 listings (GitHub's cap). Split by category, keyword or sort order for wider coverage.\n- Support email, repository URL and some legal fields are published only for a subset of apps; they are omitted when absent.\n- Action README content is not emitted; the listing `url` links to it.\n- The actor does not install apps or Actions and does not access private repositories.\n",
      "input": {
        "title": "GitHub Marketplace Scraper Input",
        "description": "Collect GitHub Marketplace apps, integrations and GitHub Actions listings: search by keyword, browse a category, or look up exact slugs and URLs. Returns pricing plans, install counts, verified-creator status, publisher details, permissions and Action repository stats.",
        "type": "object",
        "schemaVersion": 1,
        "properties": {
          "mode": {
            "title": "Mode",
            "type": "string",
            "description": "What to collect from GitHub Marketplace.",
            "editor": "select",
            "enum": [
              "searchApps",
              "searchActions",
              "searchAll",
              "byCategory",
              "bySlug"
            ],
            "enumTitles": [
              "Search apps & integrations",
              "Search GitHub Actions",
              "Search apps and Actions together",
              "Browse a category",
              "Look up exact slugs or URLs"
            ],
            "default": "searchApps",
            "prefill": "searchApps"
          },
          "searchQuery": {
            "title": "Search query",
            "type": "string",
            "description": "Keyword to search for (mode=searchApps, searchActions, searchAll). Leave empty to browse the most popular listings.",
            "editor": "textfield",
            "default": "",
            "prefill": "code review"
          },
          "category": {
            "title": "Category",
            "type": "string",
            "description": "Marketplace category (mode=byCategory, or as an extra filter in the search modes).",
            "editor": "select",
            "enum": [
              "agent-apps",
              "ai-assisted",
              "api-management",
              "backup-utilities",
              "chat",
              "code-quality",
              "code-review",
              "code-scanning-ready",
              "code-search",
              "container-ci",
              "continuous-integration",
              "dependency-management",
              "deployment",
              "deployment-protection-rules",
              "desktop-tools",
              "game-ci",
              "github-sponsors",
              "ides",
              "learning",
              "localization",
              "mobile",
              "mobile-ci",
              "monitoring",
              "open-source-management",
              "project-management",
              "publishing",
              "recently-added",
              "reporting",
              "security",
              "support",
              "sustainability",
              "testing",
              "time-tracking",
              "utilities"
            ],
            "enumTitles": [
              "Agent apps",
              "AI Assisted",
              "API management",
              "Backup Utilities",
              "Chat",
              "Code quality",
              "Code review",
              "Code Scanning Ready",
              "Code search",
              "Container CI",
              "Continuous integration",
              "Dependency management",
              "Deployment",
              "Deployment Protection Rules",
              "Desktop tools",
              "Game CI",
              "GitHub Sponsors",
              "IDEs",
              "Learning",
              "Localization",
              "Mobile",
              "Mobile CI",
              "Monitoring",
              "Open Source management",
              "Project management",
              "Publishing",
              "Recently added",
              "Reporting",
              "Security",
              "Support",
              "Sustainability",
              "Testing",
              "Time tracking",
              "Utilities"
            ]
          },
          "categoryType": {
            "title": "Category listing type",
            "type": "string",
            "description": "Whether to browse apps or Actions in mode=byCategory.",
            "editor": "select",
            "enum": [
              "apps",
              "actions"
            ],
            "enumTitles": [
              "Apps & integrations",
              "GitHub Actions"
            ],
            "default": "apps",
            "prefill": "apps"
          },
          "planType": {
            "title": "Pricing",
            "type": "string",
            "description": "Filter by pricing model. Free-trial filtering is server-side; free/paid are checked against each listing's published plans.",
            "editor": "select",
            "enum": [
              "all",
              "free",
              "paid",
              "free_trials"
            ],
            "enumTitles": [
              "All pricing",
              "Has a free plan",
              "Has a paid plan",
              "Free trial available"
            ],
            "default": "all",
            "prefill": "all"
          },
          "verifiedOnly": {
            "title": "Verified creators only",
            "type": "boolean",
            "description": "Only return listings from GitHub-verified creators.",
            "default": false,
            "prefill": false
          },
          "sortBy": {
            "title": "Sort by",
            "type": "string",
            "description": "How to order the results.",
            "editor": "select",
            "enum": [
              "best-match",
              "most-installed",
              "newest"
            ],
            "enumTitles": [
              "Best match",
              "Most installed / most popular",
              "Recently added"
            ],
            "default": "best-match",
            "prefill": "best-match"
          },
          "owners": {
            "title": "Publisher logins (optional)",
            "type": "array",
            "description": "Keep only listings published by these GitHub accounts, e.g. 'actions' or 'hashicorp'. Case-insensitive. Needs detail data, which the actor always fetches.",
            "editor": "stringList",
            "default": [],
            "prefill": []
          },
          "minInstalls": {
            "title": "Minimum installs (apps)",
            "type": "integer",
            "description": "Only return apps with at least this many installations. Actions have stars instead, so this filter excludes them.",
            "minimum": 0,
            "maximum": 100000000,
            "default": 0,
            "prefill": 0
          },
          "minStars": {
            "title": "Minimum stars (Actions)",
            "type": "integer",
            "description": "Only return Actions whose repository has at least this many stars. Apps have install counts instead, so this filter excludes them.",
            "minimum": 0,
            "maximum": 100000000,
            "default": 0,
            "prefill": 0
          },
          "slugs": {
            "title": "Slugs or URLs (mode=bySlug)",
            "type": "array",
            "description": "Listing slugs, marketplace paths or full URLs, e.g. 'codecov', 'github-pages', '/marketplace/actions/checkout' or 'https://github.com/marketplace/snyk'. Apps and Actions are detected automatically.",
            "editor": "stringList",
            "default": [],
            "prefill": []
          },
          "maxItems": {
            "title": "Max listings",
            "type": "integer",
            "description": "Maximum number of listings to save.",
            "minimum": 1,
            "maximum": 1000,
            "default": 50,
            "prefill": 50
          }
        },
        "required": [
          "mode"
        ]
      },
      "output": {
        "actorOutputSchemaVersion": 1,
        "title": "GitHub Marketplace Apps & Actions Listing Collector Output",
        "description": "GitHub Marketplace listings - apps, integrations and Actions with install counts, pricing plans, verified-creator status, publisher details, permissions, categories and Action repository stats.",
        "properties": {
          "listings": {
            "type": "string",
            "title": "GitHub Marketplace listings",
            "description": "Dataset containing all scraped GitHub Marketplace listings.",
            "template": "{{links.apiDefaultDatasetUrl}}/items"
          }
        }
      },
      "storages": {
        "dataset": {
          "actorSpecification": 1,
          "views": {
            "overview": {
              "title": "Marketplace Listings",
              "transformation": {
                "fields": [
                  "name",
                  "listingType",
                  "slug",
                  "installedCount",
                  "stars",
                  "planType",
                  "verifiedPublisher",
                  "publisherName",
                  "url"
                ]
              },
              "display": {
                "component": "table",
                "properties": {}
              }
            }
          }
        }
      },
      "environmentVariables": {}
    },
    "buildNumber": "1.0.2",
    "imageDigest": "2875ae29f8b9a1121a177ad8a04f87487e6439fcd1be6f03878d9f96c4acbc38",
    "actVersion": {
      "sourceType": "SOURCE_FILES",
      "buildTag": "latest",
      "versionNumber": "1.0"
    },
    "usage": {
      "ACTOR_COMPUTE_UNITS": 0.012295555555555556
    }
  }
}