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

# Get Similar Apps

> Discover similar and competing apps using a 3-layer matching algorithm

```
GET /v1/apps/:id/similar
```

Returns a list of similar and competing apps discovered through a multi-layer matching algorithm.

## Path Parameters

| Name | Type   | Required | Description                                                                             |
| ---- | ------ | -------- | --------------------------------------------------------------------------------------- |
| id   | string | Yes      | App ID — numeric for Apple (`913335252`), package name for Google (`com.spotify.music`) |

## Query Parameters

| Name     | Type   | Default | Description                                                                      |
| -------- | ------ | ------- | -------------------------------------------------------------------------------- |
| platform | string | `apple` | `apple` (default) or `google` for Google Play — see [Platforms](/docs/platforms) |
| country  | string | `us`    | ISO country code (e.g. `us`, `gb`, `de`)                                         |
| lang     | string | `en`    | Google Play language code (used when `platform=google`)                          |

## Code Examples

<CodeGroup>
  ```bash cURL theme={"theme":{"light":"github-light","dark":"github-dark"}}
  curl -X GET "https://api.appeeky.com/v1/apps/913335252/similar?country=us" \
    -H "X-API-Key: YOUR_API_KEY"
  ```

  ```javascript JavaScript theme={"theme":{"light":"github-light","dark":"github-dark"}}
  const response = await fetch(
    "https://api.appeeky.com/v1/apps/913335252/similar?country=us",
    {
      headers: {
        "X-API-Key": "YOUR_API_KEY",
      },
    }
  );

  const data = await response.json();
  console.log(data);
  ```

  ```python Python theme={"theme":{"light":"github-light","dark":"github-dark"}}
  import requests

  response = requests.get(
      "https://api.appeeky.com/v1/apps/913335252/similar",
      params={"country": "us"},
      headers={"X-API-Key": "YOUR_API_KEY"},
  )

  data = response.json()
  print(data)
  ```
</CodeGroup>

## Response

```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
{
  "data": [
    {
      "appId": "1157115554",
      "title": "Khan Academy",
      "developer": "Khan Academy",
      "icon": "https://is1-ssl.mzstatic.com/image/thumb/Purple221/v4/.../512x512bb.jpg",
      "rating": 4.8,
      "reviewsCount": 158000
    },
    {
      "appId": "1464991213",
      "title": "Photomath",
      "developer": "Google LLC",
      "icon": "https://is1-ssl.mzstatic.com/image/thumb/Purple221/v4/.../512x512bb.jpg",
      "rating": 4.7,
      "reviewsCount": 892000
    },
    {
      "appId": "1449068013",
      "title": "Coursera: Learn career skills",
      "developer": "Coursera",
      "icon": "https://is1-ssl.mzstatic.com/image/thumb/Purple221/v4/.../512x512bb.jpg",
      "rating": 4.8,
      "reviewsCount": 179000
    }
  ]
}
```

***

## Response Fields

| Field        | Type           | Description         |
| ------------ | -------------- | ------------------- |
| appId        | string         | Apple App ID        |
| title        | string         | App name            |
| developer    | string         | Developer name      |
| icon         | string         | App icon URL        |
| rating       | number \| null | Star rating (0–5)   |
| reviewsCount | number \| null | Total ratings count |

***

## Matching Algorithm

Similar apps are discovered through a **3-layer matching algorithm**:

1. **Keyword overlap** (best signal) — Apps ranking for the same keywords
2. **Title-based search + genre filter** — Meaningful words from the app's title are searched on iTunes, then filtered to only include apps in the same primary genre
3. **Same developer** — Other apps from the same developer (up to 3)

<Note>
  The algorithm combines all three layers, deduplicates results, and returns up to **10** similar apps. The order reflects match quality — keyword-matched apps appear first, followed by genre-matched, then developer apps.
</Note>

***

## Migration from Intelligence Endpoint

Previously, similar apps were included in the `GET /v1/apps/:id/intelligence` response. The intelligence endpoint now returns `similarApps: []` by default.

**Before (single call):**

```javascript theme={"theme":{"light":"github-light","dark":"github-dark"}}
const intel = await fetch("/v1/apps/913335252/intelligence");
const { similarApps } = intel.data;
```

**After (parallel calls):**

```javascript theme={"theme":{"light":"github-light","dark":"github-dark"}}
const [intel, similar] = await Promise.all([
  fetch("/v1/apps/913335252/intelligence"),
  fetch("/v1/apps/913335252/similar"),
]);

```
