# Chrome Web Store Scraper (`ninhothedev/chrome-webstore-scraper`) Actor

$0.75/1K 🔥 Fast Chrome Web Store scraper! Extensions — name, users, rating, category & developer. No key. JSON, CSV, Excel or API in seconds. Pull extension data for market intel, research & due diligence ⚡

- **URL**: https://apify.com/ninhothedev/chrome-webstore-scraper.md
- **Developed by:** [ninhothedev](https://apify.com/ninhothedev) (community)
- **Categories:** Developer tools, Automation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.75 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## Chrome Web Store Scraper 🧩

Scrape public **Chrome Web Store** extension data at scale — **no API key, no login, no browser**. Give it a list of extension IDs and get back structured JSON with the extension **name, active users, rating, rating count, category, version, developer**, icon and more.

There is no official Chrome Web Store API, so this Actor reads the public detail pages directly (datacenter-proxy friendly) and extracts stable, structured fields. Perfect for **extension intelligence, market research, competitor tracking and due diligence**.

> ⭐ ~**$0.50 per 1,000 extensions** — one of the cheapest ways to pull Chrome Web Store data.

***

### Features

- 🔑 **No API key** and no Google account required.
- 🖥️ **Datacenter-proxy friendly** — cheap to run, no residential proxies needed.
- ⚡ **Fast** — plain HTTP requests with Chrome TLS impersonation (no headless browser).
- 📊 Extracts **users, rating, rating count, category, version, developer** and more.
- 🌍 Built-in **consent-wall bypass** so GDPR regions do not break scraping.
- 🧱 Robust parsing from `og:` meta tags + visible page data.

### Input

| Field | Type | Description |
|-------|------|-------------|
| `mode` | select | Scraping mode. Currently `extensions` (scrape by extension ID). |
| `extensionIds` | array | 32-character Chrome Web Store extension IDs (or full detail-page URLs). |
| `maxItems` | integer | Max extensions to scrape (default `100`, max `1000`). |

#### Where do I find an extension ID?

Open any extension in the Chrome Web Store. The URL looks like:

```
https://chromewebstore.google.com/detail/ublock-origin/cjpalhdlnbpafiamejdnhcphjbkeiagm
                                                        └────────── extension ID ──────────┘
```

The 32-character string at the end is the ID.

#### Example input

```json
{
  "mode": "extensions",
  "extensionIds": [
    "gighmmpiobklfepjocnamgkkbiglidom",
    "cjpalhdlnbpafiamejdnhcphjbkeiagm"
  ],
  "maxItems": 100
}
```

### Output

Each extension yields one dataset item:

```json
{
  "extension_id": "cjpalhdlnbpafiamejdnhcphjbkeiagm",
  "name": "uBlock Origin",
  "description": "Finally, an efficient blocker. Easy on CPU and memory.",
  "users": 12000000,
  "users_text": "12,000,000 users",
  "rating": 4.7,
  "rating_count": 35500,
  "category": "Privacy & Security",
  "version": "1.72.2",
  "developer": "Raymond Hill (gorhill)",
  "website": "https://github.com/gorhill/uBlock",
  "icon": "https://lh3.googleusercontent.com/...=s128",
  "url": "https://chromewebstore.google.com/detail/ublock-origin/cjpalhdlnbpafiamejdnhcphjbkeiagm",
  "source": "chrome_web_store",
  "scraped_at": "2026-07-20T12:00:00Z"
}
```

All fields are nullable — if a field is missing on the page it is returned as `null` rather than failing the run.

### Use cases

- **Extension intelligence** — track user counts and ratings of any extension over time.
- **Market research** — size categories, compare competitors, spot rising extensions.
- **Competitor tracking** — monitor a rival's install base, rating trend and version cadence.
- **Due diligence** — validate an extension's popularity and developer before integrating.

### Pricing

Pay per usage on the Apify platform. Typical cost is around **$0.50 per 1,000 extensions** scraped. Runs on 512 MB, works with cheap datacenter proxies.

### Related Actors

- [VSCode Marketplace Scraper](https://apify.com/ninhothedev/vscode-marketplace-scraper)
- [Firefox Add-ons Scraper](https://apify.com/ninhothedev/firefox-addons-scraper)
- [Google Play Scraper](https://apify.com/ninhothedev/google-play-scraper)
- [App Store Scraper](https://apify.com/ninhothedev/app-store-scraper)

### FAQ

**Do I need a proxy?** Not required, but recommended for large runs. Datacenter proxies are enough.

**Is this against Google's terms?** The Actor only reads publicly available pages. You are responsible for how you use the data. No personal data beyond a public developer name is collected.

**Keywords:** chrome web store scraper, chrome extension scraper, extension data, extension users, extension ratings, chrome extension api, web store crawler, extension market research, competitor tracking, browser extension intelligence.

# Actor input Schema

## `mode` (type: `string`):

Scraping mode. Currently 'extensions' is supported: each Chrome Web Store extension ID is fetched and its detail page scraped.

## `extensionIds` (type: `array`):

List of 32-character Chrome Web Store extension IDs (the string in the store URL, e.g. 'cjpalhdlnbpafiamejdnhcphjbkeiagm' for uBlock Origin). Full detail-page URLs are also accepted.

## `maxItems` (type: `integer`):

Maximum number of extensions to scrape. Extra IDs beyond this limit are ignored.

## Actor input object example

```json
{
  "mode": "extensions",
  "extensionIds": [
    "gighmmpiobklfepjocnamgkkbiglidom",
    "cjpalhdlnbpafiamejdnhcphjbkeiagm"
  ],
  "maxItems": 100
}
```

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "extensionIds": [
        "gighmmpiobklfepjocnamgkkbiglidom",
        "cjpalhdlnbpafiamejdnhcphjbkeiagm"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("ninhothedev/chrome-webstore-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = { "extensionIds": [
        "gighmmpiobklfepjocnamgkkbiglidom",
        "cjpalhdlnbpafiamejdnhcphjbkeiagm",
    ] }

# Run the Actor and wait for it to finish
run = client.actor("ninhothedev/chrome-webstore-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "extensionIds": [
    "gighmmpiobklfepjocnamgkkbiglidom",
    "cjpalhdlnbpafiamejdnhcphjbkeiagm"
  ]
}' |
apify call ninhothedev/chrome-webstore-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=ninhothedev/chrome-webstore-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/PqLW3x8wq6ApKE5hZ/builds/uYbiN1W9qZajHwvvK/openapi.json
