> **For coding agents and LLMs:** This is one Social Fetch marketing page (markdown export). For API orientation start with [`/llms.txt`](https://www.socialfetch.dev/llms.txt); for auth and crawl rules use [`/agents.txt`](https://www.socialfetch.dev/agents.txt); for every operation use [`/llms-endpoints.txt`](https://www.socialfetch.dev/llms-endpoints.txt).

## This page

- **On-site (HTML):** <https://www.socialfetch.dev/platforms/apple-app-store/apps-search>
- **Markdown (.mdx) URL:** <https://www.socialfetch.dev/platforms/apple-app-store/apps-search.mdx>

---

# Apple App Store Search API

Search a storefront by text and get full app records back, best match first.

`GET /v1/apple-app-store/apps/search` takes `query`, an optional `country` storefront, an optional `language`, a `platform` of `iphone`, `ipad` or `mac`, and a `limit` from 1 to 200. The default limit is 50. Search has no paging: one call returns up to that many apps and `data.page` is always `{ page: 1, hasMore: false, nextPage: null }`.

The answer is `data.lookupStatus`, `data.storefront`, `data.query`, `data.platform` and `data.results`, where each result is a full app record with `id`, `bundleId`, `name`, `url`, `developer`, `price`, `ratings`, `genres`, `currentVersion`, `description`, `icon` and `screenshots`. `lookupStatus` is always `found`. The search is fuzzy: a query with no real match can still return loosely related apps, so check the names. The store also often returns 10 to 20 percent fewer results than the limit you ask for.

## Request

- **Endpoint:** `GET /v1/apple-app-store/apps/search`
- **Credits:** 1 credit
Failed requests are free
- **Input:** by query
- **Full reference:** [docs](https://www.socialfetch.dev/docs/api/v1/apple-app-store/apps/search/get)
- **Platform page:** [/platforms/apple-app-store](https://www.socialfetch.dev/platforms/apple-app-store)

## FAQ

### How many results can I get?

Up to 200 with limit. The default is 50. The store often returns 10 to 20 percent fewer results than asked for, so do not treat a count below limit as an error.

### Is there paging?

No. One query returns one page of up to 200 apps, and data.page is always page 1 with hasMore false and nextPage null. To widen the search, change the query, platform or storefront.

### What does an empty result mean?

lookupStatus is still found and results is an empty list. There is no not_found for search. A nonsense query can also return loosely related apps rather than an empty list, so check results[].name when the match matters.

### Which platform should I search?

iphone searches iPhone and iPad apps, ipad searches iPad apps, and mac searches Mac apps. The default is iphone. Pass the same platform when you compare result counts.

### Can I search a different storefront?

Yes. Pass a two-letter country code in country. The same query can return a different order, different prices and different apps in another storefront.

### How many credits does a search cost?

Pricing is documented on the operation in the API registry (shown on this page). Confirm on every response with meta.creditsCharged: that field is the billing source of truth.
