बेस URL: https://apkapi.com/api/v1. साइन अप, अपने खाते में API कुंजी बनाएँ और अपना पहला अनुरोध भेजें:
मशीन से पढ़ा जाने वाला API विवरण: OpenAPI 3.1 · Postman संग्रह — इसे Postman, Insomnia या क्लाइंट जेनरेटर (openapi-generator) में आयात करें और अपनी भाषा के लिए तैयार SDK पाएँ।
curl -H "X-API-Key: YOUR_KEY" "https://apkapi.com/api/v1/app?id=com.whatsapp"
डेटा में अमेरिकी स्टोर से अंग्रेज़ी में 40 लाख से अधिक Google Play ऐप शामिल हैं (अगर ऐप अमेरिका में नहीं है तो किसी दूसरे देश से), और यह हर रात अपडेट होता है। स्टोर से हटे ऐप अपने अंतिम डेटा के साथ डेटाबेस में बने रहते हैं।
/v1/health को छोड़कर हर अनुरोध के हेडर में API कुंजी होनी चाहिए:
X-API-Key: ak_live_…
यह भी स्वीकार्य है: Authorization: Bearer …. कुंजी को URL पैरामीटर में भेजने की अनुमति नहीं है: वह लॉग और ब्राउज़र इतिहास में पहुँच जाएगी।
उत्तर में पंक्तियों की संख्या (100 तक) चाहे जो हो, हर कॉल का खर्च एंडपॉइंट के अनुसार 0–3 क्रेडिट है; apps बैच कॉल प्रति ऐप 1 क्रेडिट लेता है। पहले चालू महीने के प्लान क्रेडिट खर्च होते हैं, फिर प्रीपेड शेष राशि। हमारी ओर से अनुरोध विफल होने पर क्रेडिट लौटा दिए जाते हैं। प्लान और पैक
| हेडर | अर्थ |
|---|---|
X-Credits-Cost | इस अनुरोध के क्रेडिट |
X-Credits-Remaining | बचे क्रेडिट (प्लान + शेष राशि) |
X-Cache | HIT — कैश से (तेज़), MISS — इंडेक्स से नई क्वेरी |
X-RateLimit-Limit / -Remaining | कुंजी की प्रति मिनट सीमा और जो बचा है |
X-Plan | free | pro | scale | business |
आपके बचे क्रेडिट हर उत्तर के _credits फ़ील्ड में और /v1/account में (मुफ़्त) भी दिखते हैं।
हर उत्तर में ok फ़ील्ड होता है। सूचियों में results, total, page, per, pages होते हैं। त्रुटि: ok = false, error में व्याख्या, code मशीन से पढ़ा जाने वाला कोड। तारीखें UTC में ISO 8601 हैं।
{ "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 | कब |
|---|---|---|
| 400 | invalid_param, invalid_request | अमान्य या गायब पैरामीटर |
| 401 | missing_api_key, invalid_api_key | कुंजी नहीं है, या रद्द कर दी गई है |
| 402 | insufficient_credits | पर्याप्त क्रेडिट नहीं — टॉप-अप करें या प्लान अपग्रेड करें |
| 403 | account_blocked, plan_required | खाता ब्लॉक है, या एंडपॉइंट के लिए ऊँचा प्लान चाहिए |
| 404 | not_found | ऐप या डेवलपर डेटाबेस में नहीं है, या एंडपॉइंट अज्ञात है |
| 429 | rate_limited | प्रति मिनट अनुरोध सीमा पार |
| 503 | service_unavailable | डेटाबेस की अस्थायी समस्या — बाद में फिर कोशिश करें; क्रेडिट नहीं कटते |
सभी एंडपॉइंट GET /api/v1/{name} हैं। पेज: page (1 से) और per (1–100), 10,000वें नतीजे तक। क्रम: sort + order=asc|desc।
आपका प्लान, प्लान क्रेडिट और शेष राशि, क्रेडिट रीसेट की तारीख और प्रति मिनट सीमा।
पूरा ऐप रिकॉर्ड: शीर्षक, विवरण, नया क्या है, इंस्टॉल (सीमा और सटीक संख्या), रेटिंग, रेटिंग और समीक्षाओं की संख्या, स्टार वितरण, कीमत, इन-ऐप खरीदारी, विज्ञापन, श्रेणी, कंटेंट रेटिंग, संस्करण, न्यूनतम Android, रिलीज़ और अपडेट तारीखें, आइकन, स्क्रीनशॉट, वीडियो, डेवलपर और उसकी वेबसाइट। हटाए गए ऐप के लिए: अंतिम सहेजा गया डेटा और हटाने की तारीख।
id * | ऐप का पैकेज नाम |
एक कॉल में 100 ऐप तक: GET ?ids=a,b,c या body में सूची के साथ POST (प्रति पंक्ति एक, या JSON {"ids": […]})। प्रति ऐप 1 क्रेडिट; जो id हमारे पास नहीं हैं वे not_found में लौटते हैं।
ids * | पैकेज नाम, कॉमा से अलग, 100 तक |
पूरे डेटाबेस में खोज और फ़िल्टर। कम से कम एक फ़िल्टर ज़रूरी है। q के बिना नतीजे इंस्टॉल के अनुसार क्रमबद्ध होते हैं।
q | शीर्षक, विवरण और डेवलपर नाम में खोजने के शब्द |
category | श्रेणी ID, जैसे GAME_PUZZLE (देखें /v1/categories) |
developer_id | Google Play डेवलपर ID |
min_installs | न्यूनतम इंस्टॉल (Google Play सीमाएँ: 1000, 10000…) |
max_installs | अधिकतम इंस्टॉल |
min_score | न्यूनतम रेटिंग, 0–5 |
min_ratings | न्यूनतम रेटिंग संख्या |
free | true — केवल मुफ़्त, false — केवल सशुल्क |
ads | true — विज्ञापन वाले, false — बिना विज्ञापन |
iap | true — इन-ऐप खरीदारी वाले |
lang | शीर्षक की भाषा, ISO कोड: en, de, pt… |
released_from | इस तारीख से रिलीज़, YYYY-MM-DD |
released_to | इस तारीख तक रिलीज़, सहित |
updated_from | इस तारीख से अपडेट |
updated_to | इस तारीख तक अपडेट, सहित |
status | live (स्टोर में, डिफ़ॉल्ट), removed या all |
sort | relevance | installs | real_installs | score | ratings | reviews | released | updated | price |
order | desc | asc |
page | पेज, 1 से |
per | प्रति पेज पंक्तियाँ, 1–100 (डिफ़ॉल्ट 20) |
शीर्षक की शुरुआत से सुझाव: 10 सबसे लोकप्रिय मिलान। मुफ़्त।
q * | शीर्षक की शुरुआत, 2+ अक्षर |
डेवलपर और उसके सभी ऐप: संख्या (स्टोर में और हटाए गए), कुल इंस्टॉल, औसत रेटिंग, पहली रिलीज़, श्रेणियाँ, वेबसाइट। Business प्लान में: ईमेल, फ़ोन, पता और कानूनी नाम।
id | डेवलपर ID (ऐप से: developer.id) |
name | या डेवलपर का सटीक नाम |
status | all (डिफ़ॉल्ट), live या removed |
sort | relevance | installs | real_installs | score | ratings | reviews | released | updated | price |
page | पेज, 1 से |
per | प्रति पेज पंक्तियाँ, 1–100 (डिफ़ॉल्ट 20) |
पहली रिलीज़ तारीख के अनुसार नए ऐप, सबसे नए ऊपर।
since | इस तारीख से, YYYY-MM-DD (डिफ़ॉल्ट: 7 दिन पहले) |
until | इस तारीख तक, सहित |
category | श्रेणी ID, जैसे GAME_PUZZLE (देखें /v1/categories) |
min_installs | न्यूनतम इंस्टॉल (Google Play सीमाएँ: 1000, 10000…) |
lang | शीर्षक की भाषा, ISO कोड: en, de, pt… |
sort | relevance | installs | real_installs | score | ratings | reviews | released | updated | price |
page | पेज, 1 से |
per | प्रति पेज पंक्तियाँ, 1–100 (डिफ़ॉल्ट 20) |
Google Play से गायब हुए ऐप (हमारे जाँचे गए सभी 19 देशों में नहीं हैं), हटाने की तारीख के अनुसार। ऐप के रिकॉर्ड में उसका अंतिम डेटा रहता है।
since | इस तारीख से, YYYY-MM-DD (डिफ़ॉल्ट: 7 दिन पहले) |
until | इस तारीख तक, सहित |
category | श्रेणी ID, जैसे GAME_PUZZLE (देखें /v1/categories) |
min_installs | न्यूनतम इंस्टॉल (Google Play सीमाएँ: 1000, 10000…) |
sort | removed_at | installs | score |
page | पेज, 1 से |
per | प्रति पेज पंक्तियाँ, 1–100 (डिफ़ॉल्ट 20) |
हर भाषा के लिए ऐप शीर्षकों से शब्द और वाक्यांश: कितने ऐप और डेवलपर इन्हें उपयोग करते हैं, उनमें कितने मज़बूत हैं (100K+ इंस्टॉल), कुल इंस्टॉल, अग्रणी का हिस्सा और अवसर स्कोर।
lang | भाषा, डिफ़ॉल्ट en |
q | शब्द या वाक्यांश |
phrase | true — केवल दो शब्दों के वाक्यांश, false — केवल एकल शब्द |
min_apps | न्यूनतम ऐप |
max_apps | अधिकतम ऐप |
sort | opportunity | apps | installs | strong | devs | max_installs |
order | desc | asc |
page | पेज, 1 से |
per | प्रति पेज पंक्तियाँ, 1–100 (डिफ़ॉल्ट 20) |
ऐप की संख्या और कुल इंस्टॉल के साथ सभी श्रेणियाँ। मुफ़्त।
status | live (स्टोर में, डिफ़ॉल्ट), removed या all |
वे ऐप जिनके डेवलपर की वेबसाइट का डोमेन पंजीकरण के लिए उपलब्ध है, ऐप की लोकप्रियता के साथ। Pro प्लान और ऊपर।
category | श्रेणी ID, जैसे GAME_PUZZLE (देखें /v1/categories) |
min_installs | न्यूनतम इंस्टॉल (Google Play सीमाएँ: 1000, 10000…) |
status | live (स्टोर में, डिफ़ॉल्ट), removed या all |
tld | डोमेन ज़ोन, जैसे com |
sort | relevance | installs | real_installs | score | ratings | reviews | released | updated | price |
page | पेज, 1 से |
per | प्रति पेज पंक्तियाँ, 1–100 (डिफ़ॉल्ट 20) |
एक देश और श्रेणी का Google Play चार्ट: 200 स्थान तक, पिछले स्नैपशॉट से रैंक बदलाव (change: कितने स्थान ऊपर गया, नए के लिए "new"), आइकन और इंस्टॉल।
country * | देश, ISO कोड: US, DE, BR… |
category * | श्रेणी, जैसे GAME_PUZZLE |
collection | free | paid | grossing |
page | पेज, 1 से |
per | प्रति पेज पंक्तियाँ, 1–100 (डिफ़ॉल्ट 20) |
नवीनतम स्नैपशॉट में ऐप के सभी चार्ट: देश, श्रेणी, संग्रह, स्थान; चार्ट और देशों की संख्या, और सबसे अच्छा स्थान।
id * | ऐप का पैकेज नाम |
country | केवल एक देश |
collection | free | paid | grossing |
वे देश जहाँ ऐप Google Play पर उपलब्ध है (स्टोर के sitemap के hreflang से)। 190+ देश होने पर सूची के बिना worldwide = true लौटता है।
id * | ऐप का पैकेज नाम |
मुफ़्त चार्ट पर आधारित बाज़ार प्रतिस्पर्धा: शीर्ष 100 और शीर्ष 200 की प्रवेश सीमा (उस स्थान के ऐप के इंस्टॉल), शीर्ष में नए (पिछले 12 महीने) और स्थानीय (≤3 देश) ऐप का हिस्सा, और स्थानीय बाज़ार का आकार। बिना पैरामीटर: सभी देश; country: एक देश की श्रेणियाँ; category: सभी देशों में एक श्रेणी।
country | देश, ISO कोड |
category | श्रेणी ID, जैसे GAME_PUZZLE (देखें /v1/categories) |
sort | entry100 | entry200 | new_share | local_share | local_apps | local_installs | local_new |
order | desc | asc |
page | पेज, 1 से |
per | प्रति पेज पंक्तियाँ, 1–100 (डिफ़ॉल्ट 20) |
डेटाबेस का आकार: स्टोर के और हटाए गए ऐप, डेवलपर, पिछले 7 दिनों के नए और हटाए गए, अंतिम अपडेट का समय। मुफ़्त।
* — ज़रूरी पैरामीटर
# 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+ (सर्वर पर, ब्राउज़र में नहीं)
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;
कुंजी आप अपने खाते में बना सकते हैं। अनुरोध सीधे आपके ब्राउज़र से जाता है। कुंजी कहीं सहेजी नहीं जाती और पेज दोबारा लोड करने पर हट जाती है। कंसोल से किए गए अनुरोध भी दूसरों की तरह क्रेडिट खर्च करते हैं।