{
  "openapi": "3.0.1",
  "info": {
    "title": "Chrome Web Store Scraper With Last Update & Size",
    "description": "Scrape Chrome Web Store extensions with names, ratings, reviews, categories, developer details, last update dates, sizes, permissions, and descriptions. Ideal for extension research, competitor analysis, market intelligence, and Chrome Web Store monitoring.",
    "version": "0.1",
    "x-build-id": "4SkDa1gycdej1UGKx"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/simpleapi~chrome-web-store-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-simpleapi-chrome-web-store-scraper",
        "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/simpleapi~chrome-web-store-scraper/runs": {
      "post": {
        "operationId": "runs-sync-simpleapi-chrome-web-store-scraper",
        "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/simpleapi~chrome-web-store-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-simpleapi-chrome-web-store-scraper",
        "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": {
          "mode": {
            "title": "📋 Discovery mode",
            "enum": [
              "url",
              "search"
            ],
            "type": "string",
            "description": "🔗 `url` — scrape one or more Chrome Web Store listing URLs (category, search result, or sitemap pages).\n🔎 `search` — build the search URL from the keyword + filter fields below.",
            "default": "url"
          },
          "startUrls": {
            "title": "🔗 Extension / listing URLs (URL mode)",
            "type": "array",
            "description": "Chrome Web Store category / collection / search-result URLs to crawl. Used only when Discovery mode is set to **🔗 URL list**.",
            "items": {
              "type": "string"
            }
          },
          "searchQuery": {
            "title": "🔍 Search term (Search mode)",
            "type": "string",
            "description": "Keyword to search the Chrome Web Store for. Used only when Discovery mode is set to **🔎 Search keyword**.",
            "default": "ai"
          },
          "itemTypes": {
            "title": "🧰 Item type filter (Search mode)",
            "uniqueItems": true,
            "type": "array",
            "description": "Filter search results by item type. Leave empty for **no filter**.",
            "items": {
              "type": "string",
              "enum": [
                "EXTENSION",
                "THEME"
              ],
              "enumTitles": [
                "🧩 Extensions",
                "🎨 Themes"
              ]
            },
            "default": [
              "EXTENSION"
            ]
          },
          "filterBy": {
            "title": "🏅 Listing quality filters (Search mode)",
            "uniqueItems": true,
            "type": "array",
            "description": "Restrict search results to featured listings and/or established publishers. Leave empty for **no filter**.",
            "items": {
              "type": "string",
              "enum": [
                "featured",
                "establishedPublisher"
              ],
              "enumTitles": [
                "⭐ Featured",
                "🏅 Established publisher"
              ]
            },
            "default": []
          },
          "minimalRating": {
            "title": "🌟 Minimum rating (Search mode)",
            "minimum": 0,
            "maximum": 5,
            "type": "integer",
            "description": "Only include results rated **at or above** this many stars. Set to `0` to disable the filter.",
            "default": 0
          },
          "maxItems": {
            "title": "🔢 Max extensions to vet",
            "minimum": 1,
            "maximum": 50000,
            "type": "integer",
            "description": "Hard cap on how many extensions the run will collect. Detail scraping stops as soon as this limit is reached.",
            "default": 10
          },
          "extractManifest": {
            "title": "📦 Include full manifest JSON",
            "type": "boolean",
            "description": "When **on**, every record carries the full Chrome extension manifest dictionary. When **off**, the bulky `manifest` blob is dropped (summary fields like `version`, `permissions`, `manifestVersion` are kept either way).",
            "default": false
          },
          "includeMaintenanceDetails": {
            "title": "🛠️ Include maintenance & size details",
            "type": "boolean",
            "description": "When **on** (default), every record gets `lastUpdatedAt`, `firstPublishedAt`, `packageSize`/`packageSizeMb`, `minimumChromeVersion`, `listingLanguages[]` and `listingLanguageNames[]`. When **off**, those seven fields are dropped entirely (not set to null) — same convention as `extractManifest`.",
            "default": true
          },
          "updatedWithinDays": {
            "title": "📅 Only extensions updated within N days",
            "minimum": 0,
            "type": "integer",
            "description": "Drop any extension whose last store update is older than this many days (compared to the run clock). Set to `0` to disable — a **single-run** freshness read, not cross-run change tracking.",
            "default": 0
          },
          "maxPackageSizeMb": {
            "title": "💾 Max package size (MB)",
            "minimum": 0,
            "type": "integer",
            "description": "Drop any extension whose package size is larger than this many megabytes (parsed from the store's own MiB/KiB display string). Set to `0` to disable.",
            "default": 0
          },
          "listingLanguages": {
            "title": "🌐 Keep only these listing language codes",
            "type": "array",
            "description": "Drop any extension whose listing language codes (e.g. `en`, `es`, `ja`) share none with this list. Leave empty for **no filter**.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "proxyConfiguration": {
            "title": "🛡️ Proxy configuration",
            "type": "object",
            "description": "Override the starting tier. Leave **useApifyProxy** off to begin direct (the ladder still auto-escalates on block). Turn it on and pick **RESIDENTIAL** to start there straight away."
          }
        }
      },
      "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
                  }
                }
              },
              "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}