APK API dokumentáció

REST API Google Play adatokkal: 4 millió alkalmazás, fejlesztők, új és eltávolított alkalmazások, címkulcsszavak. Formátum: JSON, UTF-8 kódolás, CORS engedélyezve.

Gyors kezdés

Alap URL: https://apkapi.com/api/v1. Regisztráljon, hozzon létre API-kulcsot a fiókban és küldje el az első kérését:

Géppel olvasható API-leírás: OpenAPI 3.1 · Postman-gyűjtemény — importálja a Postmanbe, az Insomniába vagy egy kliensgenerátorba (openapi-generator), és kész SDK-t kap a saját nyelvéhez.

curl -H "X-API-Key: AZ_ON_KULCSA" "https://apkapi.com/api/v1/app?id=com.whatsapp"

Az adatok több mint 4 millió Google Play alkalmazásra vonatkoznak az amerikai áruházból, angol nyelven (ha az alkalmazás ott nem érhető el, másik országból), éjszakai frissítéssel. Az áruházból eltűnt alkalmazások az utolsó adataikkal az adatbázisban maradnak.

Hitelesítés

A /v1/health kivételével minden kérésnek tartalmaznia kell az API-kulcsot a fejlécben:

X-API-Key: ak_live_…

Elfogadott még: Authorization: Bearer …. A kulcsot nem szabad URL-paraméterben átadni: így naplókba és a böngésző előzményei közé kerülne.

Tartsa a kulcsot a saját szerverén. Ha beágyazza az oldal JavaScript-kódjába, bármelyik látogató kimásolhatja. A frontendről érkező kéréseket a saját backendjén keresztül küldje.

Tokenek és korlátok

Minden hívás 0–3 tokenbe kerül a végponttól függően, a válasz sorainak számától függetlenül (legfeljebb 100); az apps kötegelt kérés alkalmazásonként 1 tokenbe kerül. Előbb a havi tokenek fogynak, utána a megvásároltak. Ha a kérés a mi oldalunkon hiúsul meg, a tokeneket visszaadjuk. Csomagok és tokencsomagok

FejlécJelentés
X-Tokens-Costhány tokenbe került ez a kérés
X-Tokens-Remaininghány token maradt (havi + vásárolt)
X-CacheHIT – gyorsítótárból érkezett válasz (gyorsabb), MISS – friss lekérdezés az indexből
X-RateLimit-Limit / -Remaininga kulcs percenkénti kérési korlátja és a fennmaradó mennyiség
X-Planfree | pro | business

A megmaradt tokenek számát minden válasz _tokens mezője és a /v1/account (ingyenes) is tartalmazza. A régi _credits és X-Credits-* nevek elavultak, de egyelőre működnek.

Válaszformátum és hibák

Minden válasz tartalmaz egy ok mezőt. A listák results, total, page, per, pages mezőket tartalmaznak. Hiba esetén: ok = false, az error a magyarázat, a code a géppel olvasható kód. A dátumok ISO 8601 formátumúak, UTC-ben.

{ "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. …" }
HTTPcodeMikor fordul elő
400invalid_param, invalid_requestérvénytelen vagy hiányzó paraméter
401missing_api_key, invalid_api_keynincs kulcs, vagy a kulcs vissza van vonva
402insufficient_creditsnincs elég token – vásároljon csomagot
403account_blocked, plan_requireda fiók le van tiltva, vagy a végpont az első tokenvásárlás után nyílik meg
404not_foundaz alkalmazás vagy a fejlesztő nincs az adatbázisban, vagy ismeretlen a végpont
429rate_limiteda percenkénti kérési korlát túllépve
503service_unavailableátmeneti adatbázis-probléma – próbálja újra később; tokent nem terhelünk

Végpontok

Minden végpont GET /api/v1/{név}. Lapozás: page (1-től) és per (1–100), legfeljebb a 10 000. találatig. Rendezés: sort + order=asc|desc.

