{
  "openapi": "3.0.1",
  "info": {
    "title": "Chrome Web Store & Firefox Add-ons Data - Users, Ratings",
    "description": "Chrome Web Store & Firefox Add-ons data: users, rating, rating count, version, last updated, size, developer, category, featured badge, Firefox permissions & reviews. Bulk IDs, sitemap/category discovery, change tracking. $1 per 1,000.",
    "version": "0.1",
    "x-build-id": "Meg7VvMCvFtbwxLfd"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/gazidev~browser-extension-store-data/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-gazidev-browser-extension-store-data",
        "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/gazidev~browser-extension-store-data/runs": {
      "post": {
        "operationId": "runs-sync-gazidev-browser-extension-store-data",
        "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/gazidev~browser-extension-store-data/run-sync": {
      "post": {
        "operationId": "run-sync-gazidev-browser-extension-store-data",
        "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": {
          "extensionUrls": {
            "title": "Extension URLs or IDs (Chrome and/or Firefox)",
            "type": "array",
            "description": "Chrome Web Store URLs (chromewebstore.google.com/detail/... or old chrome.google.com/webstore/... links) or bare 32-letter Chrome extension IDs, and Firefox add-on URLs (addons.mozilla.org/.../addon/<slug>/), slugs, GUIDs or numeric ids. The store is detected automatically; prefix with 'chrome:' or 'firefox:' to force it.",
            "items": {
              "type": "string"
            }
          },
          "chromeCategories": {
            "title": "Chrome categories (discovery)",
            "type": "array",
            "description": "Chrome Web Store category paths, e.g. 'productivity/workflow', 'productivity/developer', 'lifestyle/shopping', 'make_chrome_yours/privacy', or full category URLs. The Actor reads the extensions listed on the server-rendered category page (usually ~30 per category) and fetches each detail page. Keyword search is not offered because chromewebstore.google.com/robots.txt disallows /search.",
            "items": {
              "type": "string"
            }
          },
          "fromSitemap": {
            "title": "Discover Chrome extensions from the official sitemap",
            "type": "boolean",
            "description": "Walk the public Chrome Web Store sitemap (chromewebstore.google.com/sitemap, ~8,000 listings per shard) and fetch detail pages until 'Max extensions' is reached. Use 'Sitemap start shard' to continue where the previous run stopped (see nextSitemapShard in the OUTPUT record).",
            "default": false
          },
          "sitemapStartShard": {
            "title": "Sitemap start shard",
            "minimum": 0,
            "type": "integer",
            "description": "First sitemap shard to read when 'Discover from sitemap' is on.",
            "default": 0
          },
          "firefoxQuery": {
            "title": "Firefox search query",
            "type": "string",
            "description": "Search Firefox add-ons (extensions) through the public addons.mozilla.org API, e.g. 'password manager', 'ad blocker'. Leave empty to skip."
          },
          "firefoxSort": {
            "title": "Firefox search sort",
            "enum": [
              "users",
              "rating",
              "updated",
              "created",
              "downloads",
              "relevance"
            ],
            "type": "string",
            "description": "Order of Firefox search results.",
            "default": "users"
          },
          "includeFirefoxReviews": {
            "title": "Include Firefox reviews",
            "type": "boolean",
            "description": "Attach the newest user reviews (rating, text, author display name, date, version, developer reply) to each Firefox add-on as a 'reviews' array. Charged per review. Chrome reviews are not available: chromewebstore.google.com/robots.txt disallows review pages.",
            "default": false
          },
          "maxReviewsPerAddon": {
            "title": "Max reviews per Firefox add-on",
            "minimum": 0,
            "maximum": 5000,
            "type": "integer",
            "description": "Newest reviews to attach per Firefox add-on when 'Include Firefox reviews' is on.",
            "default": 20
          },
          "onlyChanged": {
            "title": "Only changed (monitor mode)",
            "type": "boolean",
            "description": "Compare with the snapshot saved by previous runs (same 'State key') and output only extensions whose users, rating or version changed, plus extensions seen for the first time. Unchanged extensions are skipped and not charged. Schedule the Actor daily or weekly to track competitors.",
            "default": false
          },
          "stateKey": {
            "title": "State key",
            "type": "string",
            "description": "Name of the snapshot used for change tracking (deltas and monitor mode). Use a different key per watch-list.",
            "default": "default"
          },
          "includeDescription": {
            "title": "Include full description",
            "type": "boolean",
            "description": "Add the full listing description (can be several KB per extension). The short summary is always included.",
            "default": false
          },
          "maxItems": {
            "title": "Max extensions",
            "minimum": 0,
            "type": "integer",
            "description": "Maximum number of extensions fetched in this run (all sources together). 0 = no limit.",
            "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}