Returns a list of similar and competing apps discovered through a multi-layer matching algorithm.
Path Parameters
| Name | Type | Required | Description |
|---|
| id | string | Yes | Apple App ID (numeric, e.g. 913335252) |
Query Parameters
| Name | Type | Default | Description |
|---|
| country | string | us | ISO country code (e.g. us, gb, de) |
Code Examples
curl -X GET "https://api.appeeky.com/v1/apps/913335252/similar?country=us" \
-H "X-API-Key: YOUR_API_KEY"
Response
{
"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:
- Keyword overlap (best signal) — Apps ranking for the same keywords
- 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
- Same developer — Other apps from the same developer (up to 3)
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.
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):
const intel = await fetch("/v1/apps/913335252/intelligence");
const { similarApps } = intel.data;
After (parallel calls):
const [intel, similar] = await Promise.all([
fetch("/v1/apps/913335252/intelligence"),
fetch("/v1/apps/913335252/similar"),
]);