Basis-URL: https://apksurge.com/api/v1. Registrer deg, opprett en API-nøkkel i kontoen din og send din første forespørsel:
Maskinlesbar API-beskrivelse: OpenAPI 3.1 · Postman-samling — importer den i Postman, Insomnia eller en klientgenerator (openapi-generator) og få en ferdig SDK for ditt språk.
curl -H "X-API-Key: DIN_NØKKEL" "https://apksurge.com/api/v1/app?id=com.whatsapp"
Dataene dekker over 4 millioner Google Play-apper fra den amerikanske butikken på engelsk (fra et annet land hvis appen ikke finnes i USA), oppdatert hver natt. Apper som forsvinner fra butikken blir værende i databasen med sine siste data.
Hver forespørsel unntatt /v1/health må inneholde API-nøkkelen i en header:
X-API-Key: ak_live_…
Aksepteres også: Authorization: Bearer …. Det er ikke tillatt å sende nøkkelen i URL-parametere: da ville den havne i logger og nettleserhistorikk.
Hvert kall koster 0–3 tokener avhengig av endepunktet, uavhengig av antall rader i svaret (opptil 100); batch-kallet apps koster 1 token per app. Månedlige tokener brukes først, deretter kjøpte. Hvis en forespørsel mislykkes på vår side, får du tokenene tilbake. Planer og pakker
| Header | Betydning |
|---|---|
X-Tokens-Cost | hvor mange tokener denne forespørselen kostet |
X-Tokens-Remaining | hvor mange tokener som er igjen (månedlige + kjøpte) |
X-Cache | HIT — svar fra hurtigbufferen (raskere), MISS — ny forespørsel mot indeksen |
X-RateLimit-Limit / -Remaining | nøkkelens grense per minutt og det som er igjen |
X-Plan | free | pro | business |
Gjenstående tokener finnes også i feltet _tokens i hvert svar og i /v1/account (gratis). De gamle navnene _credits og X-Credits-* er utdaterte, men fungerer fortsatt.
Hvert svar har feltet ok. Lister inneholder results, total, page, per, pages. Feil: ok = false, error er forklaringen, code er en maskinlesbar kode. Datoer er i 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 | Når |
|---|---|---|
| 400 | invalid_param, invalid_request | ugyldig eller manglende parameter |
| 401 | missing_api_key, invalid_api_key | ingen nøkkel, eller nøkkelen er tilbakekalt |
| 402 | insufficient_credits | ikke nok tokener — kjøp en pakke |
| 403 | account_blocked, plan_required | kontoen er sperret, eller endepunktet åpnes etter første kjøp av tokener |
| 404 | not_found | appen eller utvikleren finnes ikke i databasen, eller endepunktet er ukjent |
| 429 | rate_limited | grensen for forespørsler per minutt er overskredet |
| 503 | service_unavailable | et midlertidig databaseproblem — prøv igjen senere; ingen tokener belastes |
Alle endepunkter er GET /api/v1/{navn}. Paginering: page (fra 1) og per (1–100), opptil resultat nr. 10 000. Sortering: sort + order=asc|desc.
Din plan, tokensaldo, datoen for fornyelse av månedlige tokener og grensen per minutt.
Det fullstendige appkortet: tittel, beskrivelse, «Nytt», installasjoner (terskel og eksakt antall), vurdering, antall vurderinger og anmeldelser, fordeling av stjerner, pris, kjøp i appen, reklame, kategori, aldersgrense, versjon, laveste Android-versjon, dato for utgivelse og oppdatering, ikon, skjermbilder, video, utvikler og utviklerens nettsted. For fjernede apper: siste lagrede data og dato for fjerning.
id * | appens pakkenavn |
Opptil 100 apper i ett kall: GET ?ids=a,b,c eller POST med listen i body (én per linje, eller JSON {"ids": […]}). 1 token per app; ID-er vi ikke har, returneres i not_found.
ids * | pakkenavn atskilt med komma, opptil 100 |
Søk og filtre over hele databasen. Minst ett filter er påkrevd. Uten q sorteres resultatene etter installasjoner.
q | ord å søke etter i tittel, beskrivelse og utviklernavn |
category | kategori-ID, f.eks. GAME_PUZZLE (se /v1/categories) |
developer_id | utvikler-ID på Google Play |
min_installs | minimum installasjoner (Google Play-terskler: 1000, 10000 …) |
max_installs | maks. installasjoner |
min_score | laveste vurdering, 0–5 |
min_ratings | minimum vurderinger |
free | true — bare gratis, false — bare betalte |
ads | true — med reklame, false — uten |
iap | true — med kjøp i appen |
lang | tittelspråk, ISO-kode: en, de, pt … |
released_from | utgitt fra denne datoen, YYYY-MM-DD |
released_to | utgitt til og med denne datoen |
updated_from | oppdatert fra denne datoen |
updated_to | oppdatert til og med denne datoen |
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 | rader per side, 1–100 (standard 20) |
Forslag basert på starten av tittelen: de 10 mest populære treffene. Gratis.
q * | starten av tittelen, minst 2 tegn |
En utvikler og alle appene deres: antall (i butikken og fjernede), samlede installasjoner, gjennomsnittlig vurdering, første utgivelse, kategorier, nettsted. I Business-planen: e-post, telefon, adresse og juridisk navn.
id | utvikler-ID (fra appkortet: developer.id) |
name | eller utviklerens eksakte navn |
status | all (standard), live eller removed |
sort | relevance | installs | real_installs | score | ratings | reviews | released | updated | price |
page | side, fra 1 |
per | rader per side, 1–100 (standard 20) |
Nye apper etter dato for første utgivelse, de nyeste først.
since | fra denne datoen, YYYY-MM-DD (standard: 7 dager siden) |
until | til og med denne datoen |
category | kategori-ID, f.eks. GAME_PUZZLE (se /v1/categories) |
min_installs | minimum installasjoner (Google Play-terskler: 1000, 10000 …) |
lang | tittelspråk, ISO-kode: en, de, pt … |
sort | relevance | installs | real_installs | score | ratings | reviews | released | updated | price |
page | side, fra 1 |
per | rader per side, 1–100 (standard 20) |
Apper som har forsvunnet fra Google Play (finnes ikke i noen av de 19 landene vi sjekker), etter dato for fjerning. Appkortet beholder de siste dataene.
since | fra denne datoen, YYYY-MM-DD (standard: 7 dager siden) |
until | til og med denne datoen |
category | kategori-ID, f.eks. GAME_PUZZLE (se /v1/categories) |
min_installs | minimum installasjoner (Google Play-terskler: 1000, 10000 …) |
sort | removed_at | installs | score |
page | side, fra 1 |
per | rader per side, 1–100 (standard 20) |
Ord og uttrykk fra apptitler for hvert språk: hvor mange apper og utviklere som bruker dem, hvor mange av dem som er sterke (100 000+ installasjoner), samlede installasjoner, lederens andel og en mulighetsscore (opportunity).
lang | språk, standard en |
q | ord eller uttrykk |
phrase | true — bare uttrykk på to ord, false — bare enkeltord |
min_apps | minimum apper |
max_apps | maks. apper |
sort | opportunity | apps | installs | strong | devs | max_installs |
order | desc | asc |
page | side, fra 1 |
per | rader per side, 1–100 (standard 20) |
Alle kategorier med antall apper og samlede installasjoner. Gratis.
status | live (i butikken, standard), removed eller all |
Apper der utviklerens nettstedsdomene kan registreres, med appens popularitet. Åpnes etter første kjøp av tokener.
category | kategori-ID, f.eks. GAME_PUZZLE (se /v1/categories) |
min_installs | minimum installasjoner (Google Play-terskler: 1000, 10000 …) |
status | live (i butikken, standard), removed eller all |
tld | domenesone, f.eks. com |
sort | relevance | installs | real_installs | score | ratings | reviews | released | updated | price |
page | side, fra 1 |
per | rader per side, 1–100 (standard 20) |
En Google Play-toppliste for ett land og én kategori: opptil 200 plasseringer, endring i plassering siden forrige øyeblikksbilde (change: hvor mange plasser den har steget, "new" for nye oppføringer), ikon og installasjoner.
country * | land, ISO-kode: US, DE, BR … |
category * | kategori, f.eks. GAME_PUZZLE |
collection | free | paid | grossing |
page | side, fra 1 |
per | rader per side, 1–100 (standard 20) |
Alle topplister appen står på i det siste øyeblikksbildet: land, kategori, samling, plassering; antall topplister og land, og beste plassering.
id * | appens pakkenavn |
country | bare ett land |
collection | free | paid | grossing |
Land der appen er tilgjengelig på Google Play (basert på hreflang i butikkens sitemap). Ved 190+ land returneres worldwide = true uten liste.
id * | appens pakkenavn |
Markedskonkurranse basert på gratislister: terskelen for å komme inn på topp 100 og topp 200 (installasjoner for appen på den plassen), andelen nye (siste 12 måneder) og lokale (≤3 land) apper på toppen, og størrelsen på det lokale markedet. Uten parametere: alle land; country: kategoriene i ett land; category: én kategori i alle land.
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 | rader per side, 1–100 (standard 20) |
Databasens størrelse: apper i butikken og fjernede, utviklere, nye og fjernede de siste 7 dagene, tidspunkt for siste oppdatering. Gratis.
* — påkrevd 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 nettleseren)
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 opprette en nøkkel i kontoen din. Forespørselen sendes direkte fra nettleseren din. Nøkkelen lagres ikke noe sted og forsvinner når siden lastes inn på nytt. Forespørsler fra konsollen bruker tokener på samme måte som alle andre.