CANAL+, Live and catch-up TV
com.canal.android.canal
FreeContains adsIn-app purchasesTeen
Scraped record
GET /api/v1/app?id=com.canal.android.canal, shortened.
{
"ok": true,
"app": {
"id": "com.canal.android.canal",
"url": "https://play.google.com/store/apps/details?id=com.canal.android.canal",
"title": "CANAL+, Live and catch-up TV",
"title_lang": "en",
"summary": "See or review your programs wherever you want, whenever you want!",
"description": "With the CANAL+ app, follow the big moments live, find your shows on replay even offline and discover our personalised recommendations on a…",
"recent_changes": "This version mainly includes improvements to the browsing experience as well as various fixes and optimizations.",
"status": {
"removed": false,
"removed_seen_at": null,
"source": "play",
"storefront": "US",
"archived_at": null,
"fetched_at": "2026-10-28T02:40:55Z"
},
"installs": {
"label": "50,000,000+",
"min": 50000000,
"real": 57862160
},
"rating": {
"score": 4.113,
"ratings": 489046,
"reviews": 712,
"histogram": [
61498,
18375,
24501,
82814,
301366
]
},
"pricing": {
"free": true,
"price": 0,
"currency": "USD",
"offers_iap": true,
"iap_range": "$7.49 - $89.99 per item",
"contains_ads": true
},
"category": {
"id": "ENTERTAINMENT",
"name": "Entertainment",
"all": []
},
"content_rating": {
"rating": "Teen",
"description": "Diverse Content: Discretion Advised"
},
"developer": {
"id": "8506791875489011833",
"name": "GROUPE CANAL+",
"url": "https://play.google.com/store/apps/dev?id=8506791875489011833",
"website": "https://www.canalplus.com",
"site_domain": "canalplus.com",
"site_domain_available": false,
"privacy_policy": "https://www.canalplus.com/confidentiality",
"contacts": "available on the Business plan"
},
"released": "2014-02-14T15:53:24Z",
"updated": "2026-10-22T09:47:44Z",
"version": null,
"android_min": null,
"media": {
"icon": "https://play-lh.googleusercontent.com/HViN5bSGyYr2-aaq7eW5OnynnUmRYGSDE6CQdD_LYUbZjY-oINHgXXpuoC2PNP2h1wEiInS7J-eB78P_fRkE9g",
"header_image": "https://play-lh.googleusercontent.com/XCoKxMSbVQkwV1MlWaEnNfdsLtU6YQ5GrGFLF4ONVpXvOlwS53OE_nLX_buNVMTcE1h1MMtYp0CfODC81KzmlA",
"screenshots": [
"https://play-lh.googleusercontent.com/WOOSH2IX5N49lI6F6_eOo-un1QX-dbvMctXX5tNZprM6Fjx0SzfNytvQPPK1MDFMHO28myCwu2hYn5p-XkQdxw",
"https://play-lh.googleusercontent.com/QOvUqU3-BdDARBNRGzQFuTRSlcRjK6Fu-zOW1X5e1BTEcLJD1I4PWjSVZkBa0Xo3qQ55V9k2E6oN4vW69u1R"
],
"video": null,
"video_image": null
}
}
}Fetch it from your code
import requests
r = requests.get('https://apiplay.cc/api/v1/app', params={'id': 'com.canal.android.canal'},
headers={'X-API-Key': API_KEY}, timeout=30)
data = r.json()const res = await fetch('https://apiplay.cc/api/v1/app?id=com.canal.android.canal', {
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.canal.android.canal"
$ch = curl_init('https://apiplay.cc/api/v1/app?id=com.canal.android.canal');
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
5M+Installs
4.1 / 489KRating
Feb 14, 2014Released
Oct 22, 2026Updated
Rating breakdown
5301K
483K
325K
218K
161K