> ## Documentation Index
> Fetch the complete documentation index at: https://docs.stophy.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Apps

> Look up apps on the App Store and Google Play. Get listings, top charts, and user reviews as structured JSON or markdown.

Look up apps on the App Store and Google Play. Get listings, top charts, and user reviews as structured JSON or markdown. See every field in the [Apps reference](/api-reference/endpoint/appstore-search), or try it in the [playground](https://stophy.dev/playground).

## Search App Store apps

<CodeGroup>
  ```typescript TypeScript icon="https://mintcdn.com/sirathic/7E4w9-IC4ysabjfc/images/icons/typescript.svg?fit=max&auto=format&n=7E4w9-IC4ysabjfc&q=85&s=d8272a85e64145620f1fbbfcf7932986" theme={null}
  import { Stophy } from "stophy";

  const stophy = new Stophy({ apiKey: process.env.STOPHY_API_KEY });
  const result = await stophy.appstore.search({ query: "photo editor", limit: 20 });
  console.log(result.data.apps);
  ```

  ```python Python icon="python" theme={null}
  from stophy import Stophy

  stophy = Stophy()  # reads STOPHY_API_KEY
  result = stophy.appstore.search(query="photo editor", limit=20)
  print(result["data"]["apps"])
  ```

  ```bash cURL icon="terminal" theme={null}
  curl -X POST https://api.stophy.dev/v1/appstore/search \
    -H "Authorization: Bearer $STOPHY_API_KEY" \
    -H "content-type: application/json" \
    -d '{"query":"photo editor","limit":20}'
  ```

  ```bash CLI icon="square-terminal" theme={null}
  stophy appstore search "photo editor" --limit 20
  ```
</CodeGroup>

The response:

```json theme={null}
{
  "success": true,
  "data": {
    "apps": [
      {
        "id": "abc123",
        "bundleId": "abc123",
        "name": "Example title",
        "url": "https://example.com/",
        "developer": {
          "id": "abc123",
          "name": "Example title",
          "url": "https://example.com/"
        },
        "seller": "example",
        "website": "https://example.com/",
        "price": 19.99,
        "currency": "USD",
        "priceText": "example",
        "genres": [
          "example"
        ],
        "primaryGenre": {
          "id": "abc123",
          "name": "Example title"
        },
        "contentRating": "example",
        "description": "A short, readable summary of the result.",
        "releaseNotes": "example",
        "version": "example",
        "releasedAt": "2026-09-28T12:00:00.000Z",
        "updatedAt": "2026-09-28T12:00:00.000Z",
        "minimumOsVersion": "example",
        "sizeBytes": 1,
        "languages": [
          "example"
        ],
        "rating": 4.5,
        "ratings": 4.5,
        "icon": "https://example.com/",
        "screenshots": [
          "https://example.com/"
        ],
        "ipadScreenshots": [
          "https://example.com/"
        ]
      }
    ]
  },
  "creditsUsed": 1,
  "requestId": "54ff3b3e-f614-41e6-bf22-39d56411f10f"
}
```

## Endpoints

| Endpoint | Cost |
| - | - |
| [Get an app's details from the App Store](/api-reference/endpoint/appstore-app) | 1 credit |
| [Search App Store apps](/api-reference/endpoint/appstore-search) | 1 credit per 20 items, at least 1 credit |
| [Get an app's App Store reviews](/api-reference/endpoint/appstore-reviews) | 1 credit per 20 items, at least 1 credit |
| [Get App Store top charts](/api-reference/endpoint/appstore-top) | 1 credit per 100 items, at least 1 credit |
| [Get an app's details from Google Play](/api-reference/endpoint/googleplay-app) | 1 credit |
| [Search Google Play apps](/api-reference/endpoint/googleplay-search) | 1 credit |
| [Get an app's Google Play reviews](/api-reference/endpoint/googleplay-reviews) | 1 credit per 20 items, at least 1 credit |

## More ways to call it

### Get an app's details from the App Store

<CodeGroup>
  ```typescript TypeScript icon="https://mintcdn.com/sirathic/7E4w9-IC4ysabjfc/images/icons/typescript.svg?fit=max&auto=format&n=7E4w9-IC4ysabjfc&q=85&s=d8272a85e64145620f1fbbfcf7932986" theme={null}
  import { Stophy } from "stophy";

  const stophy = new Stophy({ apiKey: process.env.STOPHY_API_KEY });
  const result = await stophy.appstore.app({ app: "284882215" });
  console.log(result.data.app);
  ```

  ```python Python icon="python" theme={null}
  from stophy import Stophy

  stophy = Stophy()  # reads STOPHY_API_KEY
  result = stophy.appstore.app(app="284882215")
  print(result["data"]["app"])
  ```

  ```bash cURL icon="terminal" theme={null}
  curl -X POST https://api.stophy.dev/v1/appstore/app \
    -H "Authorization: Bearer $STOPHY_API_KEY" \
    -H "content-type: application/json" \
    -d '{"app":"284882215"}'
  ```

  ```bash CLI icon="square-terminal" theme={null}
  stophy appstore app 284882215
  ```
</CodeGroup>

### Search Google Play apps

<CodeGroup>
  ```typescript TypeScript icon="https://mintcdn.com/sirathic/7E4w9-IC4ysabjfc/images/icons/typescript.svg?fit=max&auto=format&n=7E4w9-IC4ysabjfc&q=85&s=d8272a85e64145620f1fbbfcf7932986" theme={null}
  import { Stophy } from "stophy";

  const stophy = new Stophy({ apiKey: process.env.STOPHY_API_KEY });
  const result = await stophy.googleplay.search({ query: "photo editor" });
  console.log(result.data.apps);
  ```

  ```python Python icon="python" theme={null}
  from stophy import Stophy

  stophy = Stophy()  # reads STOPHY_API_KEY
  result = stophy.googleplay.search(query="photo editor")
  print(result["data"]["apps"])
  ```

  ```bash cURL icon="terminal" theme={null}
  curl -X POST https://api.stophy.dev/v1/googleplay/search \
    -H "Authorization: Bearer $STOPHY_API_KEY" \
    -H "content-type: application/json" \
    -d '{"query":"photo editor"}'
  ```

  ```bash CLI icon="square-terminal" theme={null}
  stophy googleplay search "photo editor"
  ```
</CodeGroup>

<Tip>Pass the app id from a search result into the App Store or Google Play reviews endpoint to read what users say.</Tip>
