Spray: Board Climbing
com.graniteapps.spray
FreeTeen
Scraped record
GET /api/v1/app?id=com.graniteapps.spray, shortened.
{
"ok": true,
"app": {
"id": "com.graniteapps.spray",
"url": "https://play.google.com/store/apps/details?id=com.graniteapps.spray",
"title": "Spray: Board Climbing",
"title_lang": "en",
"summary": "Create and log problems on your spray wall with automatic hold detection",
"description": "Create and share your spray wall climbs with other users. - Run the automatic hold detection to set up your custom spray wall- Walls can be…",
"recent_changes": "Filter climbs to ones you haven't sent, or ones nobody has sent.The leaderboard counts the last 30 days or all time.Set circuits: press…",
"status": {
"removed": false,
"removed_seen_at": null,
"source": "play",
"storefront": "US",
"archived_at": null,
"fetched_at": "2026-10-28T03:44:11Z"
},
"installs": {
"label": "10+",
"min": 10,
"real": 17
},
"rating": {
"score": null,
"ratings": null,
"reviews": null,
"histogram": []
},
"pricing": {
"free": true,
"price": 0,
"currency": "USD",
"offers_iap": false,
"iap_range": null,
"contains_ads": false
},
"category": {
"id": "HEALTH_AND_FITNESS",
"name": "Health & Fitness",
"all": []
},
"content_rating": {
"rating": "Teen",
"description": "Diverse Content: Discretion Advised"
},
"developer": {
"id": "5344689154137968436",
"name": "Granite Apps",
"url": "https://play.google.com/store/apps/developer?id=Granite+Apps",
"website": "https://graniteapps.net",
"site_domain": "graniteapps.net",
"site_domain_available": false,
"privacy_policy": "https://spray-wall-da1c1.web.app/privacy.html",
"contacts": "available on the Business plan"
},
"released": "2026-10-06T05:01:30Z",
"updated": "2026-10-27T06:54:06Z",
"version": "0.1.0",
"android_min": "7.0",
"media": {
"icon": "https://play-lh.googleusercontent.com/ZXE9mUABPRku1N22ys0X8s8OrQL_wpoeS1tYtDBmMlL92-kMMltGl27FmIH-gq1FSK3DPRAa8Ng8m5gzgaieVg",
"header_image": "https://play-lh.googleusercontent.com/-9cybWlHb7qLsC0Iik8eipVmOAmRK5k8NILzmYhZLwwdYoCvzazn_-PKMZ7X4aVtFePeLK7AJMqYout8yzVG1g",
"screenshots": [
"https://play-lh.googleusercontent.com/10PWHfaqSZJC6zMF8aUki9Y_11vSE_nWgnS-aKGSfwC4vf2pyUYT4lkM3E0DBfhWrlYk3bau2EVs49kay4lScA",
"https://play-lh.googleusercontent.com/WcQqcMqgbEzUiNHEb0NztGHGELHcICxfCfQCVngIlC_2-GDd8Dod2ULLkiyGTzdIEAAVVAwsSVYgsbJZrPnKqw"
],
"video": null,
"video_image": null
}
}
}Fetch it from your code
import requests
r = requests.get('https://apiplay.cc/api/v1/app', params={'id': 'com.graniteapps.spray'},
headers={'X-API-Key': API_KEY}, timeout=30)
data = r.json()const res = await fetch('https://apiplay.cc/api/v1/app?id=com.graniteapps.spray', {
headers: { 'X-API-Key': process.env.API_KEY },
});
const data = await res.json();curl -H "X-API-Key: $API_KEY" \ "https://apiplay.cc/api/v1/app?id=com.graniteapps.spray"
$ch = curl_init('https://apiplay.cc/api/v1/app?id=com.graniteapps.spray');
curl_setopt_array($ch, [CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['X-API-Key: ' . getenv('API_KEY')]]);
$data = json_decode(curl_exec($ch), true);1,000 free credits a month, no card needed. API reference
Parsed fields
10+Installs
n/aRating
Oct 6, 2026Released
Oct 27, 2026Updated