Dokumentace APK Surge

REST API s daty z Google Play: 4 miliony aplikací, vývojáři, nové a odstraněné aplikace, klíčová slova z názvů. Formát JSON, kódování UTF-8, CORS zapnut.

Rychlý start

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.

Autorizace

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.

Uchovávejte klíč na svém serveru. Pokud jej vložíte do JavaScriptu na stránce, může si ho zkopírovat kterýkoli návštěvník. Požadavky z frontendu směrujte přes svůj backend.

Tokeny a limity

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čkaVýznam
X-Tokens-Costkolik tokenů tento požadavek stál
X-Tokens-Remainingkolik tokenů zbývá (měsíční + zakoupené)
X-CacheHIT — odpověď z cache (rychlejší), MISS — nový dotaz do indexu
X-RateLimit-Limit / -Remaininglimit požadavků za minutu pro klíč a zbývající počet
X-Planfree | 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í.

Formát odpovědi a chyby

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. …" }
HTTPcodeKdy nastává
400invalid_param, invalid_requestneplatný nebo chybějící parametr
401missing_api_key, invalid_api_keychybí klíč, nebo byla jeho platnost zrušena
402insufficient_creditsnedostatek tokenů — kupte balíček
403account_blocked, plan_requiredúčet je zablokován, nebo se endpoint odemyká po prvním nákupu tokenů
404not_foundaplikace nebo vývojář není v databázi, nebo je endpoint neznámý
429rate_limitedpřekročen limit požadavků za minutu
503service_unavailabledočasný problém s databází — zkuste to později; tokeny se nestrhávají

Endpointy

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.

GET/api/v1/accountzdarma

Váš tarif, zůstatek tokenů, datum obnovení měsíčních tokenů a limit za minutu.

Aplikace
GET/api/v1/app 1 tok.

Ú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
GET · POST/api/v1/apps 1 token za aplikaci

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
GET/api/v1/suggest zdarma

Návrhy podle začátku názvu: 10 nejpopulárnějších shod. Zdarma.

q *začátek názvu, od 2 znaků
Vývojáři
GET/api/v1/developer 2 tok.

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.

idID vývojáře (z karty aplikace: developer.id)
namenebo přesné jméno vývojáře
statusall (výchozí), live nebo removed
sortrelevance | installs | real_installs | score | ratings | reviews | released | updated | price
pagestránka, od 1
perřádků na stránku, 1–100 (výchozí 20)
Změny v obchodě
GET/api/v1/new 2 tok.

Nové aplikace podle data prvního vydání, nejnovější první.

sinceod tohoto data, YYYY-MM-DD (výchozí: před 7 dny)
untildo tohoto data včetně
categoryID kategorie, např. GAME_PUZZLE (viz /v1/categories)
min_installsminimum instalací (prahy Google Play: 1000, 10000…)
langjazyk názvu, kód ISO: en, de, pt…
sortrelevance | installs | real_installs | score | ratings | reviews | released | updated | price
pagestránka, od 1
perřádků na stránku, 1–100 (výchozí 20)
GET/api/v1/removed 2 tok.

Aplikace, které zmizely z Google Play (nejsou v žádné z 19 zemí, které kontrolujeme), podle data odstranění. Karta uchovává poslední data.

sinceod tohoto data, YYYY-MM-DD (výchozí: před 7 dny)
untildo tohoto data včetně
categoryID kategorie, např. GAME_PUZZLE (viz /v1/categories)
min_installsminimum instalací (prahy Google Play: 1000, 10000…)
sortremoved_at | installs | score
pagestránka, od 1
perřádků na stránku, 1–100 (výchozí 20)
Trh
GET/api/v1/keywords 2 tok.

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).

langjazyk, výchozí en
qslovo nebo fráze
phrasetrue — jen dvouslovné fráze, false — jen jednotlivá slova
min_appsminimum aplikací
max_appsmaximum aplikací
sortopportunity | apps | installs | strong | devs | max_installs
orderdesc | asc
pagestránka, od 1
perřádků na stránku, 1–100 (výchozí 20)
GET/api/v1/categories zdarma

Všechny kategorie s počtem aplikací a celkovými instalacemi. Zdarma.

statuslive (v obchodě, výchozí), removed nebo all
GET/api/v1/free_domains 3 tok.po prvním nákupu

Aplikace, jejichž doména webu vývojáře je volná k registraci, spolu s popularitou aplikace. Odemkne se po prvním nákupu tokenů.

categoryID kategorie, např. GAME_PUZZLE (viz /v1/categories)
min_installsminimum instalací (prahy Google Play: 1000, 10000…)
statuslive (v obchodě, výchozí), removed nebo all
tlddoménová zóna, např. com
sortrelevance | installs | real_installs | score | ratings | reviews | released | updated | price
pagestránka, od 1
perřádků na stránku, 1–100 (výchozí 20)
GET/api/v1/charts 2 tok.

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
collectionfree | paid | grossing
pagestránka, od 1
perřádků na stránku, 1–100 (výchozí 20)
GET/api/v1/rankings 1 tok.

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
countryjen jedna země
collectionfree | paid | grossing
GET/api/v1/availability 1 tok.

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
GET/api/v1/markets 1 tok.

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.

countryzemě, kód ISO
categoryID kategorie, např. GAME_PUZZLE (viz /v1/categories)
sortentry100 | entry200 | new_share | local_share | local_apps | local_installs | local_new
orderdesc | asc
pagestránka, od 1
perřádků na stránku, 1–100 (výchozí 20)
GET/api/v1/stats zdarma

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

Ukázky kódu

# 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;

Vyzkoušet

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é.