GET/api/v1/accountingyenes

Az Ön csomagja, a tokenegyenleg, a havi tokenek megújulásának dátuma és a percenkénti korlát.

Alkalmazások
GET/api/v1/app 1 token

Az alkalmazás teljes adatlapja: cím, leírás, «Újdonságok», telepítések (küszöb és pontos szám), értékelés, az értékelések és vélemények száma, csillagok eloszlása, ár, alkalmazáson belüli vásárlások, hirdetések, kategória, korhatár-besorolás, verzió, minimális Android, megjelenési és frissítési dátumok, ikon, képernyőképek, videó, fejlesztő és weboldala. Eltávolított alkalmazásoknál: az utoljára mentett adatok és az eltűnés dátuma.

id *az alkalmazás csomagneve
GET · POST/api/v1/apps 1 token alkalmazásonként

Legfeljebb 100 adatlap egyetlen kéréssel: GET ?ids=a,b,c vagy POST a listával a törzsben (soronként egy, vagy JSON {"ids": […]}). 1 token alkalmazásonként; a nem talált azonosítók a not_found mezőben érkeznek vissza.

ids *csomagnevek vesszővel elválasztva, legfeljebb 100
GET/api/v1/suggest ingyenes

Javaslatok a cím eleje alapján: a 10 legnépszerűbb találat. Ingyenes.

q *a cím eleje, legalább 2 karakter
Fejlesztők
GET/api/v1/developer 2 token

Egy fejlesztő és az összes alkalmazása: darabszám (áruházban lévő és eltávolított), összes telepítés, átlagos értékelés, első megjelenés, kategóriák, weboldal. A Business csomagban: e-mail, telefonszám, cím és jogi név.

idfejlesztőazonosító (az alkalmazásadatlapról: developer.id)
namevagy a fejlesztő pontos neve
statusall (alapértelmezett), live vagy removed
sortrelevance | installs | real_installs | score | ratings | reviews | released | updated | price
pageoldal, 1-től
persor oldalanként, 1–100 (alapértelmezett: 20)
Változások az áruházban
GET/api/v1/new 2 token

Új alkalmazások az első megjelenés dátuma szerint, az újabbak elöl.

sincedátumtól, YYYY-MM-DD (alapértelmezett: 7 napja)
untila dátumig bezárólag
categorykategória-azonosító, pl. GAME_PUZZLE (lásd: /v1/categories)
min_installstelepítések minimuma (Google Play küszöbök: 1000, 10000…)
langcímnyelv, ISO-kód: en, de, pt…
sortrelevance | installs | real_installs | score | ratings | reviews | released | updated | price
pageoldal, 1-től
persor oldalanként, 1–100 (alapértelmezett: 20)
GET/api/v1/removed 2 token

A Google Playből eltűnt alkalmazások (egyik általunk ellenőrzött 19 országban sem találhatók), az eltűnés dátuma szerint. Az adatlap megőrzi az utolsó adatokat.

sincedátumtól, YYYY-MM-DD (alapértelmezett: 7 napja)
untila dátumig bezárólag
categorykategória-azonosító, pl. GAME_PUZZLE (lásd: /v1/categories)
min_installstelepítések minimuma (Google Play küszöbök: 1000, 10000…)
sortremoved_at | installs | score
pageoldal, 1-től
persor oldalanként, 1–100 (alapértelmezett: 20)
Piac
GET/api/v1/keywords 2 token

Szavak és kifejezések az alkalmazáscímekből nyelvenként külön: hány alkalmazás és fejlesztő használja őket, ezek közül hány erős (100 ezer+ telepítés), összes telepítés, a vezető aránya és a lehetőségpontszám (opportunity).

langnyelv, alapértelmezett: en
qszó vagy kifejezés
phrasetrue – csak kétszavas kifejezések, false – csak különálló szavak
min_appsalkalmazások minimuma
max_appsalkalmazások maximuma
sortopportunity | apps | installs | strong | devs | max_installs
orderdesc | asc
pageoldal, 1-től
persor oldalanként, 1–100 (alapértelmezett: 20)
GET/api/v1/categories ingyenes

