Find an app's competitors (store "similar apps" plus apps ranking for the same keywords).
curl --request GET \
--url https://api.appgoat.ai/v1/apps/{app}/competitors \
--header 'x-api-key: <api-key>'const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://api.appgoat.ai/v1/apps/{app}/competitors', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.appgoat.ai/v1/apps/{app}/competitors"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text){
"data": [
{
"store": "apple",
"app_id": "<string>",
"title": "<string>",
"developer_name": "<string>",
"icon_url": "<string>",
"category": "<string>",
"rating": 123,
"ratings_count": 123,
"installs_min": 123,
"price": 123,
"shared_keywords": 123,
"best_shared_rank": 123,
"similar_position": 123,
"score": 123
}
],
"meta": {
"credits_used": 123,
"credits_remaining": 123,
"request_id": "<string>",
"freshness": {
"fetched_at": "2023-11-07T05:31:56Z",
"age_seconds": 123,
"stale": true,
"refreshing": true,
"job_id": "<string>"
},
"next_cursor": "<string>",
"store": "apple",
"warnings": [
"<string>"
]
}
}{
"error": {
"code": "invalid_param",
"message": "<string>",
"hint": "<string>",
"docs": "<string>",
"param": "<string>"
}
}{
"error": {
"code": "invalid_param",
"message": "<string>",
"hint": "<string>",
"docs": "<string>",
"param": "<string>"
}
}Apps
List competitors
Scored list: shared_keywords (search terms both apps rank for) counts most, the store’s own similar-apps
list (similar_position) adds a boost. Feed the result into getApp / listAppChanges for a
competitor digest.
GET
/
apps
/
{app}
/
competitors
Find an app's competitors (store "similar apps" plus apps ranking for the same keywords).
curl --request GET \
--url https://api.appgoat.ai/v1/apps/{app}/competitors \
--header 'x-api-key: <api-key>'const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://api.appgoat.ai/v1/apps/{app}/competitors', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.appgoat.ai/v1/apps/{app}/competitors"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text){
"data": [
{
"store": "apple",
"app_id": "<string>",
"title": "<string>",
"developer_name": "<string>",
"icon_url": "<string>",
"category": "<string>",
"rating": 123,
"ratings_count": 123,
"installs_min": 123,
"price": 123,
"shared_keywords": 123,
"best_shared_rank": 123,
"similar_position": 123,
"score": 123
}
],
"meta": {
"credits_used": 123,
"credits_remaining": 123,
"request_id": "<string>",
"freshness": {
"fetched_at": "2023-11-07T05:31:56Z",
"age_seconds": 123,
"stale": true,
"refreshing": true,
"job_id": "<string>"
},
"next_cursor": "<string>",
"store": "apple",
"warnings": [
"<string>"
]
}
}{
"error": {
"code": "invalid_param",
"message": "<string>",
"hint": "<string>",
"docs": "<string>",
"param": "<string>"
}
}{
"error": {
"code": "invalid_param",
"message": "<string>",
"hint": "<string>",
"docs": "<string>",
"param": "<string>"
}
}Authorizations
Create a key at https://dash.appgoat.ai.
Path Parameters
Any app identifier: App Store id (284882215, id284882215), Play package (com.spotify.music), Apple bundle id (com.spotify.client), store URL (URL-encoded), apple:<id> / play:<id>, or a name (spotify).
Example:
"com.spotify.music"
Query Parameters
Disambiguates {app} (a bundle id vs a Play package, or a name).
Available options:
apple, play ISO country code(s): us (default), a comma list (paid plans), or all (Studio).
Example:
"us,de"
Required range:
1 <= x <= 100