Perusosoite: https://apkapi.com/api/v1. Rekisteröidy, luo API-avain tililläsi ja lähetä ensimmäinen pyyntösi:
API:n koneluettava kuvaus: OpenAPI 3.1 · Postman-kokoelma — tuo se Postmaniin, Insomniaan tai asiakasgeneraattoriin (openapi-generator) ja saat valmiin SDK:n omalle kielellesi.
curl -H "X-API-Key: AVAIMESI" "https://apkapi.com/api/v1/app?id=com.whatsapp"
Tiedot kattavat yli 4 miljoonaa Google Play -sovellusta Yhdysvaltain kaupasta englanniksi (jos sovellusta ei siellä ole, toisesta maasta), päivitys joka yö. Kaupasta poistuneet sovellukset jäävät tietokantaan viimeisine tietoineen.
Jokaisen pyynnön, paitsi /v1/health, on sisällettävä API-avain otsakkeessa:
X-API-Key: ak_live_…
Hyväksytään myös: Authorization: Bearer …. Avainta ei saa välittää URL-parametreissa: silloin se päätyisi lokeihin ja selaimen historiaan.
Jokainen kutsu maksaa 0–3 tokenia päätepisteestä riippuen, riippumatta vastauksen rivien määrästä (enintään 100); erä-pyyntö apps maksaa 1 tokenin sovellusta kohden. Ensin käytetään kuukausitokenit, sitten ostetut. Jos pyyntö epäonnistuu meidän puolellamme, tokenit palautetaan. Tasot ja paketit
| Otsake | Merkitys |
|---|---|
X-Tokens-Cost | kuinka monta tokenia tämä pyyntö maksoi |
X-Tokens-Remaining | kuinka monta tokenia on jäljellä (kuukausi + ostetut) |
X-Cache | HIT — vastaus välimuistista (nopeampi), MISS — uusi kysely hakemistoon |
X-RateLimit-Limit / -Remaining | avaimen minuuttikohtainen pyyntöraja ja jäljellä oleva määrä |
X-Plan | free | pro | business |
Jäljellä olevat tokenit näkyvät myös jokaisen vastauksen kentässä _tokens ja osoitteessa /v1/account (ilmaiseksi). Vanhat nimet _credits ja X-Credits-* ovat vanhentuneita, mutta toimivat vielä.
Jokaisessa vastauksessa on kenttä ok. Luettelot sisältävät kentät results, total, page, per, pages. Virhe: ok = false, error on selitys, code on koneluettava koodi. Päivämäärät ovat ISO 8601 -muodossa UTC-aikana.
{ "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 | Milloin ilmenee |
|---|---|---|
| 400 | invalid_param, invalid_request | virheellinen tai puuttuva parametri |
| 401 | missing_api_key, invalid_api_key | avainta ei ole tai se on peruutettu |
| 402 | insufficient_credits | tokeneita ei riitä — osta paketti |
| 403 | account_blocked, plan_required | tili on estetty, tai päätepiste avautuu ensimmäisen tokenioston jälkeen |
| 404 | not_found | sovellusta tai kehittäjää ei ole tietokannassa, tai päätepiste on tuntematon |
| 429 | rate_limited | minuuttikohtainen pyyntöraja ylitetty |
| 503 | service_unavailable | tilapäinen tietokantaongelma — yritä myöhemmin uudelleen; tokeneita ei veloiteta |
Kaikki päätepisteet ovat GET /api/v1/{nimi}. Sivutus: page (alkaen 1) ja per (1–100), enintään 10 000. tulokseen asti. Lajittelu: sort + order=asc|desc.
Tasosi, tokenisaldo, kuukausitokenien uusiutumispäivä ja minuuttikohtainen raja.
Sovelluksen täydet tiedot: nimi, kuvaus, “Mitä uutta”, asennukset (kynnys ja tarkka luku), arvosana, arvosanojen ja arvostelujen määrä, tähtijakauma, hinta, ostot, mainokset, kategoria, ikäluokitus, versio, Android-vähimmäisversio, julkaisu- ja päivityspäivät, kuvake, kuvakaappaukset, video, kehittäjä ja hänen sivustonsa. Poistetuille: viimeisimmät tallennetut tiedot ja poistumispäivä.
id * | sovelluksen pakettinimi |
Enintään 100 sovelluksen tiedot yhdellä pyynnöllä: GET ?ids=a,b,c tai POST, jossa luettelo rungossa (yksi per rivi tai JSON {"ids": […]}). 1 token per sovellus; tuntemattomat palautetaan kentässä not_found.
ids * | pakettinimet pilkulla erotettuina, enintään 100 |
Haku ja suodattimet koko tietokannasta. Vähintään yksi suodatin vaaditaan. Ilman q-parametria lajittelu on asennusten mukaan.
q | hakusanat nimestä, kuvauksesta ja kehittäjän nimestä |
category | kategorian tunnus, esim. GAME_PUZZLE (katso /v1/categories) |
developer_id | Google Playn kehittäjätunnus |
min_installs | asennuksia vähintään (Google Playn kynnys: 1000, 10000…) |
max_installs | asennuksia enintään |
min_score | pienin arvosana, 0–5 |
min_ratings | arvosanoja vähintään |
free | true — vain ilmaiset, false — vain maksulliset |
ads | true — mainoksilla, false — ilman |
iap | true — sovelluksen sisäisillä ostoilla |
lang | nimen kieli, ISO-koodi: en, de, pt… |
released_from | julkaistu tästä päivästä alkaen, YYYY-MM-DD |
released_to | julkaistu viimeistään tänä päivänä |
updated_from | päivitetty tästä päivästä alkaen |
updated_to | päivitetty viimeistään tänä päivänä |
status | live (kaupassa, oletus), removed tai all |
sort | relevance | installs | real_installs | score | ratings | reviews | released | updated | price |
order | desc | asc |
page | sivu, alkaen 1 |
per | riviä sivulla, 1–100 (oletus 20) |
Ehdotukset nimen alun perusteella: 10 suosituinta osumaa. Ilmainen.
q * | nimen alku, vähintään 2 merkkiä |
Kehittäjä ja kaikki hänen sovelluksensa: määrä (kaupassa ja poistetut), asennukset yhteensä, keskiarvosana, ensimmäinen julkaisu, kategoriat, sivusto. Business-tasolla: sähköposti, puhelin, osoite ja oikeudellinen nimi.
id | kehittäjän tunnus (sovelluksen tiedoista: developer.id) |
name | tai kehittäjän tarkka nimi |
status | all (oletus), live tai removed |
sort | relevance | installs | real_installs | score | ratings | reviews | released | updated | price |
page | sivu, alkaen 1 |
per | riviä sivulla, 1–100 (oletus 20) |
Uudet sovellukset ensimmäisen julkaisun päivän mukaan, uusimmat ensin.
since | päivästä alkaen, YYYY-MM-DD (oletus: 7 päivää sitten) |
until | viimeistään tänä päivänä |
category | kategorian tunnus, esim. GAME_PUZZLE (katso /v1/categories) |
min_installs | asennuksia vähintään (Google Playn kynnys: 1000, 10000…) |
lang | nimen kieli, ISO-koodi: en, de, pt… |
sort | relevance | installs | real_installs | score | ratings | reviews | released | updated | price |
page | sivu, alkaen 1 |
per | riviä sivulla, 1–100 (oletus 20) |
Google Playsta poistuneet sovellukset (ei löydy yhdestäkään tarkistamastamme 19 maasta) poistumispäivän mukaan. Sovelluksen tiedot säilyttävät viimeiset tiedot.
since | päivästä alkaen, YYYY-MM-DD (oletus: 7 päivää sitten) |
until | viimeistään tänä päivänä |
category | kategorian tunnus, esim. GAME_PUZZLE (katso /v1/categories) |
min_installs | asennuksia vähintään (Google Playn kynnys: 1000, 10000…) |
sort | removed_at | installs | score |
page | sivu, alkaen 1 |
per | riviä sivulla, 1–100 (oletus 20) |
Sanat ja fraasit sovellusten nimistä kielikohtaisesti: kuinka monta sovellusta ja kehittäjää niitä käyttää, kuinka moni niistä on vahva (yli 100 000 asennusta), asennukset yhteensä, johtajan osuus ja mahdollisuuspisteet (opportunity).
lang | kieli, oletus en |
q | sana tai fraasi |
phrase | true — vain kahden sanan fraasit, false — vain yksittäiset sanat |
min_apps | sovelluksia vähintään |
max_apps | sovelluksia enintään |
sort | opportunity | apps | installs | strong | devs | max_installs |
order | desc | asc |
page | sivu, alkaen 1 |
per | riviä sivulla, 1–100 (oletus 20) |
Kaikki kategoriat sovellusmäärineen ja asennuksineen yhteensä. Ilmainen.
status | live (kaupassa, oletus), removed tai all |
Sovellukset, joiden kehittäjän sivuston verkkotunnus on rekisteröitävissä, sovelluksen suosiotietoineen. Avautuu ensimmäisen tokenioston jälkeen.
category | kategorian tunnus, esim. GAME_PUZZLE (katso /v1/categories) |
min_installs | asennuksia vähintään (Google Playn kynnys: 1000, 10000…) |
status | live (kaupassa, oletus), removed tai all |
tld | verkkotunnuksen pääte, esim. com |
sort | relevance | installs | real_installs | score | ratings | reviews | released | updated | price |
page | sivu, alkaen 1 |
per | riviä sivulla, 1–100 (oletus 20) |
Yhden maan ja kategorian Google Play -huippulista: enintään 200 sijaa, sijamuutos edellisestä tilanteesta (change: kuinka monta sijaa noussut, "new" — uusi listalla), kuvake ja asennukset.
country * | maa, ISO-koodi: US, DE, BR… |
category * | kategoria, esim. GAME_PUZZLE |
collection | free | paid | grossing |
page | sivu, alkaen 1 |
per | riviä sivulla, 1–100 (oletus 20) |
Kaikki listat, joilla sovellus on viimeisimmässä tilanteessa: maa, kategoria, kokoelma, sija; listojen ja maiden määrä sekä paras sija.
id * | sovelluksen pakettinimi |
country | vain yksi maa |
collection | free | paid | grossing |
Maat, joissa sovellus on saatavilla Google Playssa (kaupan sitemapin hreflangin mukaan). Jos maita on yli 190, palautetaan worldwide = true ilman luetteloa.
id * | sovelluksen pakettinimi |
Markkinoiden kilpailu ilmaisten listojen perusteella: pääsykynnys top 100- ja top 200 -listoille (sovelluksen asennukset kyseisellä sijalla), uusien (12 kuukauden aikana) ja paikallisten (≤3 maata) sovellusten osuus kärjessä sekä paikallisen markkinan koko. Ilman parametreja: kaikki maat; country: yhden maan kategoriat; category: yksi kategoria kaikissa maissa.
country | maa, ISO-koodi |
category | kategorian tunnus, esim. GAME_PUZZLE (katso /v1/categories) |
sort | entry100 | entry200 | new_share | local_share | local_apps | local_installs | local_new |
order | desc | asc |
page | sivu, alkaen 1 |
per | riviä sivulla, 1–100 (oletus 20) |
Tietokannan koko: sovellukset kaupassa ja poistetut, kehittäjät, uudet ja poistetut 7 päivässä, viimeisimmän päivityksen aika. Ilmainen.
* — pakollinen parametri
# 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+ (palvelimella — ei selaimessa)
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;
Avaimen voi luoda tililläsi. Pyyntö lähetetään suoraan selaimestasi. Avainta ei tallenneta mihinkään, ja se katoaa sivun uudelleenlatauksessa. Konsolista tehdyt pyynnöt kuluttavat tokeneita kuten muutkin.