Základní URL: https://apksurge.com/api/v1. Zaregistrujte se, vytvořte klíč API v účtu a odešlete první požadavek:
Strojově čitelný popis API: OpenAPI 3.1 · kolekce Postman — naimportujte do Postmanu, Insomnie nebo generátoru klientů (openapi-generator) a získáte hotové SDK pro svůj jazyk.
curl -H "X-API-Key: VÁŠ_KLÍČ" "https://apksurge.com/api/v1/app?id=com.whatsapp"
Data pokrývají přes 4 miliony aplikací z Google Play z amerického obchodu v angličtině (pokud tam aplikace není, z jiné země), aktualizace každou noc. Aplikace, které z obchodu zmizely, zůstávají v databázi s posledními daty.
Každý požadavek kromě /v1/health musí obsahovat klíč API v hlavičce:
X-API-Key: ak_live_…
Přijímáme také: Authorization: Bearer …. Klíč nelze předávat v parametrech URL: skončil by v logách a v historii prohlížeče.
Každé volání stojí 0–3 tokeny podle endpointu, bez ohledu na počet řádků v odpovědi (až 100); dávkový požadavek apps stojí 1 token za aplikaci. Nejprve se čerpají měsíční tokeny, poté zakoupené. Pokud požadavek selže z naší strany, tokeny se vrátí. Tarify a balíčky
| Hlavička | Význam |
|---|---|
X-Tokens-Cost | kolik tokenů tento požadavek stál |
X-Tokens-Remaining | kolik tokenů zbývá (měsíční + zakoupené) |
X-Cache | HIT — odpověď z cache (rychlejší), MISS — nový dotaz do indexu |
X-RateLimit-Limit / -Remaining | limit požadavků za minutu pro klíč a zbývající počet |
X-Plan | free | pro | business |
Zbývající tokeny najdete také v poli _tokens každé odpovědi a v /v1/account (zdarma). Staré názvy _credits a X-Credits-* jsou zastaralé, ale zatím fungují.
Každá odpověď obsahuje pole ok. Seznamy obsahují results, total, page, per, pages. Chyba: ok = false, error je vysvětlení, code je strojově čitelný kód. Data jsou ve formátu ISO 8601 v UTC.
{ "ok": true, "app": { "id": "com.whatsapp", "title": "WhatsApp", "installs": { "label": "10,000,000,000+", "min": 10000000000, "real": 12445120489 }, … },
"_tokens": { "cost": 1, "monthly_remaining": 999, "balance": 0, "available": 999, "cached": false } }
{ "ok": false, "code": "insufficient_credits", "error": "Not enough tokens: this call costs 2, you have 1. …" }
| HTTP | code | Kdy nastává |
|---|---|---|
| 400 | invalid_param, invalid_request | neplatný nebo chybějící parametr |
| 401 | missing_api_key, invalid_api_key | chybí klíč, nebo byla jeho platnost zrušena |
| 402 | insufficient_credits | nedostatek tokenů — kupte balíček |
| 403 | account_blocked, plan_required | účet je zablokován, nebo se endpoint odemyká po prvním nákupu tokenů |
| 404 | not_found | aplikace nebo vývojář není v databázi, nebo je endpoint neznámý |
| 429 | rate_limited | překročen limit požadavků za minutu |
| 503 | service_unavailable | dočasný problém s databází — zkuste to později; tokeny se nestrhávají |
Všechny endpointy jsou GET /api/v1/{назва}. Stránkování: page (od 1) a per (1–100), maximálně do 10 000. výsledku. Řazení: sort + order=asc|desc.
Váš tarif, zůstatek tokenů, datum obnovení měsíčních tokenů a limit za minutu.
Úplná karta aplikace: název, popis, „Co je nového“, instalace (práh i přesné číslo), hodnocení, počet hodnocení a recenzí, rozložení hvězdiček, cena, nákupy, reklama, kategorie, věkové hodnocení, verze, minimální Android, data vydání a aktualizace, ikona, snímky obrazovky, video, vývojář a jeho web. U odstraněných aplikací poslední uložená data a datum odstranění.
id * | název balíčku aplikace |
Až 100 karet jedním požadavkem: GET ?ids=a,b,c nebo POST se seznamem v těle (jedno na řádek, nebo JSON {"ids": […]}). 1 token za každou aplikaci; nenalezené se vrátí v not_found.
ids * | názvy balíčků oddělené čárkou, max. 100 |
Vyhledávání a filtry v celé databázi. Je potřeba alespoň jeden filtr. Bez q se řadí podle instalací.
q | slova k vyhledání v názvu, popisu a jménu vývojáře |
category | ID kategorie, např. GAME_PUZZLE (viz /v1/categories) |
developer_id | ID vývojáře na Google Play |
min_installs | minimum instalací (prahy Google Play: 1000, 10000…) |
max_installs | maximum instalací |
min_score | minimální hodnocení, 0–5 |
min_ratings | minimum hodnocení |
free | true — jen zdarma, false — jen placené |
ads | true — s reklamou, false — bez ní |
iap | true — s nákupy v aplikaci |
lang | jazyk názvu, kód ISO: en, de, pt… |
released_from | vydané od tohoto data, YYYY-MM-DD |
released_to | vydané do tohoto data včetně |
updated_from | aktualizované od tohoto data |
updated_to | aktualizované do tohoto data včetně |
status | live (v obchodě, výchozí), removed nebo all |
sort | relevance | installs | real_installs | score | ratings | reviews | released | updated | price |
order | desc | asc |
page | stránka, od 1 |
per | řádků na stránku, 1–100 (výchozí 20) |
Návrhy podle začátku názvu: 10 nejpopulárnějších shod. Zdarma.
q * | začátek názvu, od 2 znaků |
Vývojář a všechny jeho aplikace: počet (v obchodě i odstraněných), celkové instalace, průměrné hodnocení, první vydání, kategorie, web. V tarifu Business také e-mail, telefon, adresa a právní název.
id | ID vývojáře (z karty aplikace: developer.id) |
name | nebo přesné jméno vývojáře |
status | all (výchozí), live nebo removed |
sort | relevance | installs | real_installs | score | ratings | reviews | released | updated | price |
page | stránka, od 1 |
per | řádků na stránku, 1–100 (výchozí 20) |
Nové aplikace podle data prvního vydání, nejnovější první.
since | od tohoto data, YYYY-MM-DD (výchozí: před 7 dny) |
until | do tohoto data včetně |
category | ID kategorie, např. GAME_PUZZLE (viz /v1/categories) |
min_installs | minimum instalací (prahy Google Play: 1000, 10000…) |
lang | jazyk názvu, kód ISO: en, de, pt… |
sort | relevance | installs | real_installs | score | ratings | reviews | released | updated | price |
page | stránka, od 1 |
per | řádků na stránku, 1–100 (výchozí 20) |
Aplikace, které zmizely z Google Play (nejsou v žádné z 19 zemí, které kontrolujeme), podle data odstranění. Karta uchovává poslední data.
since | od tohoto data, YYYY-MM-DD (výchozí: před 7 dny) |
until | do tohoto data včetně |
category | ID kategorie, např. GAME_PUZZLE (viz /v1/categories) |
min_installs | minimum instalací (prahy Google Play: 1000, 10000…) |
sort | removed_at | installs | score |
page | stránka, od 1 |
per | řádků na stránku, 1–100 (výchozí 20) |
Slova a fráze z názvů aplikací zvlášť pro každý jazyk: kolik aplikací a vývojářů je používá, kolik z nich je silných (100 tis.+ instalací), celkové instalace, podíl lídra a skóre příležitosti (opportunity).
lang | jazyk, výchozí en |
q | slovo nebo fráze |
phrase | true — jen dvouslovné fráze, false — jen jednotlivá slova |
min_apps | minimum aplikací |
max_apps | maximum aplikací |
sort | opportunity | apps | installs | strong | devs | max_installs |
order | desc | asc |
page | stránka, od 1 |
per | řádků na stránku, 1–100 (výchozí 20) |
Všechny kategorie s počtem aplikací a celkovými instalacemi. Zdarma.
status | live (v obchodě, výchozí), removed nebo all |
Aplikace, jejichž doména webu vývojáře je volná k registraci, spolu s popularitou aplikace. Odemkne se po prvním nákupu tokenů.
category | ID kategorie, např. GAME_PUZZLE (viz /v1/categories) |
min_installs | minimum instalací (prahy Google Play: 1000, 10000…) |
status | live (v obchodě, výchozí), removed nebo all |
tld | doménová zóna, např. com |
sort | relevance | installs | real_installs | score | ratings | reviews | released | updated | price |
page | stránka, od 1 |
per | řádků na stránku, 1–100 (výchozí 20) |
Top žebříček Google Play jedné země a kategorie: až 200 pozic, změna pozice oproti předchozímu snímku (change: o kolik míst stoupla, "new" — nově v žebříčku), ikona a instalace.
country * | země, kód ISO: US, DE, BR… |
category * | kategorie, např. GAME_PUZZLE |
collection | free | paid | grossing |
page | stránka, od 1 |
per | řádků na stránku, 1–100 (výchozí 20) |
Všechny žebříčky, ve kterých je aplikace v nejnovějším snímku: země, kategorie, kolekce, pozice; počet žebříčků, zemí a nejlepší pozice.
id * | název balíčku aplikace |
country | jen jedna země |
collection | free | paid | grossing |
Země, kde je aplikace dostupná na Google Play (podle hreflang v sitemap obchodu). Při 190+ zemích se vrací worldwide = true bez seznamu.
id * | název balíčku aplikace |
Konkurence na trzích podle žebříčků aplikací zdarma: vstupní práh do top 100 a top 200 (instalace aplikace na dané pozici), podíl nových (za 12 měsíců) a lokálních (≤3 země) aplikací v žebříčku, velikost lokálního trhu. Bez parametrů — všechny země; country — kategorie jedné země; category — jedna kategorie ve všech zemích.
country | země, kód ISO |
category | ID kategorie, např. GAME_PUZZLE (viz /v1/categories) |
sort | entry100 | entry200 | new_share | local_share | local_apps | local_installs | local_new |
order | desc | asc |
page | stránka, od 1 |
per | řádků na stránku, 1–100 (výchozí 20) |
Velikost databáze: aplikace v obchodě i odstraněné, vývojáři, nové a odstraněné za 7 dní, čas poslední aktualizace. Zdarma.
* — povinný parametr
# curl — one app
curl -H "X-API-Key: $KEY" "https://apksurge.com/api/v1/app?id=org.telegram.messenger"
# curl — puzzle games with 10M+ installs, best rated first
curl -H "X-API-Key: $KEY" "https://apksurge.com/api/v1/search?category=GAME_PUZZLE&min_installs=10000000&sort=score"
# curl — up to 100 apps in one call (POST, one package per line)
curl -H "X-API-Key: $KEY" --data-binary $'com.whatsapp\norg.telegram.messenger' "https://apksurge.com/api/v1/apps"
# Python — apps removed from Google Play this week
import os, requests
r = requests.get("https://apksurge.com/api/v1/removed",
params={"since": "2026-10-20", "min_installs": 100000, "per": 100},
headers={"X-API-Key": os.environ["KEY"]}, timeout=30)
r.raise_for_status()
data = r.json()
for app in data["results"]:
print(app["removed_seen_at"], app["id"], app["installs"]["label"])
print("tokens left:", data["_tokens"]["available"])
// Node.js 18+ (na serveru — ne v prohlížeči)
const res = await fetch("https://apksurge.com/api/v1/developer?id=5191370068110375942", { headers: { "X-API-Key": process.env.KEY } });
const d = await res.json();
if (!d.ok) throw new Error(d.error);
console.log(d.developer.name, d.developer.apps, d.developer.total_installs);
// PHP
$ch = curl_init('https://apksurge.com/api/v1/keywords?lang=en&q=vpn&per=50');
curl_setopt_array($ch, [CURLOPT_RETURNTRANSFER => true, CURLOPT_HTTPHEADER => ['X-API-Key: ' . getenv('KEY')]]);
$d = json_decode(curl_exec($ch), true);
foreach ($d['results'] as $k) echo $k['keyword'], ' — ', $k['apps'], PHP_EOL;
Klíč lze vytvořit v účtu. Požadavek jde přímo z vašeho prohlížeče. Klíč se nikam neukládá a po obnovení stránky zmizí. Požadavky z konzole spotřebovávají tokeny stejně jako běžné.