Documentația APK API

API REST cu date Google Play: 4 milioane de aplicații, dezvoltatori, aplicații noi și eliminate, cuvinte-cheie din titluri. Format JSON, codare UTF-8, CORS activat.

Start rapid

Adresa de bază: https://apkapi.com/api/v1. Înregistrați-vă, creați o cheie API în cont și trimiteți prima cerere:

Descrierea API pentru mașini: OpenAPI 3.1 · colecție Postman — importați-l în Postman, Insomnia sau într-un generator de clienți (openapi-generator) și veți obține un SDK gata făcut pentru limbajul dvs.

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

Datele acoperă peste 4 milioane de aplicații Google Play din vitrina din SUA, în engleză (din altă țară, dacă aplicația nu e disponibilă acolo), actualizate în fiecare noapte. Aplicațiile dispărute din magazin rămân în bază cu ultimele date.

Autorizare

Fiecare cerere, cu excepția /v1/health, trebuie să conțină cheia API într-un antet:

X-API-Key: ak_live_…

Se acceptă și Authorization: Bearer …. Cheia nu poate fi transmisă în parametrii URL: ar ajunge în loguri și în istoricul browserului.

Păstrați cheia pe serverul dvs. Dacă o încorporați în JavaScript-ul paginii, orice vizitator o poate copia. Trimiteți cererile din frontend prin backend-ul dvs.

Tokenuri și limite

Fiecare apel costă 0–3 tokenuri, în funcție de endpoint, indiferent de numărul de rânduri din răspuns (până la 100); cererea în lot apps costă 1 token per aplicație. Mai întâi se consumă tokenurile lunare, apoi cele cumpărate. Dacă o cerere eșuează din vina noastră, tokenurile sunt returnate. Planuri și pachete

AntetSemnificație
X-Tokens-Costcâte tokenuri a costat această cerere
X-Tokens-Remainingcâte tokenuri au rămas (lunare + cumpărate)
X-CacheHIT — răspuns din cache (mai rapid), MISS — interogare nouă a indexului
X-RateLimit-Limit / -Remaininglimita de cereri pe minut a cheii și ce a rămas
X-Planfree | pro | business

Tokenurile rămase se găsesc și în câmpul _tokens al fiecărui răspuns și în /v1/account (gratuit). Vechile denumiri _credits și X-Credits-* sunt învechite, dar încă funcționează.

Formatul răspunsului și erorile

Fiecare răspuns are câmpul ok. Listele conțin results, total, page, per, pages. Eroare: ok = false, error este explicația, code este un cod pentru mașini. Datele sunt în format ISO 8601, 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. …" }
HTTPcodeCând apare
400invalid_param, invalid_requestparametru invalid sau lipsă
401missing_api_key, invalid_api_keylipsește cheia sau este revocată
402insufficient_creditstokenuri insuficiente — cumpărați un pachet
403account_blocked, plan_requiredcontul este blocat sau endpointul se deblochează după prima achiziție de tokenuri
404not_foundaplicația sau dezvoltatorul nu există în bază, sau endpoint necunoscut
429rate_limitedlimita de cereri pe minut a fost depășită
503service_unavailableo problemă temporară a bazei de date — încercați mai târziu; nu se taxează tokenuri

Endpointuri

Toate endpointurile sunt GET /api/v1/{nume}. Paginare: page (de la 1) și per (1–100), până la al 10 000-lea rezultat. Sortare: sort + order=asc|desc.

GET/api/v1/accountgratuit

Planul dvs., soldul de tokenuri, data reînnoirii tokenurilor lunare și limita pe minut.

Aplicații
GET/api/v1/app 1 tok.

Fișa completă a aplicației: titlu, descriere, „Noutăți”, instalări (prag și număr exact), evaluare, numărul de evaluări și recenzii, distribuția stelelor, preț, achiziții, reclame, categorie, clasificare după vârstă, versiune, Android minim, date de lansare și de actualizare, pictogramă, capturi de ecran, video, dezvoltator și site-ul său. Pentru cele eliminate — ultimele date salvate și data dispariției.

id *numele pachetului aplicației
GET · POST/api/v1/apps 1 token per aplicație

Până la 100 de fișe într-o singură cerere: GET ?ids=a,b,c sau POST cu lista în corp (câte una pe rând sau JSON {"ids": […]}). 1 token per aplicație; ID-urile negăsite sunt returnate în not_found.

ids *nume de pachete separate prin virgulă, până la 100
GET/api/v1/suggest gratuit

Sugestii după începutul titlului: cele mai populare 10 potriviri. Gratuit.

q *începutul titlului, de la 2 caractere
Dezvoltatori
GET/api/v1/developer 2 tok.

Un dezvoltator și toate aplicațiile sale: număr (în magazin și eliminate), instalări totale, evaluare medie, prima lansare, categorii, site. În planul Business — email, telefon, adresă și denumire juridică.

idID dezvoltator (din fișa aplicației: developer.id)
namesau numele exact al dezvoltatorului
statusall (implicit), live sau removed
sortrelevance | installs | real_installs | score | ratings | reviews | released | updated | price
pagepagina, de la 1
perrânduri pe pagină, 1–100 (implicit 20)
Modificări în magazin
GET/api/v1/new 2 tok.

