Temel URL: https://apkapi.com/api/v1. Kaydol, API anahtarınızı hesabınızda oluşturun ve ilk isteğinizi gönderin:
Makinece okunabilir API açıklaması: OpenAPI 3.1 · Postman koleksiyonu — dilinize hazır bir SDK almak için Postman, Insomnia veya bir istemci oluşturucuya (openapi-generator) aktarın.
curl -H "X-API-Key: YOUR_KEY" "https://apkapi.com/api/v1/app?id=com.whatsapp"
Veriler, ABD mağazasından İngilizce olarak 4 milyondan fazla Google Play uygulamasını kapsar (uygulama ABD'de yoksa başka bir ülkeden) ve her gece güncellenir. Mağazadan kaybolan uygulamalar son verileriyle veritabanında kalır.
/v1/health dışındaki her istek, başlıkta API anahtarını içermelidir:
X-API-Key: ak_live_…
Ayrıca kabul edilir: Authorization: Bearer …. Anahtarı URL parametrelerinde göndermek yasaktır: günlüklere ve tarayıcı geçmişine düşer.
Her çağrı, yanıttaki satır sayısından (100'e kadar) bağımsız olarak uç noktaya göre 0–3 kredi tutar; toplu apps çağrısı uygulama başına 1 kredidir. Önce bu ayın plan kredileri, sonra ön ödemeli bakiye kullanılır. İstek bizim tarafımızda başarısız olursa krediler iade edilir. Planlar ve paketler
| Başlık | Anlamı |
|---|---|
X-Credits-Cost | bu isteğin kredi tutarı |
X-Credits-Remaining | kalan kredi (plan + bakiye) |
X-Cache | HIT — önbellekten (daha hızlı), MISS — dizine yeni sorgu |
X-RateLimit-Limit / -Remaining | anahtarın dakikalık sınırı ve kalanı |
X-Plan | free | pro | scale | business |
Kalan kredileriniz her yanıttaki _credits alanında ve /v1/account içinde de (ücretsiz) bulunur.
Her yanıtta bir ok alanı vardır. Listeler results, total, page, per, pages içerir. Hata: ok = false, error açıklama, code makinece okunabilir koddur. Tarihler UTC olarak ISO 8601 biçimindedir.
{ "ok": true, "app": { "id": "com.whatsapp", "title": "WhatsApp", "installs": { "label": "10,000,000,000+", "min": 10000000000, "real": 12445120489 }, … },
"_credits": { "cost": 1, "plan_remaining": 1999, "balance": 0, "available": 1999, "cached": false } }
{ "ok": false, "code": "insufficient_credits", "error": "Not enough credits: this call costs 2, you have 1. …" }
| HTTP | code | Ne zaman |
|---|---|---|
| 400 | invalid_param, invalid_request | geçersiz veya eksik parametre |
| 401 | missing_api_key, invalid_api_key | anahtar yok veya iptal edilmiş |
| 402 | insufficient_credits | yetersiz kredi — yükleme yapın veya planınızı yükseltin |
| 403 | account_blocked, plan_required | hesap engellendi veya uç nokta daha yüksek plan gerektiriyor |
| 404 | not_found | uygulama veya geliştirici veritabanında yok ya da uç nokta bilinmiyor |
| 429 | rate_limited | dakikalık istek sınırı aşıldı |
| 503 | service_unavailable | geçici veritabanı sorunu — daha sonra tekrar deneyin; kredi kesilmez |
Tüm uç noktalar GET /api/v1/{name} biçimindedir. Sayfalama: page (1'den) ve per (1–100), 10.000. sonuca kadar. Sıralama: sort + order=asc|desc.
Planınız, plan kredileriniz ve bakiyeniz, kredi sıfırlama tarihi ve dakikalık sınır.
Tam uygulama kaydı: başlık, açıklama, yenilikler, yüklemeler (eşik ve tam sayı), puan, değerlendirme ve yorum sayısı, yıldız dağılımı, fiyat, uygulama içi satın almalar, reklamlar, kategori, içerik derecelendirmesi, sürüm, minimum Android, yayın ve güncelleme tarihleri, simge, ekran görüntüleri, video, geliştirici ve web sitesi. Kaldırılan uygulamalar için: son kaydedilen veriler ve kaldırılma tarihi.
id * | uygulama paket adı |
Tek çağrıda 100 uygulamaya kadar: GET ?ids=a,b,c veya gövdede listeyle POST (satır başına bir tane ya da JSON {"ids": […]}). Uygulama başına 1 kredi; bizde olmayan kimlikler not_found içinde döner.
ids * | paket adları, virgülle ayrılmış, 100'e kadar |
Tüm veritabanında arama ve filtreler. En az bir filtre gerekir. q yoksa sonuçlar yüklemeye göre sıralanır.
q | başlık, açıklama ve geliştirici adında aranacak kelimeler |
category | kategori kimliği, ör. GAME_PUZZLE (bkz. /v1/categories) |
developer_id | Google Play geliştirici kimliği |
min_installs | minimum yükleme (Google Play eşikleri: 1000, 10000…) |
max_installs | maksimum yükleme |
min_score | minimum puan, 0–5 |
min_ratings | minimum değerlendirme |
free | true — yalnızca ücretsiz, false — yalnızca ücretli |
ads | true — reklamlı, false — reklamsız |
iap | true — uygulama içi satın almalı |
lang | başlık dili, ISO kodu: en, de, pt… |
released_from | bu tarihten itibaren yayınlanan, YYYY-MM-DD |
released_to | bu tarihe kadar yayınlanan, dahil |
updated_from | bu tarihten itibaren güncellenen |
updated_to | bu tarihe kadar güncellenen, dahil |
status | live (mağazada, varsayılan), removed veya all |
sort | relevance | installs | real_installs | score | ratings | reviews | released | updated | price |
order | desc | asc |
page | sayfa, 1'den |
per | sayfa başına satır, 1–100 (varsayılan 20) |
Başlığın başına göre öneriler: en popüler 10 eşleşme. Ücretsiz.
q * | başlığın başı, 2+ karakter |
Bir geliştirici ve tüm uygulamaları: sayılar (mağazada ve kaldırılan), toplam yükleme, ortalama puan, ilk yayın, kategoriler, web sitesi. Business planında: e-posta, telefon, adres ve tüzel ad.
id | geliştirici kimliği (uygulamadaki developer.id) |
name | veya geliştiricinin tam adı |
status | all (varsayılan), live veya removed |
sort | relevance | installs | real_installs | score | ratings | reviews | released | updated | price |
page | sayfa, 1'den |
per | sayfa başına satır, 1–100 (varsayılan 20) |
İlk yayın tarihine göre yeni uygulamalar, en yeniler üstte.
since | bu tarihten itibaren, YYYY-MM-DD (varsayılan: 7 gün önce) |
until | bu tarihe kadar, dahil |
category | kategori kimliği, ör. GAME_PUZZLE (bkz. /v1/categories) |
min_installs | minimum yükleme (Google Play eşikleri: 1000, 10000…) |
lang | başlık dili, ISO kodu: en, de, pt… |
sort | relevance | installs | real_installs | score | ratings | reviews | released | updated | price |
page | sayfa, 1'den |
per | sayfa başına satır, 1–100 (varsayılan 20) |
Google Play'den kaybolan uygulamalar (kontrol ettiğimiz 19 ülkenin hiçbirinde yok), kaldırılma tarihine göre. Uygulama kaydı son verilerini korur.
since | bu tarihten itibaren, YYYY-MM-DD (varsayılan: 7 gün önce) |
until | bu tarihe kadar, dahil |
category | kategori kimliği, ör. GAME_PUZZLE (bkz. /v1/categories) |
min_installs | minimum yükleme (Google Play eşikleri: 1000, 10000…) |
sort | removed_at | installs | score |
page | sayfa, 1'den |
per | sayfa başına satır, 1–100 (varsayılan 20) |
Her dil için uygulama başlıklarından kelimeler ve ifadeler: bunları kaç uygulama ve geliştirici kullanıyor, kaçı güçlü (100 bin+ yükleme), toplam yükleme, liderin payı ve fırsat puanı.
lang | dil, varsayılan en |
q | kelime veya ifade |
phrase | true — yalnızca iki kelimelik ifadeler, false — yalnızca tek kelimeler |
min_apps | minimum uygulama |
max_apps | maksimum uygulama |
sort | opportunity | apps | installs | strong | devs | max_installs |
order | desc | asc |
page | sayfa, 1'den |
per | sayfa başına satır, 1–100 (varsayılan 20) |
Uygulama sayıları ve toplam yüklemeleriyle tüm kategoriler. Ücretsiz.
status | live (mağazada, varsayılan), removed veya all |
Geliştirici web sitesi alan adı kayıt edilebilen uygulamalar ve uygulamanın popülerliği. Pro plan ve üzeri.
category | kategori kimliği, ör. GAME_PUZZLE (bkz. /v1/categories) |
min_installs | minimum yükleme (Google Play eşikleri: 1000, 10000…) |
status | live (mağazada, varsayılan), removed veya all |
tld | alan adı bölgesi, ör. com |
sort | relevance | installs | real_installs | score | ratings | reviews | released | updated | price |
page | sayfa, 1'den |
per | sayfa başına satır, 1–100 (varsayılan 20) |
Bir ülke ve kategori için Google Play listesi: 200 sıraya kadar, önceki anlık görüntüden bu yana sıra değişimi (change: kaç sıra yükseldiği, yeni girişler için "new"), simge ve yüklemeler.
country * | ülke, ISO kodu: US, DE, BR… |
category * | kategori, ör. GAME_PUZZLE |
collection | free | paid | grossing |
page | sayfa, 1'den |
per | sayfa başına satır, 1–100 (varsayılan 20) |
Son anlık görüntüde uygulamanın yer aldığı tüm listeler: ülke, kategori, koleksiyon, sıra; liste ve ülke sayısı ve en iyi sıra.
id * | uygulama paket adı |
country | yalnızca bir ülke |
collection | free | paid | grossing |
Uygulamanın Google Play'de sunulduğu ülkeler (mağaza site haritasındaki hreflang'dan). 190'dan fazla ülke varsa liste olmadan worldwide = true döner.
id * | uygulama paket adı |
Ücretsiz listelere dayalı pazar rekabeti: ilk 100 ve ilk 200 giriş eşiği (o sıradaki uygulamanın yükleme sayısı), üst sıralardaki yeni (son 12 ay) ve yerel (≤3 ülke) uygulamaların payı ve yerel pazarın büyüklüğü. Parametresiz: tüm ülkeler; country: bir ülkenin kategorileri; category: tüm ülkelerde bir kategori.
country | ülke, ISO kodu |
category | kategori kimliği, ör. GAME_PUZZLE (bkz. /v1/categories) |
sort | entry100 | entry200 | new_share | local_share | local_apps | local_installs | local_new |
order | desc | asc |
page | sayfa, 1'den |
per | sayfa başına satır, 1–100 (varsayılan 20) |
Veritabanı boyutu: mağazadaki ve kaldırılan uygulamalar, geliştiriciler, son 7 gündeki yeni ve kaldırılanlar, son güncelleme zamanı. Ücretsiz.
* — zorunlu parametre
# 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("credits left:", data["_credits"]["available"])
// Node.js 18+ (sunucuda, tarayıcıda değil)
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;
Anahtarı hesabınızda oluşturabilirsiniz. İstek doğrudan tarayıcınızdan gider. Anahtar hiçbir yerde saklanmaz ve sayfa yenilenince kaybolur. Konsoldan yapılan istekler diğerleri gibi kredi harcar.