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

Scrape Apify Store actor data including titles, descriptions, pricing, reviews, and usage stats. Perfect for marketplace analysis, competitive research, and building actor intelligence databases. Monitor trends and benchmark competitors.

- **URL**: https://apify.com/shahidirfan/apify-store-scraper.md
- **Developed by:** [Shahid Irfan](https://apify.com/shahidirfan) (community)
- **Categories:** E-commerce, Developer tools, Other
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, NaN 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/platform/actors/running/actors-in-store#pay-per-usage

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
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.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use 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 rich actor listings from Apify Store with flexible filtering by URL, keyword, and category. Collect structured metadata for market research, competitor tracking, and portfolio monitoring. This actor is designed for fast, reliable collection at scale.

---

### Features

- **URL-based collection** — Start from profile URLs or store endpoint URLs.
- **Keyword filtering** — Find actor listings that match your search intent.
- **Category filtering** — Narrow results to store categories such as `JOBS` or `AUTOMATION`.
- **Pagination support** — Collect across multiple pages with safe limits.
- **Clean dataset output** — Records are stored without empty or always-null values.

---

### Use Cases

#### Portfolio Monitoring
Track listing changes and performance signals for a specific creator profile over time.

#### Market Intelligence
Analyze how actors are positioned across categories, descriptions, and ratings.

#### Competitive Analysis
Compare multiple actors by engagement indicators such as bookmarks and reviews.

#### Content Research
Build datasets of listing descriptions and metadata for downstream analysis workflows.

---

### Input Parameters

| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| `url` | String | No | `"https://apify.com/shahidirfan"` | Profile URL or store URL used as a starting context. |
| `keyword` | String | No | `""` | Search term applied to actor listings. |
| `category` | String | No | `"All categories"` | Category dropdown including Social media, AI, Agents, Jobs, MCP servers, and more. |
| `sort` | String | No | `"Most Relevant"` | Sort dropdown: Most Relevant, Newest, Pouplar, Recently updated. |
| `pricingModel` | String | No | `"All pricing models"` | Pricing dropdown: Pay per event, Pay per Usage, Rental. |
| `developers` | String | No | `"All developers"` | Developers dropdown: Maintained by Apify or Maintained by Community. |
| `results_wanted` | Integer | No | `20` | Maximum number of dataset items to collect. |
| `max_pages` | Integer | No | `10` | Maximum number of pages to request. |
| `proxyConfiguration` | Object | No | Apify Proxy enabled | Proxy settings for reliable collection. |

---

### Output Data

Each item in the dataset may contain:

| Field | Type | Description |
|-------|------|-------------|
| `actorFullName` | String | Combined actor identifier in `username/name` format. |
| `title` | String | Actor listing title. |
| `name` | String | Actor slug name. |
| `username` | String | Owner username. |
| `url` | String | Listing URL. |
| `description` | String | Listing description text. |
| `categories` | Array | Category list attached to the actor. |
| `bookmarkCount` | Number | Bookmark count from listing metadata. |
| `actorReviewRating` | Number | Average review rating rounded to 2 decimals (example: `4.72`). |
| `actorReviewCount` | Number | Number of reviews. |
| `stats` | Object | Listing statistics block when available. |
| `currentPricingInfo` | Object | Pricing-related metadata when available. |
| `query` | Object | Effective filters used for the run. |
| `fetchedAt` | String | ISO timestamp when item was collected. |

---

### Usage Examples

#### Profile URL Run

```json
{
	"url": "https://apify.com/shahidirfan",
	"category": "All categories",
	"sort": "Most Relevant",
	"results_wanted": 20,
	"max_pages": 5
}
````

#### Keyword Search Run

```json
{
	"keyword": "linkedin",
	"pricingModel": "Pay per event",
	"developers": "Maintained by Community",
	"results_wanted": 30,
	"max_pages": 10
}
```

#### Category + Keyword Run

```json
{
	"keyword": "job",
	"category": "Jobs",
	"sort": "Recently updated",
	"results_wanted": 50,
	"max_pages": 20
}
```

***

### Sample Output

```json
{
	"actorFullName": "shahidirfan/Xing-Jobs-Scraper",
	"title": "Xing Jobs Scraper",
	"name": "Xing-Jobs-Scraper",
	"username": "shahidirfan",
	"url": "https://apify.com/shahidirfan/xing-jobs-scraper",
	"categories": [
		"JOBS",
		"DEVELOPER_TOOLS",
		"AUTOMATION"
	],
	"bookmarkCount": 6,
	"actorReviewRating": 4.72,
	"actorReviewCount": 7,
	"query": {
		"username": "shahidirfan",
		"keyword": "",
		"category": "Jobs"
	},
	"fetchedAt": "2026-04-18T10:00:00.000Z"
}
```

***

### Tips for Best Results

#### Choose Clear Filters

Use either a profile URL, a focused keyword, or both to reduce noisy results.

#### Keep Early Runs Small

Start with `results_wanted: 20` to validate output shape quickly, then scale up.

#### Use Category Dropdowns

Use the built-in category dropdown values such as Jobs, AI, Social media, and MCP servers for tighter targeting.
If you want all actors from a profile (for example all 301 actors), choose `All categories`.

#### Use Sort and Developer Filters

Pick Most Relevant, Newest, Pouplar, or Recently updated, then apply developer maintenance filters to focus results.

#### Use Proxy for Reliability

Enable proxy configuration for consistent collection across repeated runs.

***

### Integrations

Connect extracted data to:

- **Google Sheets** — Share listing data with non-technical teams.
- **Airtable** — Build searchable actor catalogs.
- **Make** — Automate alerts and workflows.
- **Zapier** — Trigger downstream actions from fresh datasets.
- **Webhooks** — Send results to custom services.

Export formats include **JSON**, **CSV**, **Excel**, and **XML**.

***

### Frequently Asked Questions

#### Can I run with only a URL?

Yes. A profile URL is enough to collect matching listings.

#### Can I run with only a keyword?

Yes. The actor can search store listings by keyword without URL input.

#### What happens if a field is missing?

Empty fields are removed from dataset items to keep outputs clean.

#### How do I get more results?

Increase `results_wanted` and `max_pages` while keeping practical limits.

#### Can I filter by category only?

Yes. Provide a category and optionally combine it with a keyword.

***

### Support

For issues or feature requests, open a discussion in your Apify actor page support section.

Useful resources:

- [Apify Documentation](https://docs.apify.com/)
- [Apify API Reference](https://docs.apify.com/api/v2)
- [Apify Schedules](https://docs.apify.com/platform/schedules)

***

### Legal Notice

This actor is intended for legitimate data collection use cases. Users are responsible for complying with website terms and applicable laws in their jurisdiction.

# Actor input Schema

## `url` (type: `string`):

Apify profile URL or API store URL. Example: https://apify.com/shahidirfan

## `keyword` (type: `string`):

Search keyword for actor listings.

## `category` (type: `string`):

Store category filter.

## `sort` (type: `string`):

Sort collected results.

## `pricingModel` (type: `string`):

Filter actors by pricing model.

## `developers` (type: `string`):

Developer maintenance group.

## `results_wanted` (type: `integer`):

Maximum number of results to collect.

## `max_pages` (type: `integer`):

Safety cap for pagination.

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

Use Apify Proxy for reliable requests.

## Actor input object example

```json
{
  "url": "https://apify.com/shahidirfan",
  "keyword": "linkedin",
  "category": "All categories",
  "sort": "Most Relevant",
  "pricingModel": "All pricing models",
  "developers": "All developers",
  "results_wanted": 20,
  "max_pages": 10,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
```

# Actor output Schema

## `overview` (type: `string`):

No description

# 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 = {
    "url": "https://apify.com/shahidirfan",
    "keyword": "linkedin",
    "category": "All categories",
    "sort": "Most Relevant",
    "pricingModel": "All pricing models",
    "developers": "All developers",
    "results_wanted": 20,
    "max_pages": 10
};

// Run the Actor and wait for it to finish
const run = await client.actor("shahidirfan/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 = {
    "url": "https://apify.com/shahidirfan",
    "keyword": "linkedin",
    "category": "All categories",
    "sort": "Most Relevant",
    "pricingModel": "All pricing models",
    "developers": "All developers",
    "results_wanted": 20,
    "max_pages": 10,
}

# Run the Actor and wait for it to finish
run = client.actor("shahidirfan/apify-store-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 '{
  "url": "https://apify.com/shahidirfan",
  "keyword": "linkedin",
  "category": "All categories",
  "sort": "Most Relevant",
  "pricingModel": "All pricing models",
  "developers": "All developers",
  "results_wanted": 20,
  "max_pages": 10
}' |
apify call shahidirfan/apify-store-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Apify Store Scraper",
        "description": "Scrape Apify Store actor data including titles, descriptions, pricing, reviews, and usage stats. Perfect for marketplace analysis, competitive research, and building actor intelligence databases. Monitor trends and benchmark competitors.",
        "version": "0.0",
        "x-build-id": "8e6pGr3W9h4c2Nvzb"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/shahidirfan~apify-store-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-shahidirfan-apify-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/shahidirfan~apify-store-scraper/runs": {
            "post": {
                "operationId": "runs-sync-shahidirfan-apify-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/shahidirfan~apify-store-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-shahidirfan-apify-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": {
                    "url": {
                        "title": "URL",
                        "type": "string",
                        "description": "Apify profile URL or API store URL. Example: https://apify.com/shahidirfan"
                    },
                    "keyword": {
                        "title": "Keyword",
                        "type": "string",
                        "description": "Search keyword for actor listings."
                    },
                    "category": {
                        "title": "Category",
                        "enum": [
                            "All categories",
                            "Social media",
                            "AI",
                            "Agents",
                            "Lead generation",
                            "E-commerce",
                            "SEO tools",
                            "Jobs",
                            "MCP servers",
                            "News",
                            "Real estate",
                            "Developer tools",
                            "Travel",
                            "Videos",
                            "Automation",
                            "Integrations",
                            "Open source",
                            "Other"
                        ],
                        "type": "string",
                        "description": "Store category filter.",
                        "default": "All categories"
                    },
                    "sort": {
                        "title": "Sort",
                        "enum": [
                            "Most Relevant",
                            "Newest",
                            "Pouplar",
                            "Recently updated"
                        ],
                        "type": "string",
                        "description": "Sort collected results.",
                        "default": "Most Relevant"
                    },
                    "pricingModel": {
                        "title": "Pricing model",
                        "enum": [
                            "All pricing models",
                            "Pay per event",
                            "Pay per Usage",
                            "Rental"
                        ],
                        "type": "string",
                        "description": "Filter actors by pricing model.",
                        "default": "All pricing models"
                    },
                    "developers": {
                        "title": "Developers",
                        "enum": [
                            "All developers",
                            "Maintained by Apify",
                            "Maintained by Community"
                        ],
                        "type": "string",
                        "description": "Developer maintenance group.",
                        "default": "All developers"
                    },
                    "results_wanted": {
                        "title": "Results wanted",
                        "minimum": 1,
                        "type": "integer",
                        "description": "Maximum number of results to collect.",
                        "default": 20
                    },
                    "max_pages": {
                        "title": "Max pages",
                        "minimum": 1,
                        "type": "integer",
                        "description": "Safety cap for pagination.",
                        "default": 10
                    },
                    "proxyConfiguration": {
                        "title": "Proxy configuration",
                        "type": "object",
                        "description": "Use Apify Proxy for reliable requests.",
                        "default": {
                            "useApifyProxy": false
                        }
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