Minden kategória az alkalmazások számával és az összes telepítéssel. Ingyenes.

statuslive (az áruházban, alapértelmezett), removed vagy all
GET/api/v1/free_domains 3 tokenaz első vásárlás után

Alkalmazások, amelyek fejlesztői weboldalának domainje regisztrálható, az alkalmazás népszerűségével. Az első tokenvásárlás után nyílik meg.

categorykategória-azonosító, pl. GAME_PUZZLE (lásd: /v1/categories)
min_installstelepítések minimuma (Google Play küszöbök: 1000, 10000…)
statuslive (az áruházban, alapértelmezett), removed vagy all
tlddomainzóna, pl. com
sortrelevance | installs | real_installs | score | ratings | reviews | released | updated | price
pageoldal, 1-től
persor oldalanként, 1–100 (alapértelmezett: 20)
GET/api/v1/charts 2 token

Egy ország és kategória Google Play toplistája: legfeljebb 200 helyezés, a helyezés változása az előző pillanatképhez képest (change: hány helyet lépett előre, "new" – új a toplistán), ikon és telepítések.

country *ország, ISO-kód: US, DE, BR…
category *kategória, pl. GAME_PUZZLE
collectionfree | paid | grossing
pageoldal, 1-től
persor oldalanként, 1–100 (alapértelmezett: 20)
GET/api/v1/rankings 1 token

Minden toplista, amelyen az alkalmazás a legutóbbi pillanatképen szerepel: ország, kategória, gyűjtemény, helyezés; a toplisták és országok száma, valamint a legjobb helyezés.

id *az alkalmazás csomagneve
countrycsak egy ország
collectionfree | paid | grossing
GET/api/v1/availability 1 token

Országok, ahol az alkalmazás elérhető a Google Playen (az áruház sitemapjének hreflang értékei alapján). Ha 190+ ország van, lista nélkül worldwide = true érkezik vissza.

id *az alkalmazás csomagneve
GET/api/v1/markets 1 token

Piaci verseny az ingyenes toplisták alapján: a top 100 és top 200 belépési küszöbe (az adott helyen lévő alkalmazás telepítései), az új (12 hónapon belüli) és a helyi (≤3 ország) alkalmazások aránya a toplistán, a helyi piac mérete. Paraméterek nélkül: minden ország; country: egy ország kategóriái; category: egy kategória minden országban.

countryország, ISO-kód
categorykategória-azonosító, pl. GAME_PUZZLE (lásd: /v1/categories)
sortentry100 | entry200 | new_share | local_share | local_apps | local_installs | local_new
orderdesc | asc
pageoldal, 1-től
persor oldalanként, 1–100 (alapértelmezett: 20)
GET/api/v1/stats ingyenes

Az adatbázis mérete: áruházban lévő és eltávolított alkalmazások, fejlesztők, új és eltávolított alkalmazások az elmúlt 7 napban, az utolsó frissítés ideje. Ingyenes.

* — kötelező paraméter

Kódpéldák

# curl — one app
curl -H "X-API-Key: $KEY" "https://apkapi.com/api/v1/app?id=org.telegram.messenger"

# curl — puzzle games with 10M+ installs, best rated first
curl -H "X-API-Key: $KEY" "https://apkapi.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://apkapi.com/api/v1/apps"
# Python — apps removed from Google Play this week
import os, requests
r = requests.get("https://apkapi.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+ (a szerveren – nem a böngészőben)
const res = await fetch("https://apkapi.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://apkapi.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;

Kipróbálás

A kulcs létrehozható a fiókban. A kérés közvetlenül az Ön böngészőjéből indul. A kulcsot sehol nem tároljuk, az oldal újratöltése után eltűnik. A konzolról küldött kérések ugyanúgy használnak tokent, mint a többi.