SocialCrawl

Apple App Store

App Store search, app detail, user reviews, store charts, autocomplete suggestions, and a paginated listings database

App Store intelligence without an Apple developer account: keyword search, full app records, user reviews, the store charts, the autocomplete suggestions Apple shows in its own search box, and a filterable listings database you can page deeply.

Base URL: /v1/app_store/...

Every app read starts from Apple's numeric app id, the number after id in an apps.apple.com/…/id324684580 URL. app-search is how you turn an app name into one.

Storefront changes the answer, not just the language. Ratings, review text, charts and even availability differ per country, so a cross-market comparison means one call per country, not one call plus a language change.

Quickstart

Turn an app name into an app id

cURL
curl "https://www.socialcrawl.dev/v1/app_store/app-search?query=photo%20editor&country=US" \
  -H "x-api-key: YOUR_API_KEY"

Read the full record and what users say

cURL
curl "https://www.socialcrawl.dev/v1/app_store/app-info?app_id=324684580" \
  -H "x-api-key: YOUR_API_KEY"

curl "https://www.socialcrawl.dev/v1/app_store/app-reviews?app_id=324684580&sort_by=most_helpful&depth=200" \
  -H "x-api-key: YOUR_API_KEY"

Finding apps

EndpointCreditsWhat it returnsKey parameters
GET /v1/app_store/app-search5Keyword matches with title, icon, rating, price or free flag, store URLquery (required), country, language, depth
GET /v1/app_store/app-listings-search10The same app shape from a filterable listings database, with a store-wide total alongside each pagetitle (required), description, limit, offset, offset_token, filters, country, language
GET /v1/app_store/search-suggestions1Apple's own autocomplete hints for a partial keyword, each with its rank in Apple's orderingquery (required), country

On app-search, depth defaults to 100, rounds up to multiples of 100, and caps at 300.

app-listings-search is the only App Store endpoint with real pagination: limit runs 1 to 50, offset up to 10,000, and offset_token carries you past that. It also accepts a filters expression as a JSON array. Ten credits is the price of being able to enumerate rather than sample.

search-suggestions returns { term, priority } where priority is Apple's own 1-based rank. Polling a stem daily and diffing the list is a cheap way to catch a rising search term before it shows up in the charts.

App detail and reviews

EndpointCreditsWhat it returnsKey parameters
GET /v1/app_store/app-info5Description, developer, rating, price, version, minimum iOS version, size, screenshots, age advisoriesapp_id (required), country, language
GET /v1/app_store/app-reviews5Star rating, review title, full text, reviewer name, publish dateapp_id (required), depth, sort_by, rating, country, language

Reviews arrive in batches of 50 up to a ceiling of 600. sort_by selects most_recent (default) or most_helpful, and rating filters to a single star value, which is the fastest route to the one-star complaints if that is what you are mining.

Charts

EndpointCreditsWhat it returnsKey parameters
GET /v1/app_store/app-list5A store chart in the same app shape as search, optionally scoped to one categoryapp_collection (required), app_category, depth, country, language

app_collection accepts top_free_ios, top_paid_ios, top_grossing_ios, top_free_ipad, top_paid_ipad, top_grossing_ipad, new_ios, new_free_ios and new_paid_ios. depth runs up to 500.

cURL
curl "https://www.socialcrawl.dev/v1/app_store/app-list?app_collection=top_free_ios&app_category=photo_and_video&country=KR" \
  -H "x-api-key: YOUR_API_KEY"

Reference lookups

EndpointCreditsWhat it returnsKey parameters
GET /v1/app_store/categories1The values app_category takes on app-listnone
GET /v1/app_store/locations1Supported storefronts with their numeric location codesnone
GET /v1/app_store/languages1Supported language codesnone

Static reference data, cached hard. Call each once and keep the answer.

All endpoints

9 endpoints available.

EndpointPathCredit Tier
List Apple App Store app categories/v1/app_store/categoriesstandard (1cr)
List supported Apple App Store languages/v1/app_store/languagesstandard (1cr)
List supported Apple App Store storefront locations/v1/app_store/locationsstandard (1cr)
Get Apple App Store search suggestions/v1/app_store/search-suggestionsstandard (1cr)
Get full Apple App Store app details/v1/app_store/app-infoadvanced (5cr)
Get an Apple App Store chart/v1/app_store/app-listadvanced (5cr)
Get Apple App Store reviews for an app/v1/app_store/app-reviewsadvanced (5cr)
Search Apple App Store apps by keyword/v1/app_store/app-searchadvanced (5cr)
Search the Apple App Store listings database (paginated)/v1/app_store/app-listings-searchpremium (10cr)

Platform notes

Reviews are capped at 500. No parameter raises that ceiling. Above 500 the request is clamped rather than rejected, and a full 500-review pull takes around 40 seconds. If you need a longer history, sample repeatedly over time rather than trying to page past it. Google Play's ceiling is higher, at 600.

Apple reviews carry no avatar, helpful votes, or developer replies. Those fields are null here because Apple does not publish them, not because they were dropped. Google Play does carry developer replies.

country accepts three shapes on the app-data endpoints. An ISO code (US), a full country name (United States), or a numeric location code (2840) all work there, and it defaults to the US. search-suggestions is the exception: it takes an ISO alpha-2 code only, and anything else is a free 400. Get the numeric codes from locations.

language does not change the storefront. It defaults to en everywhere and only affects response language. Use country to change which store is queried.

Cross-store comparison uses the same shapes. Google Play mirrors this endpoint set with the same names, so one integration covers both stores. The identifier differs: Play uses a package name where Apple uses a numeric id.

Next steps