# Apify Store Scraper (`zerobreak/apify-store-scraper`) Actor

Apify Store scraper that pulls actor listings, pricing, and run stats from the marketplace by search query or category, so developers and SEO teams can compare tools without clicking through pages manually.

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

## Pricing

Pay per usage

This Actor is paid per platform usage. The Actor is free to use, and you only pay for the Apify platform usage, which gets cheaper the higher subscription plan you have.

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

## 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

## Apify Store Scraper: Extract Actor Listings, Pricing, and Stats from the Apify Marketplace

Apify Store scraper pulls actor listings from the Apify marketplace and gives you names, descriptions, run counts, star ratings, and pricing in structured JSON. Filter by search term or category, set a result cap, and get everything back as flat records you can drop into a spreadsheet or database. Run it on a schedule to track new actors as they appear.

### Use cases

- **Competitive research on SEO tools**: pull every actor in the seo-tools category with pricing and run counts, then compare side by side without opening 40 tabs
- **Market monitoring**: schedule daily or weekly runs to catch new actors added to a category before your competitors do
- **Actor discovery**: search the full Apify Store by keyword and export results instead of clicking through paginated listings
- **Pricing analysis**: see which actors use pay-per-result vs monthly pricing across a niche, all in one dataset
- **Author auditing**: collect all actors from a specific username or organization to review their catalog in bulk

### What data does this actor extract?

Each record contains:

```json
{
    "actorId": "ens6F19QXkpFKaSSu",
    "actorName": "google-search-scraper",
    "actorTitle": "Google Search Scraper",
    "actorDescription": "Scrape Google Search results including organic results, ads, and more.",
    "authorUsername": "apify",
    "authorName": "Apify",
    "categories": ["seo-tools", "search-engines"],
    "totalRuns": 4823901,
    "monthlyRuns": 218450,
    "stars": 1204,
    "pricingModel": "PAY_PER_RESULT",
    "pricePerUnitUsd": 0.5,
    "actorUrl": "https://apify.com/apify/google-search-scraper",
    "scrapedAt": "2026-03-10T14:23:11.492Z"
}
```

### Input

| Parameter | Type | Default | Description |
|-----------|------|---------|-------------|
| `searchQuery` | string | (empty) | Keyword to search across all actors. Leave blank to browse by category only. |
| `categories` | array | (all) | Category IDs to filter by. Common values: `seo-tools`, `ai`, `ecommerce`, `social-media`. Leave empty to scrape all categories. |
| `maxItems` | integer | 100 | Maximum number of actors to extract per run. Cap: 1000. |
| `timeoutSecs` | integer | 300 | Overall actor timeout in seconds. Max: 3600. |
| `requestTimeoutSecs` | integer | 30 | Per-request HTTP timeout in seconds. |
| `proxyConfiguration` | object | Datacenter (Anywhere) | Proxy type and location for requests. Supports Datacenter, Residential, Special, and custom proxies. Optional. |

#### Example input

```json
{
    "searchQuery": "seo",
    "categories": ["seo-tools"],
    "maxItems": 200,
    "proxyConfiguration": { "useApifyProxy": true }
}
```

### Output

The actor stores results in an Apify dataset. Each entry is a flat record:

| Field | Type | Description |
|-------|------|-------------|
| `actorId` | string | Unique Apify actor ID |
| `actorName` | string | Actor slug used in URLs (e.g. `google-search-scraper`) |
| `actorTitle` | string | Human-readable display title |
| `actorDescription` | string | Short store listing description |
| `authorUsername` | string | Author's Apify username |
| `authorName` | string | Author's display name |
| `categories` | array | Category IDs the actor belongs to |
| `totalRuns` | integer | All-time run count |
| `monthlyRuns` | integer | Runs in the last 30 days |
| `stars` | integer | Star count from users |
| `pricingModel` | string | `FREE`, `PAY_PER_RESULT`, `MONTHLY_RENTAL`, or `FLAT_PRICE_PER_MONTH` |
| `pricePerUnitUsd` | number | Price per result in USD. Null if not applicable. |
| `actorUrl` | string | Direct link to the store listing |
| `scrapedAt` | string | ISO 8601 timestamp of when this record was scraped |

### How it works

1. Reads your search query and category filters from input
2. Pages through the Apify Store public API in batches of up to 100 actors
3. Deduplicates actors that appear across multiple category filters
4. Transforms raw API data into flat, ready-to-export records
5. Stores all results in the Apify dataset

### Integrations

Connect Apify Store Scraper with other apps and services using [Apify integrations](https://apify.com/integrations). You can integrate with Make, Zapier, Slack, Airbyte, GitHub, Google Sheets, Google Drive, and many more. You can also use [webhooks](https://docs.apify.com/integrations/webhooks) to trigger actions whenever results are available.

### FAQ

**Which categories can I filter by?**
Common category IDs: `seo-tools`, `ai`, `ecommerce`, `social-media`, `productivity`, `lead-generation`. You can find all slugs in the Apify Store URL when browsing by category, for example `apify.com/store/categories/seo-tools`.

**Can I scrape the entire Apify Store?**
Yes. Leave `searchQuery` and `categories` blank and set `maxItems` to 1000. The actor pages through all public listings automatically.

**Does this actor need an API key?**
No. It uses the Apify Store public API, which requires no authentication to read actor listings.

**How often can I run it?**
As often as you need. Schedule it daily or weekly in Apify to track new actors and pricing changes over time.

**What happens if an actor appears in multiple categories?**
The actor deduplicates by actor ID, so each listing appears only once in the output even if it matches multiple category filters.

Apify Store scraper works for developers sizing up a niche, SEO teams tracking competitor tools, and researchers who need marketplace data without the manual work.

# Actor input Schema

## `searchQuery` (type: `string`):

Keyword to search across all actors in the Apify Store. Leave blank to browse all actors or use category filters only.

## `categories` (type: `array`):

Category IDs to filter by. Leave empty to scrape all categories. Common values: seo-tools, ai, ecommerce, social-media, productivity, lead-generation.

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

Maximum number of actors to extract per run. Increase for broader market research. Hard cap: 1000.

## `timeoutSecs` (type: `integer`):

Overall actor timeout in seconds. Raise this for large scrapes with many pages.

## `requestTimeoutSecs` (type: `integer`):

HTTP timeout per API request in seconds. Increase if the Apify Store API is slow to respond.

## `proxyConfiguration` (type: `object`):

Select proxies to use for requests. Helps avoid IP blocking and rate limits. Datacenter proxies are fastest; Residential proxies are harder to detect.

## Actor input object example

```json
{
  "searchQuery": "seo",
  "categories": [
    "seo-tools",
    "ai"
  ],
  "maxItems": 100,
  "timeoutSecs": 300,
  "requestTimeoutSecs": 30,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

# 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 = {
    "searchQuery": "seo",
    "categories": [
        "seo-tools"
    ],
    "maxItems": 100,
    "proxyConfiguration": {
        "useApifyProxy": true
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("zerobreak/apify-store-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 = {
    "searchQuery": "seo",
    "categories": ["seo-tools"],
    "maxItems": 100,
    "proxyConfiguration": { "useApifyProxy": True },
}

# Run the Actor and wait for it to finish
run = client.actor("zerobreak/apify-store-scraper").call(run_input=run_input)

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

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

```

## CLI example

```bash
echo '{
  "searchQuery": "seo",
  "categories": [
    "seo-tools"
  ],
  "maxItems": 100,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}' |
apify call zerobreak/apify-store-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,zerobreak/apify-store-scraper"
        }
    }
}

```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

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