# Mac App Store Scraper (`parseforge/mac-app-store-scraper`) Actor

Scrapes Mac App Store app listings by search, App ID lookup, or top charts. Returns each app as a flat row with name, developer, rating, price, and category.

- **URL**: https://apify.com/parseforge/mac-app-store-scraper.md
- **Developed by:** [ParseForge](https://apify.com/parseforge) (community)
- **Categories:** E-commerce, Automation, Other
- **Stats:** 4 total users, 2 monthly users, 100.0% runs succeeded, 2 bookmarks
- **User rating**: No ratings yet

## Pricing

from $11.99 / 1,000 result items

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#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

[![ParseForge](https://raw.githubusercontent.com/ParseForge/apify-assets/main/banner.jpg)](https://apify.com/parseforge?fpr=vmoqkp)

### Mac App Store Scraper

**Scrape Mac App Store apps from search, top charts, or direct App IDs, up to a million per run.** Every app comes with its name, developer, rating, price, category, and version. No API key or login. Export to CSV, JSON, Excel, or XML.

The Mac App Store has no public API for bulk data access, and manual browsing makes it hard to compare apps or track rankings at scale. This Actor reads the public search results, top charts, and app lookup endpoints directly, returning structured data for every app you request. Filter by country, chart type, or category, and collect exactly the fields you need in one flat schema.

| Who uses it | What they scrape Mac App Store for |
|---|---|
| App developers | Monitor competitor app ratings and version updates in their category. |
| Market researchers | Analyze pricing trends and feature sets across the top paid Mac apps. |
| SEO and ASO specialists | Track keyword rankings and app descriptions for Mac App Store optimization. |
| Journalists and reviewers | Gather a structured list of new or top-grossing apps for a weekly roundup. |

### What it does

This Actor collects Mac App Store app listings by keyword search, App ID lookup, or top charts, and returns each app as a flat row with its metadata.

- 🔍 **Search by keyword:** find apps matching a term like 'craft' or 'project management'.
- 📊 **Top Charts:** pull the top free, paid, grossing, or new apps for any category.
- 🆔 **Lookup by App ID:** fetch exact details for a list of known App IDs, like id497799835 for Xcode.
- 🌐 **Country selection:** scrape any App Store region with a two-letter country code, such as US, GB, DE, or JP.

Results export to CSV, JSON, Excel, or XML, or straight from the API.

### What you can do with Mac App Store data

**📈 Track competitor app updates.**

An indie developer looks up a list of rival App IDs weekly to check version changes, new ratings, and pricing adjustments.

**📊 Analyze top chart trends.**

A market researcher pulls the top 100 free productivity apps for the US and DE stores to compare feature adoption across regions.

**🔍 Monitor keyword rankings.**

An ASO specialist searches 'note-taking app' daily and records which apps appear, their ratings, and their description keywords.

**📰 Build a new apps feed.**

A tech blogger scrapes the 'New Apps' chart in the Graphics & Design category each week to find tools for a review series.

### Why choose this scraper

|  | What you get |
|---|---|
| **No API key required** | Reads public App Store endpoints directly, no developer account needed. |
| **Three collection modes** | Search by keyword, lookup by App ID, or pull top charts in one Actor. |
| **Structured flat output** | Every app returns as a single row with name, developer, rating, price, and more. |
| **Regional data** | Switch the country code to scrape any Mac App Store region. |

### How it compares

No other Store actor targets Mac App Store the same way, so the honest comparison is with the alternatives teams actually weigh.

| | Mac App Store Scraper | Build it in-house | By hand |
|---|---|---|---|
| Setup | Run it now, zero config | Days of engineering | None, but hours per pull |
| When Mac App Store changes | Maintained for you | You fix it | You re-learn the page |
| Proxies, retries, anti-bot | Built in | Your problem | Browser only |
| Output | Fixed JSON schema, CSV/Excel export | Whatever you build | Copy-paste |
| Cost | Pay per result | Engineering time | Analyst hours |

### Configure the run

Drive the Actor from a keyword search, a list of App IDs, or a top chart, and set a maximum number of apps to collect per run. The Input tab lists every parameter.

A first run with the defaults:

```json
{
  "mode": "search",
  "searchQuery": "craft",
  "country": "US",
  "maxItems": 10
}
```

A larger pull:

```json
{
  "mode": "search",
  "searchQuery": "craft",
  "country": "US",
  "maxItems": 200
}
```

### Pricing

Pay-per-result: **$0.01599 per result** collected. You pay only for the results written to your dataset.

| Results collected | Approximate cost |
|---|---|
| 100 results | $1.60 |
| 1,000 results | $15.99 |
| 10,000 results | $159.90 |

New Apify accounts start with $5 in free credit.

### Free users

Free-plan runs return up to 10 results as a preview. [Upgrade your Apify plan](https://console.apify.com/sign-up?fpr=vmoqkp) to collect up to 1,000,000 results per run.

### Run it

1. [Create a free Apify account with $5 in credit](https://console.apify.com/sign-up?fpr=vmoqkp).
2. Open the [Mac App Store Scraper](https://apify.com/parseforge/mac-app-store-scraper?fpr=vmoqkp).
3. Set your inputs and any filters, then click **Start**.
4. Export the results as CSV, Excel, JSON, or XML from the **Dataset** tab.

Run it programmatically through the [Apify API](https://docs.apify.com/api/v2) (`run-sync-get-dataset-items`) or the [ApifyClient](https://docs.apify.com/api/client/js) for JavaScript and Python.

### Use with AI agents (MCP)

Give an AI agent live access to Mac App Store through the Model Context Protocol. Add the Actor to Claude, Cursor, or any MCP client:

```bash
claude mcp add --transport http apify "https://mcp.apify.com/?tools=parseforge/mac-app-store-scraper"
```

Then prompt it in plain language to run the scraper and read back the results.

### Troubleshooting

**Why am I getting no results for my search?**

Check that your search query is spelled correctly and is not too specific. Also verify the country code matches a region where that app or keyword is available.

**The Actor returns fewer apps than my maxItems setting.**

The App Store only returns a limited number of results for some queries or charts. Try a broader search term or a different chart type to get more results.

**I get an error when using a list of App IDs.**

Make sure each ID is a valid numeric string without the 'id' prefix. For example, use 497799835, not id497799835. Also check that the apps are available in the selected country.

**The category filter does not seem to work.**

Categories only apply in charts mode. In search or lookup mode, the category field is ignored. Switch to charts mode and select a chart type to use category filtering.

### FAQ

| Question | Answer |
|---|---|
| Do I need an Apple Developer account to use this? | No. The Actor reads publicly available App Store endpoints and does not require any Apple ID, developer account, or API key. |
| How do I find an app's ID for the lookup mode? | Open the app's Mac App Store page in a browser. The URL contains 'id' followed by a number, for example id497799835 for Xcode. Use that number in the App IDs field. |
| Can I scrape app reviews with this Actor? | This Actor focuses on app metadata like name, developer, rating, and price. It does not collect user reviews or ratings text. |
| What does the country code change? | The two-letter country code sets which regional App Store to query. Apps, rankings, and pricing can differ between the US, GB, DE, JP, and other stores. |
| How many apps can I collect in one run? | You can set the maximum up to 1,000,000 apps. The actual number returned depends on how many results the App Store returns for your query or chart. |
| Which chart types are available? | You can choose Top Free Apps, Top Paid Apps, Top Grossing Apps, or New Apps. Each chart can be filtered by a specific category like Games or Productivity. |
| Can I search for apps in languages other than English? | Yes. The search query accepts any language, and the country code determines the store region. For example, search ' diseño gráfico' with country MX for Mexican Spanish results. |
| What output formats are supported? | You can export your dataset to CSV, JSON, Excel, or XML directly from the Apify platform. |

### Related actors

Browse the full [ParseForge collection](https://apify.com/parseforge?fpr=vmoqkp) for more scrapers.

🆘 **Need help?** Email parseforge@protonmail.com with your run ID, your input, and what you expected.

⚠️ **Disclaimer.** This Actor is unofficial and is not affiliated with, endorsed by, or sponsored by Apple Inc. It collects only publicly available data. You are responsible for using the collected data in compliance with the source's terms of service and applicable data-protection laws, including GDPR, CCPA, and PIPL. Do not use it to collect personal data unlawfully.

# Actor input Schema

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

Choose how to find apps: search by keyword, lookup by app IDs, or get top charts

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

Search term to find Mac apps (only used in search mode)

## `appIds` (type: `array`):

List of App IDs to lookup (only used in lookup mode). Find app ID in the App Store URL, e.g., id497799835 for Xcode

## `feedType` (type: `string`):

Type of chart to fetch (only used in charts mode)

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

Filter charts by category (optional, only used in charts mode)

## `country` (type: `string`):

Two-letter country code for the App Store region (e.g., US, GB, DE, JP)

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

How many apps to collect per run.

## Actor input object example

```json
{
  "mode": "search",
  "searchQuery": "craft",
  "feedType": "topfreeapplications",
  "country": "US",
  "maxItems": 10
}
```

# Actor output Schema

## `apps` (type: `string`):

Complete dataset with all scraped Mac App Store data including app details, pricing, ratings, developer info, and metadata

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

Overview of Mac apps with key fields in a table format

# 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 = {
    "mode": "search",
    "searchQuery": "craft",
    "country": "US",
    "maxItems": 10
};

// Run the Actor and wait for it to finish
const run = await client.actor("parseforge/mac-app-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 = {
    "mode": "search",
    "searchQuery": "craft",
    "country": "US",
    "maxItems": 10,
}

# Run the Actor and wait for it to finish
run = client.actor("parseforge/mac-app-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 '{
  "mode": "search",
  "searchQuery": "craft",
  "country": "US",
  "maxItems": 10
}' |
apify call parseforge/mac-app-store-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,parseforge/mac-app-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/bbc7emeSJS5tv2fDz/builds/R9vNGbDkJzIVM9Qy8/openapi.json
