# Applefree Apps Spider (`getdataforme/applefree-apps-spider`) Actor

Extract detailed app data from Apple App Store's top-free charts, including rankings, ratings, descriptions, and developer info. Perfect for market research, competitive analysis, and automation. Offers flexible URL inputs, clean JSON output, and reliable, no-code operation.

- **URL**: https://apify.com/getdataforme/applefree-apps-spider.md
- **Developed by:** [GetDataForMe](https://apify.com/getdataforme) (community)
- **Categories:** Lead generation, Automation, Other
- **Stats:** 3 total users, 0 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $9.00 / 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 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

### Description

Extract detailed app data from Apple App Store's top-free charts, including rankings, ratings, descriptions, and developer info. Perfect for market research, competitive analysis, and automation. Offers flexible URL inputs, clean JSON output, and reliable, no-code operation.

---

## Applefree Apps Spider

### Introduction

The Applefree Apps Spider is a powerful Apify Actor designed to scrape and extract detailed information about apps from the Apple App Store's top-free charts. It provides comprehensive data on app rankings, ratings, descriptions, and developer details, enabling users to gather valuable insights for market research, competitive analysis, and more. This Actor ensures reliable, structured data extraction with minimal setup, making it an essential tool for anyone needing up-to-date Apple App Store intelligence.

### Features

- **Comprehensive Data Extraction**: Scrapes key app details including rank, name, ratings, descriptions, developer info, and more from Apple App Store charts.
- **Flexible URL Input**: Supports multiple URLs for targeted scraping of specific charts or regions.
- **High-Quality Output**: Delivers clean, structured JSON data with consistent formatting for easy integration into workflows.
- **Reliable Performance**: Built on Apify's robust infrastructure, ensuring fast and dependable runs with minimal errors.
- **No Coding Required**: User-friendly interface for configuring inputs and running extractions without technical expertise.
- **Scalable and Efficient**: Handles large datasets efficiently, suitable for batch processing and automation.
- **Real-Time Insights**: Captures live data from the App Store, providing the most current app information available.

### Input Parameters

| Parameter | Type   | Required | Description | Example |
|-----------|--------|----------|-------------|---------|
| Urls      | array  | Yes      | An array of URLs pointing to Apple App Store chart pages to scrape. Each URL must be a valid HTTP/HTTPS link. | ["https://apps.apple.com/us/iphone/charts/36?chart=top-free"] |

### Example Usage

To run the Applefree Apps Spider, provide the input parameters in JSON format. Here's an example:

```json
{
  "Urls": [
    "https://apps.apple.com/us/iphone/charts/36?chart=top-free"
  ]
}
````

This will scrape the top-free iPhone apps chart in the US. The Actor will process the URLs and return structured data for each app.

Example output:

```json
[
  {
    "rank": "1",
    "adam_id": "6448311069",
    "bundle_id": "com.openai.chat",
    "name": "ChatGPT",
    "rating": 4.9,
    "rating_count": "5.1M",
    "age_rating": "12+",
    "app_url": "https://apps.apple.com/us/app/chatgpt/id6448311069",
    "developer_name": "OpenAI",
    "developer_page": "https://apps.apple.com/us/developer/openai/id1684349733",
    "website": "https://openai.com/chatgpt",
    "support": "https://help.openai.com/en/collections/4010451-ios",
    "description": "Introducing ChatGPT for iOS: OpenAI\u2019s latest advancements at your fingertips.  This official app is free, syncs your history across devices, and brings you the latest from OpenAI, including the new image generator.  With ChatGPT in your pocket, you\u2019ll find:  \u00b7 Image generation\u2013Generate original images from a description, or transform existing ones with a few simple words.  \u00b7 Advanced Voice Mode\u2013Tap the soundwave icon to have a real-time convo on the go. Settle a dinner table debate, or practice a new language.  \u00b7 Photo upload\u2014Snap or upload a picture to transcribe a handwritten recipe or get info about a landmark.  \u00b7 Creative inspiration\u2014Find custom birthday gift ideas or create a personalized greeting card. \u00b7 Tailored advice\u2014Talk through a tough situation, ask for a detailed travel itinerary, or get help crafting the perfect response.  \u00b7 Personalized learning\u2014Explain electricity to a dinosaur-loving kid or easily brush up yourself on a historic event. \u00b7 Professional input\u2014Brainstorm marketing copy or map out a business plan. \u00b7 Instant answers\u2014Get recipe suggestions when you only have a few ingredients.  Join hundreds of millions of users and try the app captivating the world. Download ChatGPT today.  Terms of service & privacy policy: https://openai.com/policies/terms-of-use https://openai.com/policies/privacy-policy",
    "storefront": "us",
    "platform": "iphone",
    "chart": "top-free",
    "actor_id": "EbigkYi8kUXOXL3jI",
    "run_id": "rEKdINCrZNegXWgep"
  }
]
```

### Use Cases

- **Market Research**: Analyze top-performing apps in specific categories to identify trends and opportunities.
- **Competitive Intelligence**: Monitor competitors' app rankings, ratings, and features to stay ahead in the market.
- **Price Monitoring**: Track free app charts for potential monetization strategies or ad placements.
- **Content Aggregation**: Collect app descriptions and details for content creation, such as reviews or comparisons.
- **Academic Research**: Gather data on app ecosystems for studies in technology, user behavior, or digital markets.
- **Business Automation**: Integrate with workflows to automate data collection for dashboards or reports.

### Installation and Usage

1. Search for "Applefree Apps Spider" in the Apify Store
2. Click "Try for free" or "Run"
3. Configure input parameters
4. Click "Start" to begin extraction
5. Monitor progress in the log
6. Export results in your preferred format (JSON, CSV, Excel)

### Output Format

The output is a JSON array of objects, each representing an app from the scraped charts. Key fields include:

- `rank`: The app's position in the chart (string).
- `adam_id`: Apple's unique identifier for the app (string).
- `bundle_id`: The app's bundle identifier (string).
- `name`: The app's name (string).
- `rating`: Average user rating (number).
- `rating_count`: Number of ratings (string).
- `age_rating`: Minimum age recommendation (string).
- `app_url`: Direct link to the app's page (string).
- `developer_name`: Name of the developer (string).
- `developer_page`: Link to the developer's page (string).
- `website`: Developer's website (string).
- `support`: Support URL (string).
- `description`: Full app description (string).
- `storefront`: Region code, e.g., "us" (string).
- `platform`: Device type, e.g., "iphone" (string).
- `chart`: Chart type, e.g., "top-free" (string).
- `actor_id` and `run_id`: Metadata from the Actor run (strings).

This structure ensures easy parsing and integration with other tools.

### Error Handling

The Actor handles common errors gracefully, such as invalid URLs or network issues, by logging them and continuing with valid inputs. If a URL fails, it will be noted in the run logs. For persistent issues, check the Apify console for detailed error messages. Rate limiting may occur if scraping too aggressively; refer to best practices below.

### Rate Limiting and Best Practices

Apify enforces rate limits to prevent overloading servers; avoid running multiple instances simultaneously. Best practices include:

- Limit URLs to 5-10 per run for optimal performance.
- Schedule runs during off-peak hours to reduce delays.
- Monitor logs for errors and adjust inputs accordingly.
- Use the Actor's built-in retry mechanisms for reliability.

### Limitations and Considerations

- Data is scraped from public App Store pages and may change with Apple's updates.
- Only top-free charts are supported; other chart types may require custom modifications.
- Output is limited to available data on the pages; some fields may be missing for certain apps.
- Respect Apple's terms of service and avoid excessive scraping to prevent IP blocks.

### Support

For custom/simplified outputs or bug reports, please contact:

- Email: support@getdataforme.com
- Subject line: "custom support"
- Contact form: https://getdataforme.com/contact/

We're here to help you get the most out of this Actor!

***

### Latest PR Information

| Field | Value |
|-------|-------|
| **PR Number** | [#5](https://github.com/getdataforme/test_kiran/pull/5) |
| **PR Title** | updated change |
| **Author** | keeran11 |
| **Merged At** | 2026-02-11T05:35:24Z |
| **Trello Ticket** | [N/A](N/A) |

#### PR Description

Trello: https://trello.com/c/15eYRmIn

# Actor input Schema

## `Urls` (type: `array`):

The urls for the spider.

## Actor input object example

```json
{
  "Urls": [
    "https://apps.apple.com/us/iphone/charts/36?chart=top-free"
  ]
}
```

# 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 = {};

// Run the Actor and wait for it to finish
const run = await client.actor("getdataforme/applefree-apps-spider").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 = {}

# Run the Actor and wait for it to finish
run = client.actor("getdataforme/applefree-apps-spider").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 '{}' |
apify call getdataforme/applefree-apps-spider --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Applefree Apps Spider",
        "description": "Extract detailed app data from Apple App Store's top-free charts, including rankings, ratings, descriptions, and developer info. Perfect for market research, competitive analysis, and automation. Offers flexible URL inputs, clean JSON output, and reliable, no-code operation.",
        "version": "0.0",
        "x-build-id": "klmbLUOymDpESz00U"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/getdataforme~applefree-apps-spider/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-getdataforme-applefree-apps-spider",
                "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/getdataforme~applefree-apps-spider/runs": {
            "post": {
                "operationId": "runs-sync-getdataforme-applefree-apps-spider",
                "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/getdataforme~applefree-apps-spider/run-sync": {
            "post": {
                "operationId": "run-sync-getdataforme-applefree-apps-spider",
                "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": {
                    "Urls": {
                        "title": "Urls",
                        "minItems": 1,
                        "type": "array",
                        "description": "The urls for the spider.",
                        "default": [
                            "https://apps.apple.com/us/iphone/charts/36?chart=top-free"
                        ],
                        "items": {
                            "type": "string"
                        }
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
