Basis-URL: https://apksurge.com/api/v1. Tilmeld dig, opret en API-nøgle i din konto og send din første anmodning:
Maskinlæsbar API-beskrivelse: OpenAPI 3.1 · Postman-samling — importér den i Postman, Insomnia eller en klientgenerator (openapi-generator) for at få en færdig SDK til dit sprog.
curl -H "X-API-Key: DIN_NØGLE" "https://apksurge.com/api/v1/app?id=com.whatsapp"
Dataene dækker over 4 mio. Google Play-apps fra den amerikanske butik på engelsk (fra et andet land, hvis appen ikke findes i USA), opdateret hver nat. Apps, der forsvinder fra butikken, forbliver i databasen med deres seneste data.
Hver anmodning undtagen /v1/health skal indeholde API-nøglen i en header:
X-API-Key: ak_live_…
Accepteres også: Authorization: Bearer …. Det er ikke tilladt at sende nøglen i URL-parametre: så ville den havne i logfiler og browserhistorik.
Hvert kald koster 0–3 tokens afhængigt af endpointet, uanset antallet af rækker i svaret (op til 100); batch-kaldet apps koster 1 token pr. app. De månedlige tokens bruges først, derefter de købte. Hvis en anmodning mislykkes på vores side, returneres tokens. Planer og pakker
| Header | Betydning |
|---|---|
X-Tokens-Cost | hvor mange tokens denne anmodning kostede |
X-Tokens-Remaining | hvor mange tokens der er tilbage (månedlige + købte) |
X-Cache | HIT — svar fra cachen (hurtigere), MISS — ny forespørgsel til indekset |
X-RateLimit-Limit / -Remaining | nøglens grænse pr. minut og det, der er tilbage |
X-Plan | free | pro | business |
Din resterende tokensaldo findes også i feltet _tokens i hvert svar og i /v1/account (gratis). De gamle navne _credits og X-Credits-* er forældede, men virker stadig.
Hvert svar har et ok-felt. Lister indeholder results, total, page, per, pages. Fejl: ok = false, error er forklaringen, code er en maskinlæsbar kode. Datoer er ISO 8601 i 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 | Hvornår det opstår |
|---|---|---|
| 400 | invalid_param, invalid_request | ugyldig eller manglende parameter |
| 401 | missing_api_key, invalid_api_key | ingen nøgle, eller nøglen er tilbagekaldt |
| 402 | insufficient_credits | ikke nok tokens — køb en pakke |
| 403 | account_blocked, plan_required | kontoen er spærret, eller endpointet åbnes efter det første køb af tokens |
| 404 | not_found | appen eller udvikleren findes ikke i databasen, eller endpointet er ukendt |
| 429 | rate_limited | grænsen for anmodninger pr. minut er overskredet |
| 503 | service_unavailable | et midlertidigt databaseproblem — prøv igen senere; der trækkes ingen tokens |
Alle endpoints er GET /api/v1/{navn}. Sideinddeling: page (fra 1) og per (1–100), op til det 10.000. resultat. Sortering: sort + order=asc|desc.
Din plan, tokensaldo, datoen for fornyelse af de månedlige tokens og grænsen pr. minut.
Fulde appoplysninger: titel, beskrivelse, nyheder, installationer (tærskel og præcist tal), vurdering, antal vurderinger og anmeldelser, stjernefordeling, pris, køb i appen, reklamer, kategori, aldersgrænse, version, mindste Android-version, udgivelses- og opdateringsdatoer, ikon, skærmbilleder, video, udvikler og udviklerens websted. For fjernede apps: de seneste gemte data og fjernelsesdatoen.
id * | appens pakkenavn |
Op til 100 apps i ét kald: GET ?ids=a,b,c eller POST med listen i brødteksten (én pr. linje eller JSON {"ids": […]}). 1 token pr. app; id'er, vi ikke har, returneres i not_found.
ids * | pakkenavne adskilt af komma, op til 100 |
Søgning og filtre i hele databasen. Mindst ét filter er påkrævet. Uden q sorteres resultaterne efter installationer.
q | ord at søge efter i titel, beskrivelse og udviklernavn |
category | kategori-ID, f.eks. GAME_PUZZLE (se /v1/categories) |
developer_id | udvikler-ID på Google Play |
min_installs | mindste antal installationer (Google Play-tærskler: 1000, 10000…) |
max_installs | maksimalt antal installationer |
min_score | mindste vurdering, 0–5 |
min_ratings | mindste antal vurderinger |
free | true — kun gratis, false — kun betalte |
ads | true — med reklamer, false — uden |
iap | true — med køb i appen |
lang | titelsprog, ISO-kode: en, de, pt… |
released_from | udkommet fra denne dato, YYYY-MM-DD |
released_to | udkommet til og med denne dato |
updated_from | opdateret fra denne dato |
updated_to | opdateret til og med denne dato |
status | live (i butikken, standard), removed eller all |
sort | relevance | installs | real_installs | score | ratings | reviews | released | updated | price |
order | desc | asc |
page | side, fra 1 |
per | rækker pr. side, 1–100 (standard 20) |
Forslag ud fra begyndelsen af en titel: de 10 mest populære match. Gratis.
q * | begyndelsen af titlen, mindst 2 tegn |
En udvikler og alle vedkommendes apps: antal (i butikken og fjernede), samlede installationer, gennemsnitlig vurdering, første udgivelse, kategorier, websted. På Business-planen: e-mail, telefon, adresse og juridisk navn.
id | udvikler-ID (fra en app: developer.id) |
name | eller udviklerens præcise navn |
status | all (standard), live eller removed |
sort | relevance | installs | real_installs | score | ratings | reviews | released | updated | price |
page | side, fra 1 |
per | rækker pr. side, 1–100 (standard 20) |
Nye apps efter første udgivelsesdato, nyeste først.
since | fra denne dato, YYYY-MM-DD (standard: 7 dage siden) |
until | til og med denne dato |
category | kategori-ID, f.eks. GAME_PUZZLE (se /v1/categories) |
min_installs | mindste antal installationer (Google Play-tærskler: 1000, 10000…) |
lang | titelsprog, ISO-kode: en, de, pt… |
sort | relevance | installs | real_installs | score | ratings | reviews | released | updated | price |
page | side, fra 1 |
per | rækker pr. side, 1–100 (standard 20) |
Apps, der er forsvundet fra Google Play (findes ikke i nogen af de 19 lande, vi tjekker), efter fjernelsesdato. Appoplysningerne beholder de seneste data.
since | fra denne dato, YYYY-MM-DD (standard: 7 dage siden) |
until | til og med denne dato |
category | kategori-ID, f.eks. GAME_PUZZLE (se /v1/categories) |
min_installs | mindste antal installationer (Google Play-tærskler: 1000, 10000…) |
sort | removed_at | installs | score |
page | side, fra 1 |
per | rækker pr. side, 1–100 (standard 20) |
Ord og vendinger fra apptitler for hvert sprog: hvor mange apps og udviklere der bruger dem, hvor mange af dem der er stærke (100.000+ installationer), samlede installationer, lederens andel og en mulighedsscore (opportunity).
lang | sprog, standard en |
q | ord eller vending |
phrase | true — kun sætninger på to ord, false — kun enkeltord |
min_apps | mindste antal apps |
max_apps | maksimalt antal apps |
sort | opportunity | apps | installs | strong | devs | max_installs |
order | desc | asc |
page | side, fra 1 |
per | rækker pr. side, 1–100 (standard 20) |
Alle kategorier med antal apps og samlede installationer. Gratis.
status | live (i butikken, standard), removed eller all |
Apps, hvor udviklerens webstedsdomæne kan registreres, med appens popularitet. Åbnes efter det første køb af tokens.
category | kategori-ID, f.eks. GAME_PUZZLE (se /v1/categories) |
min_installs | mindste antal installationer (Google Play-tærskler: 1000, 10000…) |
status | live (i butikken, standard), removed eller all |
tld | domænezone, f.eks. com |
sort | relevance | installs | real_installs | score | ratings | reviews | released | updated | price |
page | side, fra 1 |
per | rækker pr. side, 1–100 (standard 20) |
En Google Play-tophitliste for ét land og én kategori: op til 200 placeringer, ændring i placering siden forrige øjebliksbillede (change: hvor mange pladser den er steget, "new" for nye på listen), ikon og installationer.
country * | land, ISO-kode: US, DE, BR… |
category * | kategori, f.eks. GAME_PUZZLE |
collection | free | paid | grossing |
page | side, fra 1 |
per | rækker pr. side, 1–100 (standard 20) |
Alle hitlister, som appen står på i det seneste øjebliksbillede: land, kategori, samling, placering; antal hitlister og lande samt bedste placering.
id * | appens pakkenavn |
country | kun ét land |
collection | free | paid | grossing |
Lande, hvor appen er tilgængelig på Google Play (ud fra hreflang i butikkens sitemap). Ved 190+ lande returneres worldwide = true uden liste.
id * | appens pakkenavn |
Markedskonkurrence baseret på gratis hitlister: tærsklen for at komme med i top 100 og top 200 (installationer for appen på den placering), andelen af nye (seneste 12 måneder) og lokale (≤3 lande) apps i toppen samt størrelsen på det lokale marked. Uden parametre: alle lande; country: kategorierne i ét land; category: én kategori på tværs af alle lande.
country | land, ISO-kode |
category | kategori-ID, f.eks. GAME_PUZZLE (se /v1/categories) |
sort | entry100 | entry200 | new_share | local_share | local_apps | local_installs | local_new |
order | desc | asc |
page | side, fra 1 |
per | rækker pr. side, 1–100 (standard 20) |
Databasens størrelse: apps i butikken og fjernede, udviklere, nye og fjernede de seneste 7 dage, tidspunkt for seneste opdatering. Gratis.
* — påkrævet parameter
# 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+ (på serveren — ikke i browseren)
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;
Du kan oprette en nøgle i din konto. Anmodningen sendes direkte fra din browser. Nøglen gemmes ikke noget sted og forsvinder, når siden genindlæses. Anmodninger fra konsollen bruger tokens på samme måde som alle andre.