Apify Actor · SEO_TOOLS, BUSINESS
App Store App Search (iTunes API): prices, ratings, versions by country
Search Apple's App Store by keyword in any storefront country and get each app's developer, price, rating, version, release date, genre, size, minimum OS and s…
This Actor searches Apple's App Store by keyword in any of 49 storefront countries and returns app data as a clean dataset. It reads the public iTunes Search A…
Run it on the Apify Store $0.80 per 1,000 results, billed by Apify; Apify's free plan includes monthly credit.
Inputs
| Field | Type | What it does | Example |
|---|---|---|---|
term | string | Search term: Keyword to search for in the App Store (for example budget, photo editor, meditation). | "budget" |
country | string | Storefront country: Two-letter App Store country code, which sets the prices, currency and ratings returned. | "us" |
limit | integer | Maximum apps: How many apps to return (Apple allows up to 200 per search). | 50 |
maxItems | integer | Max results: Stop after this many results (keeps a run's cost predictable). | 200 |
What each result holds
| Field | Type |
|---|---|
app_id (always set) | id |
name (always set) | text |
developer | text |
developer_id | id |
bundle_id | text |
price | price |
formatted_price | text |
currency | currency |
average_rating | number |
rating_count | integer |
average_rating_current_version | number |
rating_count_current_version | integer |
version | text |
version_release_date | datetime |
release_date | datetime |
primary_genre | text |
size_bytes | integer |
minimum_os | text |
content_rating | text |
seller_name | text |
store_url | url |
Sample output
The first 3 results of its latest test run on the platform (long values shortened).
[
{
"app_id": "1525179720",
"average_rating": 4.72017,
"average_rating_current_version": 4.72017,
"bundle_id": "com.lightByte.Budget",
"currency": "USD",
"developer": "InnerGrow",
"developer_id": "1828382777",
"formatted_price": "Free",
"name": "Budget app - spending tracker",
"price": 0,
"rating_count": 16303,
"rating_count_current_version": 16303,
"release_date": "2020-08-29T07:00:00",
"version": "1.17.2",
"version_release_date": "2026-10-27T12:58:44"
},
{
"app_id": "942571931",
"average_rating": 4.73289,
"average_rating_current_version": 4.73289,
"bundle_id": "com.everydollar.EveryDollar",
"currency": "USD",
"developer": "The Lampo Group Incorporated",
"developer_id": "380709890",
"formatted_price": "Free",
"name": "EveryDollar: Budget Management",
"price": 0,
"rating_count": 84215,
"rating_count_current_version": 84215,
"release_date": "2015-02-28T01:46:45",
"version": "2026.11.40",
"version_release_date": "2026-11-04T21:36:11"
},
{
"app_id": "1621020173",
"average_rating": 4.80062,
"average_rating_current_version": 4.80062,
"bundle_id": "com.fleurbudget",
"currency": "USD",
"developer": "Akash Jain",
"developer_id": "1473155604",
"formatted_price": "Free",
"name": "Fleur - Budget Planner App",
"price": 0,
"rating_count": 13161,
"rating_count_current_version": 13161,
"release_date": "2022-05-22T07:00:00",
"version": "3.1.6",
"version_release_date": "2026-10-28T08:47:15"
}
]
First call in 60 seconds
Get an Apify token (the Store page; Apify's free plan includes monthly credit)
Run one call with the example input (the Apify API):
curl -X POST "https://api.apify.com/v2/acts/nonstop_poacher~store-app-store-search/run-sync-get-dataset-items?token=$APIFY_TOKEN" \ -H 'Content-Type: application/json' \ -d '{"country": "us", "limit": 50, "maxItems": 200, "term": "budget"}'Read the answer. The first result of the record's own sample run, fields app_id, name, developer, developer_id, bundle_id, price:
{ "app_id": "1525179720", "average_rating": 4.72017, "average_rating_current_version": 4.72017, "bundle_id": "com.lightByte.Budget", "currency": "USD", "developer": "InnerGrow", "developer_id": "1828382777", "formatted_price": "Free" }
Call it from code
With the Apify API (one request; the response is the results):
curl -X POST "https://api.apify.com/v2/acts/nonstop_poacher~store-app-store-search/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
-H 'Content-Type: application/json' \
-d '{"country": "us", "limit": 50, "maxItems": 200, "term": "budget"}'
With the Python client (pip install apify-client):
from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("nonstop_poacher/store-app-store-search").call(run_input={'country': 'us', 'limit': 50, 'maxItems': 200, 'term': 'budget'})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)
From an AI agent: connect Apify's MCP server and add the Actor nonstop_poacher/store-app-store-search.
What changed
- 2026-11-05
8682728The listing (README and Store page) was rewritten.
Questions
What does it cost? $0.80 per 1,000 results, charged per result through your Apify account. You pay only for results it returns.
Something wrong? Open an issue on the Issues tab of its Store page.