Was macht App-Keyword-Recherche?
Beantworte drei Fragen zu einer App-Idee anhand von Apples öffentlichen App Store Daten, ohne Konto oder API-Key:
- Verkehr: Suchen Leute danach und mit welchen Wörtern?
- Schwierigkeit: Wie schwer ist es, für diese Wörter zu ranken?
- Markt: Welche Apps dominieren diesen Bereich, wie groß sind sie und wie verdienen sie Geld?
Das Ergebnis ist ein Urteil, die zu targetierenden Keywords und ein App Store Titel, Untertitel und Keyword-Feld.
Arbeitsablauf
1. Verwandle die Idee in 10–20 Saatphrasen
Saatphrasen sind die Startsuchen; das Skript erweitert jede einzelne durch Autocomplete. Abdecken:
- Die Kernaufgabe, in den Worten des Nutzers: "Kopfrechnen", "Gewohnheitstracker" (nicht "numerische Förderung").
- Synonyme und alternative Namen: "Mathe-Spiel", "Arithmetik", "Einmaleins".
- Die Zielgruppe: "Mathe-Spiele für Erwachsene", "… für Kinder". Getrennte Zielgruppen sind getrennte Märkte.
- Angrenzende Kategorien, mit denen es konkurriert: "Gehirntraining" für eine Mathe-App.
- Ergebnisphrasen: "Schnelles Rechnen", "Mathe-Workout".
Verwende keine Markennamen von Wettbewerbern als Saatphrasen. Sie werden ohnehin in den Ergebnissen auftauchen, was für die Marktübersicht nützlich ist.
Andere Länder erhalten Saatphrasen in ihrer eigenen Sprache. Deutsche suchen, was Deutsche tippen ("kalorienzähler", nicht "kalorien tracker"), also schreibe die Saatphrasen jedes Marktes aus dem, was Einheimische eingeben würden und überprüfe sie durch Autocomplete. Übersetze niemals die englischen Gewinner und gehe davon aus, dass sie Bestand haben.
Zweiter Durchgang aus den Titeln der etablierten Apps. Nach dem ersten Durchlauf lies die nicht-markenbezogenen Wörter in den Top-Apps der Marktübersicht (z. B. "Karten", "Tipps" in "Kopfrechnen Karten Spiele & Tipps"). Entwickler konvergieren auf Wörter, die funktionieren, also werden die, die du noch nicht abgedeckt hast, zu einem zweiten Satz Saatphrasen, die in dasselbe --out laufen.
2. Führe die Recherche durch
python3 -I scripts/keyword_research.py \
--seeds "Kopfrechnen, Mathe-Spiel, Mathe-Spiele für Erwachsene, Gehirntraining, Einmaleins" \
--country de --max-terms 120 --out recherche/<idee>-de-<jjjj-mm-tt>
- Laufzeit: etwa 6 Sekunden pro Phrase zu Beginn eines Laufs, fallend, da dieselben Apps immer wieder ranken (ihre Details werden gecacht). 120 Phrasen dauern etwa 8–10 Minuten, also führe große Batches im Hintergrund aus.
- Fortschritt: Ergebnisse werden während des Laufs gespeichert.
report.mdist während des Laufs lesbar, und ein erneuter Lauf in dasselbe--outsetzt den Vorgang fort. - Weitere Optionen:
--seeds-file seeds.txt: eine Phrase pro Zeile.--no-expand: bewerte nur die angegebenen Saatphrasen.--country gb|de|jp|…: die 52 wichtigsten Storefronts. Autocomplete und Rankings unterscheiden sich je nach Land, also recherchiere jeden Launch-Markt.--app-id <trackId>: füllt bei einer Live-App die Spalte "Unser Rang" (1–200 oder 200+) für jede Phrase, ohne zusätzliche Kosten. Führe erneute Läufe in datierte Ordner durch, um Rankings nach einer Metadatenänderung zu verfolgen.
- Ausgaben:
report.md: die beiden unten stehenden Tabellen.keywords.jsonundapps.json: Rohdaten für Folgefragen.
- Tests:
python3 -I scripts/test_keyword_research.pyundpython3 -I scripts/test_check_metadata.pylaufen offline.
3. Lese die Keyword-Tabelle
Jede Phrase erhält drei heuristische Bewertungen von 0–100:
| Punktzahl | Wie sie gemessen wird | Lies sie als |
|---|---|---|
| Nachfrage | Je weniger Buchstaben getippt werden, bevor der App Store die Phrase vorschlägt, und je höher ihr Platz, desto mehr wird gesucht. Apple ordnet Vorschläge nach Suchvolumen. | Buchstaben ≤ 4: hoch. 5–7: mittel. ≥ 8: niedrig. Nie vorgeschlagen (Punktzahl 0): unbekannt, unterhalb dessen, was Autocomplete misst. |
| Wettbewerb | Der Median der Bewertungsanzahlen der aktuellen Top 10 auf einer logarithmischen Skala, plus 2 Punkte pro Top-10-App mit der gesamten Phrase in ihrem Namen oder Untertitel (Plurale, Akzente und Zusammensetzungen wie "kalorienzähler" = "Kalorien Zähler" zählen; Untertitel sind nur für etwa die Top 8 bekannt). | Median < 1k: schwach. 1k–20k: moderat. 20k–100k: stark. > 100k: von großen Marken besetzt. 5 oder mehr exakte Titel bedeuten, dass viele Apps die Phrase direkt anvisieren. |
| Chance | nachfrage × (1 − wettbewerb / 100) | Die Sortierreihenfolge. Der Sweet Spot ist Nachfrage ≥ 60 mit Wettbewerb ≤ 55. |
Die Spalte Urteil wandelt diese in ein Wort um: target (Nachfrage ≥ 40, Wettbewerb ≤ 55: gewinnbar für eine neue App), hard (Wettbewerb > 55), low (Nachfrage < 40), floor (Nachfrage 0), brand (siehe unten), und mit --app-id, own (deine App ist Top 3) oder push (Top 10: nah dran, es lohnt sich, die Listung zu verstärken). Es ist eine erste Sortierung, nicht die Entscheidung: der Intent-Schnitt unten gilt weiterhin.
Muster, die hervorzuheben sind:
- Hohe Nachfrage, schwacher Wettbewerb: die Marktlücke. Beispiel: "Kopfrechnen" (vorgeschlagen nach 4 Buchstaben, Top-10-Median 609 Bewertungen).
- Hohe Nachfrage, bei der keine Top-10-App die gesamte Phrase in ihrem Namen oder Untertitel hat: eine Titel-Lücke, selbst wenn der Wettbewerb stark ist. Beispiel: "Mathe-Spiele für Erwachsene", Median 112k Bewertungen, aber 0/10 exakte Titel.
- Autocomplete-Phrasen, die Markennamen sind ("Einmaleins Rockstars", "Impuls Gehirntraining") gehören zu einem Wettbewerber. Liste sie in der Marktübersicht, niemals in deinen Keywords; Apple lehnt Metadaten ab, die Marken anderer Apps verwenden. Das Skript markiert eine Phrase (brand) und listet sie zuletzt, wenn sie der gesamte Titel einer Top-10-App ist, weil ein kleiner App-Name sonst nahezu Null-Wettbewerb erzielt und die Tabelle anführt. Es kann Markenphrasen, die nur teilweise auf einen Titel passen ("Impuls Gehirntraining"), nicht erkennen, und es kann eine generische Phrase markieren, die eine App als ihren exakten Titel verwendet hat ("Prozentrechner"), also lies die Liste trotzdem.
- Zielgruppen-geteilte Phrasen ("… für die 3. Klasse", "… für Erwachsene") sind unterschiedliche Produkte. Sage, welches Segment die Idee bedient.
- Hohe Nachfrage, aber 0/10 exakte Titel ist auch ein Hinweis. Entweder ist es eine echte Lücke (selten) oder die Phrase ist zu vage, als dass jemand darauf aufbauen könnte (häufig). Wende den Intent-Test unten an, bevor du es als Marktlücke bezeichnest.
Schneide nach Intent, bevor du rankst. Das Skript kann dies nicht beurteilen; du musst es tun. Ein Keyword zählt nur, wenn die Person, die es eingibt, eine App wie diese erwartet. Frage bei jeder: Wie viele Leute, die dies eingeben, wollen DIESE App? Schneide zwei Klassen aus, die täuschend gut abschneiden:
- Zu generisch: "Tracker" für einen Kalorientracker. Riesige Nachfrage, aber der Suchende könnte Schlaf-, Budget- oder Flugtracker wollen.
- Angrenzend, falsche Absicht: "Muskelwachstum" für einen Kalorientracker. Verwandt mit der Idee, aber der Suchende will Workout-Apps. Du könntest sogar ranken; die Installationen werden nicht kommen, und die, die kommen, bleiben nicht.
Nachfrage 0 bedeutet unbekannt, nicht null. Nie vorgeschlagen liegt unter dem, was Autocomplete messen kann (dasselbe wie Popularität 5, der Boden, in Apple Search Ads). Eine solche Phrase im Keyword-Feld ist ein Lottoschein. Die Titel- und Untertitel-Keywords müssen klar messbare Nachfrage haben; Boden-Phrasen sind nur Füllmaterial, nachdem die bewährten platziert sind.
Beurteile den Wettbewerb im Verhältnis zum Stadium der App.
- Neue App: visiere Wettbewerb ≤ 55 für aktuelle Rankings an. Eine stärkere Phrase im Titel ist eine Wette auf die Zukunft, also muss das Keyword-Feld gewinnbare Phrasen für den Moment tragen.
- Etablierte App (tausende Bewertungen): Wettbewerb bis etwa 70 wird angreifbar, weil Ranking-Autorität mit Installationen und Bewertungen wächst.
- Eine Live-App, die ~100+ für eine Phrase in ihrem eigenen Titel oder Untertitel rankt (siehe
--app-id) hat ein Autoritätsproblem, kein Keyword-Problem. Mehr Keywords werden es nicht beheben; Installationen und Bewertungen schon.
4. Lese die Marktübersicht
Die zweite Tabelle listet die Apps, die in den Top 10 für die meisten Phrasen erscheinen: die etablierten. Für die Top 5–10:
- Größe: eine Bewertungsanzahl in den Hunderttausenden bedeutet einen finanzierten Marktführer, während Tausende indie-groß und schlagbar bedeutet.
- Aktualität: Ein letztes Update vor mehr als einem Jahr bedeutet einen stagnierenden Marktführer, was eine Marktlücke ist.
- Qualität: Eine durchschnittliche Bewertung unter etwa 4,3 bedeutet, dass Nutzer unzufrieden sind. Ihre Rezensionen sind eine Feature-Liste für dich.
- Geschäftsmodell: Der Preis steht in der Tabelle. In-App-Käufe und Abonnementpreise sind nicht in der API, aber die Store-Seite enthält sie. Rufe
https://apps.apple.com/de/app/id<trackId>mit curl auf, HTML-unescape es und lese das JSON nach"title":"In-App-Käufe": jedestextPairist ein Produkt und sein Preis, z.B. King of Maths"Vollversion"/"3,99 €". Eine Kategorie, in der jeder Marktführer ein Abonnement verlangt, beweist, dass die Leute zahlen. Ein starker Konkurrent mit einmaliger Freischaltung setzt den Preisanker, mit dem du verglichen wirst. - Suchdominanz vs. Bekanntheit: zähle, wie oft jede App in den Top 3 aller Phrasen ist (
keywords.json→top). Ein berühmter Konkurrent kann in der Suche abwesend sein. Zum Beispiel war King of Math (3k Bewertungen, 15 Jahre alt) in 0 von 178 Mathe-Phrasen in den Top 3, während Kopfrechnen Karten Spiele & Tipps in 41 Phrasen in den Top 3 war.
5. Gib das Urteil ab
Verwende diese Struktur:
- Urteil: go / go für eine Nische / vermeiden, in einem Satz, mit Begründung.
- Sweet-Spot-Keywords: die Top 5–10 nach Chance, jedes mit Nachfrage, Wettbewerb und warum es ausgewählt wurde.
- Segmente: eine Tabelle von Keyword-Clustern mit Nachfrage, Wettbewerb und was jedes bedeutet (wie im Beispiel unten).
- Wem gehört der Markt: die Top-Etablierten, ihre Größe, Aktualität und Geschäftsmodell.
- App Store Metadaten:
- Titel: bis zu 30 Zeichen. Keyword zuerst, Marke zweitens: "Kalorientracker — Glow Up" schlägt "Glow Up — Kalorientracker", weil Leute das Keyword suchen, nicht eine unbekannte Marke, und frühere Wörter mehr Gewicht haben. Marke zuerst ist eine bewusste Entscheidung des Nutzers, niemals die Voreinstellung.
- Untertitel: bis zu 30 Zeichen. Das zweitstärkste Keyword, beschreibend formuliert: "Tracke Makros & nimm ab" ist ein Untertitel, "Fühle dich jeden Tag großartig" verschwendet 30 Zeichen.
- Keyword-Feld: bis zu 100 Zeichen, kommagetrennt ohne Leerzeichen. Wiederhole keine Wörter, die bereits im Titel oder Untertitel stehen (Apple kombiniert sie), verwende Singularformen und lasse Markennamen und den Kategorienamen der App weg.
- Apple-Produktnamen (iPhone, iPad, Apple Watch) im Titel oder Untertitel führen zur Ablehnung (Richtlinie 5.2.5). Im Keyword-Feld sind sie in Ordnung und lohnenswert, wenn die App wirklich z.B. eine Watch-App hat.
- Überprüfe es:
python3 -I scripts/check_metadata.py --title "…" --subtitle "…" --keywords "…"schlägt bei Grenzen und Apple-Namen fehl und warnt vor verschwendeten Zeichen. - Präsentiere es als Tabelle: Keyword, die Oberfläche, der es zugewiesen ist (Titel, Untertitel oder Keyword-Feld), Nachfrage, Wettbewerb und eine einzeilige Intent-Begründung. Hole die explizite Zustimmung des Nutzers zu den Titel- und Untertitel-Keywords ein, bevor du Listungen schreibst oder etwas davon lokalisiert.
- Titel, Untertitel und Keyword-Feld ändern sich nur mit einer neuen App-Version (Werbetext ist das einzige live bearbeitbare Feld), also plane Keyword-Änderungen so, dass sie mit dem nächsten Release einhergehen.
- Einschränkungen: die unten genannten relevanten Einschränkungen.
Einschränkungen (nenne immer die relevanten)
- Nachfrage ist relativ, nicht absolut. Die Autocomplete-Position ordnet Phrasen gegeneinander; sie gibt keine Download-Zahlen. Die wahre Metrik ist die Apple Search Ads Popularität (5–100), erhältlich über ein Apple Search Ads Konto oder kostenpflichtige Tools wie Astro.
- Wettbewerb verwendet Bewertungszahlen als Proxy für Downloads. Es ist korreliert, aber nicht dasselbe.
- Ergebnisse sind eine Momentaufnahme. Führe erneute Läufe in einen datierten Ordner durch, um Trends zu sehen.
- Der US App Store ist die Voreinstellung. Andere Länder benötigen einen eigenen Lauf.
Astro (kostenpflichtiges Keyword-Tool), falls installiert
Astro (/Applications/Astro.app, Bundle matteospada.it.ASO) liefert die echte Search Ads Popularität und einen eigenen Schwierigkeitsgrad. Was darüber herausgefunden wurde (Oktober 2026):
- Demo-Limit: die Demo-Version erlaubt 10 Keywords pro App, und Popularität, Schwierigkeit und Vorschläge benötigen eine Lizenz.
- MCP-Server: Astro hat einen eigenen, dokumentiert unter tryastro.app/docs/mcp, aktiviert über den Startbildschirm. Er benötigt eine Lizenz. Wenn er lizenziert ist und läuft, bevorzuge seine Tools für Popularität und Schwierigkeit gegenüber den Heuristiken hier. Der Workflow lässt sich darauf abbilden:
- Lege die Recherche für eine noch nicht veröffentlichte App in einem temporären Ordner oder Tag ab, damit sie von der Live-Verfolgung getrennt bleibt.
- Saatphrasen:
get_keyword_suggestions, plusextract_competitors_keywordsfür die 3–5 engsten Rivalen (finde sie mitsearch_app_store). - Pro Markt:
search_rankingsauf der lokalen Storefront zeigt, wer dort gewinnt. - Es berichtet auch, wie viele Apps ein Keyword in ihrem Namen oder Untertitel verwenden. Viele sind ein Beweis dafür, dass die Phrase gesucht wird; null bei einer beliebten Phrase ist der oben beschriebene Hinweis.
- Lokale Daten: gespeichert in
~/Library/Containers/matteospada.it.ASO/Data/Library/Application Support/Astro/Model.sqlite(Core Data). Kopiere immer die Datei und ihre-wal- und-shm-Dateien, bevor du sie liest.- Keywords sind in
ZKEYWORD:ZTEXT,ZSTORE,ZPOPULARITY,ZDIFFICULTY,ZAPPSCOUNT,ZCURRENTRANKING. - Zeitstempel sind Sekunden seit 2001, also addiere 978307200 für Unix-Zeit.
- Keywords sind in
- Rufe Astros Server (
api.tryastro.app) nicht direkt auf. Seine Popularitätsdaten sind das lizenzierte Produkt. Verwende die App, ihren MCP-Server oder bitte den Nutzer, die Keywords in Astro hinzuzufügen und dann die lokale Datenbank zu lesen. - Das Steuern seines Fensters über Skripte ist unzuverlässig. Es ist eine SwiftUI-App, deren Seitenleiste auf Skript-Klicks nicht reagiert, und die Bildschirmaufnahme benötigt eine Berechtigung, die das Terminal normalerweise nicht hat.
RankPilot (unser eigener Tracker), sobald die App live ist
RankPilot ist unser lokaler App Store Keyword-Tracker (Node 22.5+, keine Abhängigkeiten, Daten in ~/.rankpilot/rankpilot.db). Dieser Skill entscheidet, was vor und beim Launch anvisiert wird; RankPilot verfolgt es dann: Ranking-Verlauf pro Keyword und Land, was sich seit der letzten Prüfung geändert hat und welche Apps dich schlagen. Übergib, sobald die Listung live ist.
- Seine MCP-Tools (
node bin/rp.js mcp installregistriert sie):status,app_add(deine oder die eines Wettbewerbers),keywords_add,keywords_localize(KI schreibt die lokale Phrase für jeden Markt),check_run,board_get(Keywords × Länder mit Rang, vorherigem Rang, Volumen, Schwierigkeit, Urteil und bis zu 5 Apps, die dich pro Land schlagen),term_get(eine erklärte Phrase mit den Top 10 und ihrer Relevanz),keywords_brainstorm. - Übergabe: füge die App mit
app_addhinzu, füge die genehmigten Keywords (Titel, Untertitel und Keyword-Feld) mitkeywords_addhinzu, setze die local...