Apple App Store | Scrape App Store Search Results & Keywords
Pricing
from $0.01 / 1,000 results
Apple App Store | Scrape App Store Search Results & Keywords
Scrape Apple App Store search results for any keyword. Extract app titles, ratings, developer info, price, screenshots, genres, version, and bundle ID across 155+ country stores. Built for ASO research, app discovery, competitor tracking, and AI agent workflows. Pay only for the apps you receive.
Pricing
from $0.01 / 1,000 results
Rating
5.0
(3)
Developer
John
Maintained by CommunityActor stats
6
Bookmarked
26
Total users
12
Monthly active users
an hour ago
Last modified
Categories
Share
Apple App Store Search Scraper
The fastest way to scrape Apple App Store search results for ASO research, app discovery, and AI agents.
Search any keyword in the App Store and get back rich, structured app data: titles, ratings, developer info, prices, screenshots, genres, versions, and bundle IDs. Works across 50+ country stores and 40+ languages. Built for App Store Optimization (ASO), competitor tracking, market research, and AI agent workflows.
This actor is fully MCP (Model Context Protocol) ready, with one click setup for Claude Code (free trial), Claude Cowork, and Claude.ai Chat.
AI Agent and MCP Integration
The fastest path to use this actor is through the Apify MCP server. Once connected, Claude (or any MCP-compatible AI agent) can discover and invoke this actor directly from a natural language prompt. No glue code, no client SDK, no manual REST calls.
The Apify MCP server hosts three discovery tools (search-actors, fetch-actor-details, add-actor) that let agents find and register this actor on the fly. Pick the setup that matches your Claude surface.
Option 1: Claude Code (terminal CLI)
The single-command setup for Claude Code (free trial). Open your terminal and run:
$claude mcp add apify -- npx -y @apify/actors-mcp-server
Then add your Apify API token (one time):
$claude mcp add apify -e APIFY_TOKEN=your_apify_token_here -- npx -y @apify/actors-mcp-server
Get your token at https://console.apify.com/account/integrations?fpr=9n7kx3.
Prefer to edit config by hand? Open ~/.claude.json and add:
{"mcpServers": {"apify": {"command": "npx","args": ["-y", "@apify/actors-mcp-server"],"env": { "APIFY_TOKEN": "your_apify_token_here" }}}}
Restart the CLI, then try a prompt like:
Find the top 50 meditation apps in the US App Store with their ratings and prices.
Claude will discover this actor via search-actors, register it as a tool, and run it.
Option 2: Claude Cowork (web)
Claude Cowork (free trial) uses the hosted Apify MCP endpoint over HTTP. No local install required.
- Open Cowork.
- Go to Settings > Connectors > Add custom connector.
- Fill in:
- Name:
Apify - Remote MCP URL:
https://mcp.apify.com - Authentication: Bearer token (paste your Apify API token).
- Name:
- Save and enable the connector.
Once connected, the Apify tools appear in the tool drawer. Try a prompt:
Use Apify to scrape Apple App Store search results for "budget tracker" in the UK store and tell me which apps have the most ratings.
Cowork supports dynamic tool discovery, so once Claude finds this actor in a session, it stays registered as a named tool for the rest of the conversation. Subsequent prompts reuse it without re-discovery.
Option 3: Claude.ai Chat (Connectors)
Same hosted MCP endpoint, configured through the standard Claude.ai UI.
- Open https://claude.ai.
- Click your profile, then Settings > Connectors > Add custom connector.
- Fill in:
- Name:
Apify - Remote MCP URL:
https://mcp.apify.com - Authentication: Bearer token (your Apify API token).
- Name:
- Save. Toggle the connector on at the start of any chat where you want App Store data.
Then prompt as normal:
Search the App Store for "language learning" apps using Apify. Show me ratings and developers.
Option 4: ChatGPT, n8n, Zapier, custom GPTs (direct REST)
Skip MCP entirely with a single REST call. Useful for custom GPTs, Zapier flows, n8n pipelines, or any HTTP client.
curl -X POST \"https://api.apify.com/v2/acts/YOUR_USERNAME~apple-app-store-search/runs?token=YOUR_APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"term": "meditation", "country": "us", "num": 50}'
For ChatGPT custom GPT Actions, import the Apify OpenAPI spec as a custom action. Once added, ChatGPT can call this actor as a function from any custom GPT.
The Apple App Store API Family
This actor is the search link in a three-API family, all keyed on the same app_id:
| API | Purpose | Input | Output |
|---|---|---|---|
| Apple App Store Search API (this actor) | Find apps by keyword. | Search term + country | Many apps (search results). |
| Apple App Store Product API | Get full details for one app: description, version history, screenshots, IAPs, privacy cards, sample reviews. | One or more App Store IDs + country | One full product record per ID. |
| Apple App Store Reviews API (coming soon) | Get paginated reviews for one app. | App Store ID + country + sort | Many reviews per app. |
Search API ──► app_id ──► Product API ──► full product details└──► Reviews API ──► paginated reviews
Agents typically chain them: search here for candidates, pick the IDs they care about, then fan out to the Product API and the Reviews API. Each API is pay-per-record across the family, so you only pay for what you actually fetch.
What You Can Extract
| Field | Description |
|---|---|
| App title | Official name shown on the App Store |
| App ID and bundle ID | Stable identifiers for cross-referencing |
| Developer info | Name, developer ID, and link to the developer page |
| Ratings | Average rating (0 to 5) and total rating count |
| Price | Type (Free, Paid, Free Trial), amount, currency, and symbol |
| Description and release notes | Full app description and latest version notes |
| Screenshots | URLs and sizes for iPhone, iPad, Mac, and other device classes |
| Logos | Multiple resolutions (60x60, 100x100, 512x512) |
| Genres | Primary and secondary App Store categories with IDs |
| Version info | Current version, release date, and latest version release date |
| Compatibility | Minimum OS version, supported devices, and supported languages |
| Age rating and advisories | Content rating plus any content warnings |
| Search context | The originating query, country store, language, and ranking position |
Every dataset item is one app, flat and ready for analysis. Each row also carries the search query and country code, so multi-keyword runs stay self-contained.
Use Cases
- App Store Optimization (ASO): Track keyword rankings, monitor competitor apps, and benchmark category leaders.
- App discovery and market research: Identify trending apps in any country store or category.
- Competitor tracking: Watch a rival developer's portfolio, version history, and ratings over time.
- Pricing and price-tier analysis: Compare paid vs free vs freemium distribution in a category.
- AI agent context: Feed real App Store data into LLM prompts for grounded answers about iOS apps.
- Trend monitoring: Detect new entrants and rapid risers in specific genres.
- Multi-country comparison: Run the same query across US, UK, JP, DE, and BR to compare regional app catalogs.
🔌 Integrations: Automate App Store Search Monitoring
A single run answers one question: which apps rank for a keyword right now. The real value comes from running this App Store search scraper on a schedule so you build a history of rankings, ratings, and new entrants over time. That accumulated history is what powers app store tracking, ASO dashboards, and competitor alerting. See the Apify platform integrations for every destination you can send this data to.
Tasks and Schedules
The core recipe for recurring App Store tracking is one saved task per keyword you watch, plus one schedule that runs them all.
- Set your input (for example
term: "meditation",country: "us",num: 200) and save it as a task from the Actor's Actions then Save task menu. - Open the task, choose Actions then Schedule, and pick a cadence.
Useful cron strings:
0 7 * * *runs every day at 7 AM.0 */6 * * *runs every six hours for fast-moving categories.0 9 * * 1runs every Monday for a weekly ranking snapshot.
One schedule can trigger many tasks at once, so you can track a whole portfolio of keywords in a single nightly job. The Featured Tasks below are ready-to-run starting points.
n8n
Build a no-code workflow in n8n: a Schedule Trigger, then an Apify node that runs johnvc/apple-app-store-search, then a Filter on rating_average or search_position_global, then a Slack or email node that alerts you when a competitor moves.
Make and Zapier
The same pattern works in Make and Zapier: trigger the Actor on a schedule, then route each app row into a spreadsheet, a CRM, or a chat channel.
Store what each run returns in Supabase
Send every run into a database so rankings accumulate over time. The flat rows this Actor returns, one app per row, drop straight into a table. Here is a Python job using apify-client and supabase:
from apify_client import ApifyClientfrom supabase import create_clientapify = ApifyClient("YOUR_APIFY_TOKEN")supabase = create_client("YOUR_SUPABASE_URL", "YOUR_SUPABASE_KEY")run = apify.actor("johnvc/apple-app-store-search").call(run_input={"term": "meditation", "country": "us", "num": 200})rows = []for app in apify.dataset(run["defaultDatasetId"]).iterate_items():rows.append({"app_id": app["app_id"],"title": app["title"],"developer_name": app["developer_name"],"rating_average": app["rating_average"],"rating_count": app["rating_count"],"price_type": app["price_type"],"search_term": app["search_term"],"search_position_global": app["search_position_global"],"search_timestamp": app["search_timestamp"],})supabase.table("app_store_rankings").insert(rows).execute()
Run that on the same cron as your task and each app's rank history builds itself.
MCP and AI agents
This Actor is a first-class tool for AI agents. Add it to any MCP client through the hosted Apify MCP server and an agent can search the App Store straight from a natural language prompt. The one-click setups for Claude Code (free trial), Claude Cowork, and Claude.ai Chat are at the top of this README, and the same endpoint works in Cursor. An agent can then answer a question like "which meditation apps entered the US top 50 this week" with live data.
Webhooks
For anything custom, attach an Apify webhook on the ACTOR.RUN.SUCCEEDED event to push each finished run into your own service the moment the data is ready.
Input Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
term | string | yes | (none) | Search query, e.g. coffee, fitness tracker, meditation. |
country | string | no | us | Two-letter country code (ISO 3166-1 alpha-2, lowercase). 50+ stores supported. |
lang | string | no | en-us | Language code in xx-yy form (e.g. en-us, fr-fr, ja-jp). |
num | integer | no | 10 | Apps per page, 1 to 200. Default 10 keeps first runs cheap; raise to scan more apps per page. |
device | string | no | desktop | Device class to emulate: desktop, tablet, or mobile. |
disallow_explicit | boolean | no | false | Set true to filter out apps flagged as explicit. |
property | string | no | "" | "" for app-name search (default) or developer to search developer names. |
category_id | integer | no | (none) | Filter by App Store category ID. Examples: 6014 Games, 6017 Education, 6005 Social Networking, 6013 Health and Fitness. |
max_pages | integer | no | 1 | Maximum pages to fetch. Set to 0 for unlimited. |
output_file | string | no | auto | Optional local JSON filename. Useful for local testing only. |
Example Inputs
Basic search
{"term": "coffee","max_pages": 1}
Localized search (UK store, English)
{"term": "budget tracker","country": "gb","lang": "en-gb","num": 50,"max_pages": 1}
Filtered by category (Games only, family safe)
{"term": "puzzle","country": "us","category_id": 6014,"disallow_explicit": true,"num": 100,"max_pages": 2}
Developer portfolio search
{"term": "King","property": "developer","country": "us","max_pages": 1}
International store (Japan)
{"term": "manga","country": "jp","lang": "ja-jp","num": 100,"max_pages": 1}
Example Output
Each dataset item is one app:
{"position": 1,"app_id": 1429637763,"title": "Calm","bundle_id": "com.calm.app","developer_name": "Calm.com, Inc.","developer_id": 469307675,"developer_link": "https://apps.apple.com/us/developer/calm-com-inc/id469307675","version": "8.21","age_rating": "4+","release_date": "2015-08-27T07:00:00Z","latest_version_release_date": "2026-04-30T10:14:21Z","price_type": "Free","price_amount": null,"price_currency": "USD","price_symbol": "$","rating_average": 4.8,"rating_count": 1814237,"genres": [{"name": "Health & Fitness", "id": 6013, "primary": true},{"name": "Lifestyle", "id": 6012, "primary": false}],"size_in_bytes": 312456789,"minimum_os_version": "15.0","description_text": "Calm is the #1 app for sleep, meditation, and relaxation...","release_notes": "We update Calm every two weeks with new content and improvements.","screenshots": [{"link": "https://...screen1.png", "size": "1284x2778", "device": "iphone"},{"link": "https://...screen2.png", "size": "1284x2778", "device": "iphone"},{"link": "https://...ipad1.png", "size": "2048x2732", "device": "ipad"}],"logos": [{"size": "60x60", "link": "https://...60x60.png"},{"size": "512x512", "link": "https://...512x512.png"}],"supported_languages": ["en-US", "es-MX", "fr-FR", "de-DE", "ja-JP", "ko-KR"],"supported_devices": ["iPhone5s-iPhone5s", "iPadAir-iPadAir", "..."],"features": ["iosUniversal"],"advisories": [],"link": "https://apps.apple.com/us/app/calm/id1429637763","game_center_enabled": false,"search_term": "meditation","search_country": "us","search_lang": "en-us","search_page": 1,"search_position_global": 1,"search_timestamp": "2026-05-11T10:30:00"}
Pricing
Transparent pay-per-event pricing. You only pay for what you get.
| Event | Cost | When charged |
|---|---|---|
setup | $0.02 | Once at the start of each run. |
result | $0.0015 | Per app returned in the dataset. |
Cost estimates
| Use case | Apps returned | Approx. cost |
|---|---|---|
| Quick keyword check (1 page, 10 apps) | 10 | $0.035 |
| Standard keyword scan (1 page, 200 apps) | 200 | $0.32 |
| Deep keyword crawl (5 pages, 200 each) | 1,000 | $1.52 |
| Bulk ASO sweep (50 keywords, 200 apps each) | 10,000 | $15.02 (one run per keyword) |
No monthly subscription. No hidden fees. Stop the run at any time and pay only for what was already returned.
How to Get Started
- Create an Apify account at https://apify.com?fpr=9n7kx3 if you do not have one.
- Open the actor page in the Apify store and click Try for free.
- Set the input (only
termis required) and click Start. - Watch the run live in the Apify console, then download results as JSON, CSV, Excel, or RSS once it finishes.
- Optional: connect via MCP (see top of this README) to call the actor directly from Claude or any AI agent.
Prefer to start from code? The example repository on GitHub has a Python quick-start plus MCP walkthroughs for Claude, Cursor, and ChatGPT.
🔗 Related Tools
This App Store search scraper is the discovery layer of a larger Apple toolkit. Once a search returns the apps you care about, these related Actors take the next step:
- Apple App Store Product API: pass any
app_idfrom your search results to pull the full product record, including description, version history, screenshots, in-app purchases, and privacy details. - Apple App Store Reviews API: fetch paginated user reviews and ratings for any app you found, sorted by most recent, most helpful, favorable, or critical, for sentiment and ASO work.
- Apple Maps API: extract places, guides, and local search results from Apple Maps when your research reaches into the wider Apple ecosystem.
Older, general-purpose App Store scrapers exist too, such as this combined Google Play and App Store scraper, but it currently carries a low user rating and a small user base, and it folds several stores into one input. This API stays focused on Apple App Store search, is actively maintained, and returns clean, flat JSON where every row is one app.
FAQ
Why am I getting 0 apps?
Check that the term is spelled correctly and matches keywords actual users would type. Try removing filters like category_id or disallow_explicit. If country is unusual, also confirm that store has apps matching the query.
How many apps does one page return?
Up to 200. Set num to control this. The actor charges per app actually returned, not per page, so picking a high num is the most efficient way to scan a keyword.
Can I get full app details or reviews with this actor?
Not directly. This actor focuses on search and discovery. For full per-app details (description, version history, screenshots, in-app purchases, privacy cards, sample reviews) use the companion Apple App Store Product API. For paginated reviews, use the dedicated Apple App Store Reviews API (coming soon). All three actors share the same App Store app_id, so you can chain them: search this actor for candidates, then fan out to the Product API and Reviews API for the IDs you care about.
Can I search by developer name instead of app name?
Yes. Set property to developer and put the developer name in term.
Which country stores are supported?
50+ stores including US, UK, CA, AU, DE, FR, JP, KR, BR, MX, IN, and more. See the country parameter dropdown for the full list.
Does this work with AI agents and MCP?
Yes. Setup instructions for Claude Code (free trial), Claude Cowork, and Claude.ai Chat are at the top of this README.
Can I schedule this App Store search on a recurring basis?
Yes, and this is where most of the value is. Any input you can run once can run on a schedule. Save your search as a task with the keyword, country, and page count you want, then open the task and choose Actions then Schedule. Common cron settings are 0 7 * * * for a daily 7 AM run, 0 */6 * * * for every six hours, and 0 9 * * 1 for a weekly Monday snapshot. One schedule can drive many keyword tasks at once, so a single nightly job can refresh your whole App Store tracking dashboard. See the Integrations section above for the full monitoring recipe.
Should I use an official API or a web scraper for App Store data?
Apple does not publish a public search API that returns ranked results with ratings, prices, and developer data in one call, and third-party official APIs are usually rate limited and quota bound. This Actor gives you the same data either as a no-code web scraper you run from the console or as a clean API endpoint you call yourself, with no quotas and pay-per-result pricing.
Can I integrate this App Store Scraper with other apps?
Yes. The Actor connects to almost any cloud service through Apify integrations: route results into Make, Zapier, Slack, Google Sheets, and more. For custom actions, add an Apify webhook on the ACTOR.RUN.SUCCEEDED event. The Integrations section above has copy-paste recipes.
Can I use this Actor with the Apify API?
Yes. The Apify API gives you programmatic access to run the Actor, schedule it, and fetch datasets, and the apify-client package is available for both Node.js and Python. See this Actor's own API tab for ready-made snippets in several languages.
Can I use this scraper through an MCP server?
Yes. The Actor can be added as a tool to any MCP client, including Claude, Cursor, and others, through the hosted Apify MCP server. Point the client at https://mcp.apify.com/?tools=actors,docs,johnvc/apple-app-store-search to expose this Actor directly. One-click setups for Claude Code (free trial) and Claude Cowork are at the top of this README. See the Apify MCP docs for details.
How can I track other App Store and app market tools?
This search Actor pairs with the rest of the Apple App Store toolkit. Use the Apple App Store Product API to pull full details for any app you find, the Apple App Store Reviews API to collect its ratings and reviews, and the Apple Maps API for wider Apple ecosystem research. See Related Tools above for the full list.
What is App Store Optimization (ASO)?
App Store Optimization is the practice of improving an app's visibility and conversion in an app store's search and browse results, much like SEO does for websites. It covers keyword targeting in the title and subtitle, ratings, screenshots, and category placement. Raw ranked search data from this Actor feeds the keyword and competitor side of ASO. For background, see App Store optimization and Apple's App Store.
How does App Store Optimization work?
ASO works by matching what users search for to the metadata and signals an app store ranks on, then measuring how those rankings change over time. You track target keywords, watch which apps rank for them, and adjust your own metadata to climb. Running this Actor on a schedule (see the Integrations section) gives you the ranking history that makes those adjustments measurable.
Featured Tasks
Ready-to-run examples that show this API solving a specific problem. Each opens its own setup so you can run it on your account in one click.
- Check App Store keyword rankings for meditation apps - ranked App Store search results for meditation, with position and developer.
- Run free ASO keyword research with raw search data - raw search rankings, ratings, and review counts for any App Store keyword.
- Search the App Store from Claude via MCP - live App Store searches in Claude (free trial available) chat via MCP, with ranks and developers.
Last Updated: 2026.07.14