כתובת בסיס: https://apksurge.com/api/v1. הירשמו, צרו מפתח API ב חשבון שלכם ושלחו את הבקשה הראשונה:
תיאור ה-API לקריאה ממוכנת: OpenAPI 3.1 · אוסף Postman — ייבאו אותו ל-Postman, ל-Insomnia או למחולל לקוחות (openapi-generator) וקבלו SDK מוכן לשפה שלכם.
curl -H "X-API-Key: המפתח_שלכם" "https://apksurge.com/api/v1/app?id=com.whatsapp"
הנתונים כוללים מעל 4 מיליון אפליקציות ב-Google Play מהחנות האמריקאית באנגלית (ממדינה אחרת אם האפליקציה אינה זמינה בארה״ב), ומתעדכנים בכל לילה. אפליקציות שנעלמו מהחנות נשארות במסד הנתונים עם הנתונים האחרונים שלהן.
כל בקשה, למעט /v1/health, חייבת לכלול מפתח API בכותרת:
X-API-Key: ak_live_…
מתקבל גם: Authorization: Bearer …. אסור להעביר את המפתח בפרמטרים של ה-URL: כך הוא יגיע ללוגים ולהיסטוריית הדפדפן.
כל קריאה עולה 0–3 אסימונים בהתאם לנקודת הקצה, ללא קשר למספר השורות בתשובה (עד 100); בקשת apps מרוכזת עולה אסימון אחד לכל אפליקציה. תחילה נצרכים האסימונים החודשיים ואחריהם אלה שנרכשו. אם הבקשה נכשלה בגללנו, האסימונים מוחזרים. מסלולים וחבילות
| כותרת | משמעות |
|---|---|
X-Tokens-Cost | כמה אסימונים עלתה הבקשה הזו |
X-Tokens-Remaining | כמה אסימונים נותרו (חודשיים + שנרכשו) |
X-Cache | HIT — תשובה מהמטמון (מהיר יותר), MISS — שאילתה חדשה לאינדקס |
X-RateLimit-Limit / -Remaining | מגבלת הבקשות לדקה של המפתח והיתרה שנותרה |
X-Plan | free | pro | business |
יתרת האסימונים מופיעה גם בשדה _tokens בכל תשובה וב-/v1/account (בחינם). השמות הישנים _credits ו-X-Credits-* הוצאו משימוש, אך עדיין פועלים.
בכל תשובה יש שדה ok. רשימות כוללות results, total, page, per, pages. שגיאה: ok = false, error — הסבר, code — קוד למכונה. תאריכים — 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. …" }
| 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/{שם}. עימוד: page (מ-1) ו-per (1–100), עד התוצאה ה-10,000. מיון: sort + order=asc|desc.
המסלול שלכם, יתרת האסימונים, תאריך חידוש האסימונים החודשיים והמגבלה לדקה.
כרטיס אפליקציה מלא: שם, תיאור, «מה חדש», התקנות (סף ומספר מדויק), דירוג, מספר הדירוגים והביקורות, התפלגות כוכבים, מחיר, רכישות, פרסומות, קטגוריה, סיווג גיל, גרסה, Android מינימלי, תאריכי שחרור ועדכון, סמל, צילומי מסך, וידאו, מפתח והאתר שלו. עבור אפליקציות שהוסרו — הנתונים האחרונים שנשמרו ותאריך ההיעלמות.
id * | שם חבילת האפליקציה |
עד 100 כרטיסי אפליקציות בבקשה אחת: GET ?ids=a,b,c או POST עם רשימה בגוף הבקשה (אחד בכל שורה, או JSON {"ids": […]}). אסימון אחד לכל אפליקציה; מזהים שלא נמצאו חוזרים ב-not_found.
ids * | שמות חבילות מופרדים בפסיקים, עד 100 |
חיפוש ומסננים על כל מסד הנתונים. נדרש לפחות מסנן אחד. ללא q המיון הוא לפי התקנות.
q | מילים לחיפוש בשם, בתיאור ובשם המפתח |
category | מזהה קטגוריה, למשל GAME_PUZZLE (ראו /v1/categories) |
developer_id | מזהה המפתח ב-Google Play |
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 | מזהה מפתח (מכרטיס האפליקציה: 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 | מזהה קטגוריה, למשל 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 | מזהה קטגוריה, למשל GAME_PUZZLE (ראו /v1/categories) |
min_installs | מינימום התקנות (ספי Google Play: 1000, 10000…) |
sort | removed_at | installs | score |
page | עמוד, מ-1 |
per | שורות בעמוד, 1–100 (ברירת מחדל 20) |
מילים וביטויים משמות אפליקציות, בנפרד לכל שפה: כמה אפליקציות ומפתחים משתמשים בהם, כמה מהן חזקות (100 אלף התקנות ומעלה), סך ההתקנות, חלקו של המוביל וציון הזדמנות (opportunity).
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 |
אפליקציות שדומיין האתר של המפתח שלהן פנוי לרישום, יחד עם הפופולריות של האפליקציה. נפתח לאחר רכישת האסימונים הראשונה.
category | מזהה קטגוריה, למשל 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 (לפי hreflang ב-sitemap של החנות). אם יש 190+ מדינות, מוחזר worldwide = true ללא רשימה.
id * | שם חבילת האפליקציה |
תחרותיות השווקים לפי צ׳ארטים חינמיים: סף הכניסה לטופ 100 ולטופ 200 (התקנות של האפליקציה במיקום הזה), חלקן של אפליקציות חדשות (ב-12 החודשים האחרונים) ומקומיות (עד 3 מדינות) בטופ, וגודל השוק המקומי. ללא פרמטרים — כל המדינות; country — הקטגוריות של מדינה אחת; category — קטגוריה אחת בכל המדינות.
country | מדינה, קוד ISO |
category | מזהה קטגוריה, למשל 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://apksurge.com/api/v1/app?id=org.telegram.messenger"
# curl — puzzle games with 10M+ installs, best rated first
curl -H "X-API-Key: $KEY" "https://apksurge.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://apksurge.com/api/v1/apps"
# Python — apps removed from Google Play this week
import os, requests
r = requests.get("https://apksurge.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+ (בשרת — לא בדפדפן)
const res = await fetch("https://apksurge.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://apksurge.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;
אפשר ליצור מפתח ב חשבון שלכם. הבקשה נשלחת ישירות מהדפדפן שלכם. המפתח אינו נשמר בשום מקום ונעלם עם טעינת הדף מחדש. בקשות מהמסוף צורכות אסימונים בדיוק כמו בקשות רגילות.