Aplicații noi după data primei lansări, cele mai noi primele.

sincede la această dată, YYYY-MM-DD (implicit: acum 7 zile)
untilpână la această dată, inclusiv
categoryID categorie, de ex. GAME_PUZZLE (vezi /v1/categories)
min_installsminimum de instalări (praguri Google Play: 1000, 10000…)
langlimba titlului, cod ISO: en, de, pt…
sortrelevance | installs | real_installs | score | ratings | reviews | released | updated | price
pagepagina, de la 1
perrânduri pe pagină, 1–100 (implicit 20)
GET/api/v1/removed 2 tok.

Aplicații dispărute din Google Play (nu există în niciuna dintre cele 19 țări verificate de noi), după data dispariției. Fișa păstrează ultimele date.

sincede la această dată, YYYY-MM-DD (implicit: acum 7 zile)
untilpână la această dată, inclusiv
categoryID categorie, de ex. GAME_PUZZLE (vezi /v1/categories)
min_installsminimum de instalări (praguri Google Play: 1000, 10000…)
sortremoved_at | installs | score
pagepagina, de la 1
perrânduri pe pagină, 1–100 (implicit 20)
Piața
GET/api/v1/keywords 2 tok.

Cuvinte și expresii din titlurile aplicațiilor, separat pentru fiecare limbă: câte aplicații și câți dezvoltatori le folosesc, câte dintre ele sunt puternice (peste 100 mii de instalări), instalări totale, ponderea liderului și scorul de oportunitate (opportunity).

langlimba, implicit en
qcuvânt sau expresie
phrasetrue — doar expresii din două cuvinte, false — doar cuvinte singure
min_appsminimum de aplicații
max_appsmaximum de aplicații
sortopportunity | apps | installs | strong | devs | max_installs
orderdesc | asc
pagepagina, de la 1
perrânduri pe pagină, 1–100 (implicit 20)
GET/api/v1/categories gratuit

Toate categoriile cu numărul de aplicații și instalările totale. Gratuit.

statuslive (în magazin, implicit), removed sau all
GET/api/v1/free_domains 3 tok.după prima achiziție

Aplicații al căror domeniu al site-ului dezvoltatorului este liber pentru înregistrare, cu popularitatea aplicației. Se deblochează după prima achiziție de tokenuri.

categoryID categorie, de ex. GAME_PUZZLE (vezi /v1/categories)
min_installsminimum de instalări (praguri Google Play: 1000, 10000…)
statuslive (în magazin, implicit), removed sau all
tldzonă de domeniu, de ex. com
sortrelevance | installs | real_installs | score | ratings | reviews | released | updated | price
pagepagina, de la 1
perrânduri pe pagină, 1–100 (implicit 20)
GET/api/v1/charts 2 tok.

Clasamentul top Google Play pentru o țară și o categorie: până la 200 de poziții, schimbarea locului față de instantaneul anterior (change: cu câte locuri a urcat, "new" — nou în clasament), pictogramă și instalări.

country *țară, cod ISO: US, DE, BR…
category *categorie, de ex. GAME_PUZZLE
collectionfree | paid | grossing
pagepagina, de la 1
perrânduri pe pagină, 1–100 (implicit 20)
GET/api/v1/rankings 1 tok.

Toate clasamentele în care apare aplicația în ultimul instantaneu: țară, categorie, colecție, poziție; numărul de clasamente, de țări și cea mai bună poziție.

id *numele pachetului aplicației
countryo singură țară
collectionfree | paid | grossing
GET/api/v1/availability 1 tok.

Țările în care aplicația este disponibilă în Google Play (după hreflang din sitemap-ul magazinului). Dacă sunt peste 190 de țări, se returnează worldwide = true, fără listă.

id *numele pachetului aplicației
GET/api/v1/markets 1 tok.

Concurența piețelor pe baza clasamentelor gratuite: pragul de intrare în top 100 și top 200 (instalările aplicației de pe acea poziție), ponderea aplicațiilor noi (din ultimele 12 luni) și locale (≤3 țări) în top, dimensiunea pieței locale. Fără parametri — toate țările; country — categoriile unei țări; category — o categorie în toate țările.

countryțară, cod ISO
categoryID categorie, de ex. GAME_PUZZLE (vezi /v1/categories)
sortentry100 | entry200 | new_share | local_share | local_apps | local_installs | local_new
orderdesc | asc
pagepagina, de la 1
perrânduri pe pagină, 1–100 (implicit 20)
GET/api/v1/stats gratuit

Dimensiunea bazei: aplicații în magazin și eliminate, dezvoltatori, noi și eliminate în ultimele 7 zile, ora ultimei actualizări. Gratuit.

* — parametru obligatoriu

Exemple de cod

# 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+ (pe server — nu în browser)
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;

Încercați

Puteți crea o cheie în cont. Cererea pleacă direct din browserul dvs. Cheia nu este stocată nicăieri și dispare după reîncărcarea paginii. Cererile din consolă consumă tokenuri ca oricare altele.