App Store keywords: how to fill the 100-character field
App Store keywords go in a hidden, comma-separated field of up to 100 characters per language, which Apple searches together with your app name, subtitle and category. Separate terms with commas and no spaces, and skip words already in your name, subtitle or category, which Apple already searches.
Keywords belong to the app version, so a change ships with your next update and goes through review. Each language you add gets its own 100 characters, and a storefront that supports several languages, like the US with ten, searches each of those fields.
Apple doesn't publish search volume. The closest first-party signal is the 1 to 5 search popularity score in Apple Ads, and the way to judge a change is rank tracking per storefront plus App Store search impressions in App Analytics.
By Redjan Hysa, founder of MetaRun · Facts checked October 12, 2026
- characters per language in the keyword field
- 100
- characters of app name and subtitle, also searched
- 30 + 30
- languages the US storefront supports, each with its own keyword field
- 10
- Apple Ads search popularity scale
- 1 to 5
- for a released change to show on the App Store
- Up to 24 hours
Reference tables
| Rule | What Apple says | Where Apple says it |
|---|---|---|
| Length | Limited to 100 characters total; the App Store Connect reference says up to 100 bytes | Search and product page guides; Platform version information |
| Separators | Commas with no spaces between terms; spaces are fine inside a phrase, as in Property,House,Real Estate | App Store search guide |
| No repeats | Don't repeat words from your app name, subtitle or category; the app is already searchable by its name and your company name | App Store search guide; Platform version information |
| Plurals | "climbs" and "climb" count as duplicates | App Store search guide |
| Skip | Generic words like "app" or "game", filler like "the" and "to", and characters such as # or @ unless they're part of your brand | App Store search guide |
| Not allowed | Unauthorized trademarks, celebrity names, competing app names, and irrelevant or offensive terms | App Store search guide; guideline 2.3.7 |
| Each keyword | Greater than two characters, in the App Store Connect reference's wording | Platform version information |
| Promotional text | Doesn't affect search ranking, so it shouldn't carry keywords | App Store search guide |
| Step | Keyword field | Characters |
|---|---|---|
| 1. First draft | habit tracker, habits, daily routine, routines, goals, streak, streaks, health app, fitness, reminders, motivation, self care | 125, too long |
| 2. Remove spaces after commas | habit tracker,habits,daily routine,routines,goals,streak,streaks,health app,fitness,reminders,motivation,self care | 114 |
| 3. Drop words from the name, subtitle and category (and their plurals), plus "app" | streak,streaks,reminders,motivation,self care | 45 |
| 4. Keep one singular form of each word | streak,reminder,motivation,self care | 36 |
| 5. Refill with new terms | streak,reminder,motivation,self care,mood,journal,checklist,water,sleep,focus,meditation,todo,quit | 98 |
The app is made up: name "Loopday: Habit Tracker" (22 characters), subtitle "Daily routine & goal planner" (28), category Health & Fitness. Step 3 removes habit, tracker, daily, routine, goal, health and fitness, which Apple already searches, and step 5 spends the space on words that appear nowhere else.
| Storefront | Languages Apple lists | Keyword fields |
|---|---|---|
| United States | English (U.S.), Arabic, Chinese (Simplified), Chinese (Traditional), French, Korean, Portuguese (Brazil), Russian, Spanish (Mexico), Vietnamese | 10 |
| India | English (U.K.), Bangla, Gujarati, Hindi, Kannada, Malayalam, Marathi, Odia, Punjabi, Tamil, Telugu, Urdu | 12 |
| Switzerland | German, English (U.K.), French, Italian | 4 |
| Spain | Spanish (Spain), Catalan, English (U.K.) | 3 |
| Canada | English (Canada), French (Canada) | 2 |
| Japan | Japanese, English (U.S.) | 2 |
| Mexico and 15 other Latin American storefronts | Spanish (Mexico), English (U.K.) | 2 |
| United Kingdom | English (U.K.) | 1 |
From Apple's App Store localizations reference. Apple's help says people can search your localized keywords in every storefront that supports that language, and a field only counts once you've added that language to your listing.
How to change App Store keywords in App Store Connect
Keywords sit on the version page, one field per language. You need the Account Holder, Admin, App Manager or Marketing role.
- 01
Open an editable version
In Apps, select the app and click the version in the sidebar. If the current version is live, click the add button (+) next to the platform to create the next one; Apple copies your existing metadata, keywords included, into it.
- 02
Edit the Keywords field
With the primary language selected, replace the text in Keywords with your comma-separated list, no spaces after the commas, and stay within 100 characters. Click Save.
- 03
Repeat for each language
Choose each language at the top right. Every language has its own Keywords field, and a newly added language starts with it empty.
- 04
Check the name and subtitle
Under App Information, compare the name and subtitle with your keyword list and remove any word that appears in both.
- 05
Submit and wait for release
Submit the version with its build. New keywords take effect when the version is released, and Apple says listing changes can take up to 24 hours to appear.
What Apple searches, and do keywords need to be in the description?
Apple describes search ranking as text relevance plus user behavior. The text it matches is your app name, subtitle, keywords and primary category (its search guide adds that an optional secondary category is indexed too), and your company name is searchable. The behavior side includes downloads, ratings and reviews.
The description isn't on that list. Apple asks you not to add keywords to it to improve search results, and says promotional text doesn't affect ranking. So App Store keywords don't need to be in the description. Write it for people deciding whether to download; it also feeds web search engines once the app is released.
100 characters or 100 bytes?
Apple's search and product page guides say 100 characters. The App Store Connect reference says 100 bytes. For English without accents the two are identical. Apple doesn't spell out how it counts Japanese, Chinese or other multibyte scripts in this field, so go by what App Store Connect accepts when you save, not by a byte count from your text editor.
Commas, spaces, plurals and duplicates
A space after a comma spends a character on nothing. Spaces inside a phrase are fine, and a phrase earns its place when people type it as a unit, like "meal plan".
Apple tells you not to repeat words from the name, subtitle or category, and treats plurals as duplicates. The reading ASO practitioners rely on is that Apple matches individual words across those fields, so "tracker" in the name plus "water" in the keywords can surface the app for "water tracker". Spend the field on words that appear nowhere else.
Competitor names and trademarked terms
Guideline 2.3.7 says not to pack metadata with trademarked terms, popular app names or irrelevant phrases to game the system, and that Apple may modify inappropriate keywords at any time. Guideline 5.2.1 covers trademarks in general, and Apple's search guide calls improper keyword use a common reason for rejection. Describe what the app does ("budget", "receipt scanner") and leave rival brand names out, translated fields included.
Per-language keyword fields and cross-localization
Every language on your listing has its own 100-character keyword field. Apple says people can search localized keywords in every storefront that supports that language, and its localization reference lists those languages per storefront, so the US searches ten keyword fields once all ten languages are filled.
That's what ASO tools mean by cross-localization: filling Spanish (Mexico) or Chinese (Simplified) to gain keyword room in the US. Practitioners report that words don't combine across languages, so put complete terms in each field and skip words the primary language already covers. People whose device uses that language see the name and subtitle you wrote there, so keep those in their language.
Keywords only change with a new version
Keywords are version metadata, like the description. Changing them means creating a version, submitting it with a build and waiting for release. Plan keyword tests around your release schedule and change one thing at a time, or you won't know which edit moved a rank.
Since October 2025 you can also assign keywords to custom product pages, which then appear in search for those keywords instead of your default page. Apple asks that each keyword combination point to a single product page.
ASO keyword research and measurement
Apple doesn't publish search volume. Apple Ads shows search popularity from 1 to 5, based on App Store searches, next to its keyword suggestions, and the search hints that appear as you type in the App Store are a free source of candidate terms. Apple's own trade-off: popular terms like "social" bring traffic but are highly competitive, while less common terms bring less traffic and less competition.
App Store Connect doesn't report keyword ranks, so track them per storefront before and after each release. Then open App Analytics, filter by App Store search as the source, and compare impressions and conversion rate. MetaRun tracks ranks per storefront and reports moves of five places or more, which saves checking by hand.
Common problems and how to fix them
Keyword field rejected: Metadata Rejected under guideline 2.3.7
Why: The keywords include a competitor's app name, a trademark you don't own, a celebrity name, or terms unrelated to the app. The rule applies to every language's field.
Fix: Remove the terms, save, and reply to App Review in App Store Connect. A metadata rejection doesn't need a new build.
App Store keywords not indexing: the app doesn't show up for a new keyword
Why: New keywords go live only with the version's release, and changes can take up to 24 hours. The term may sit in a language that storefront doesn't support, or the app ranks for a popular term but too low to spot.
Fix: Confirm the version is Ready for Distribution, check the language against the storefront table, then look up your rank in that storefront with a rank tracker instead of the first screen of results.
Ranking dropped after an update
Why: The update removed words you ranked for from the keywords, name or subtitle, or emptied a language's field. Apple also weighs downloads and ratings, and resetting your rating summary with the release starts the rating over.
Fix: Compare the old and new fields in every language and restore the words that carried traffic in the next version. MetaRun's change history records each listing edit with its before and after, so the comparison takes seconds.
Do it from Claude Code, Codex, Cursor or Xcode with MetaRun
Apple doesn't publish search volume. The signals you do have are autocomplete suggestions, where you rank today, which apps hold the top spots, and, once enabled, Apple's own search impression reports for your app.
MetaRun turns those into tools. Your agent can research terms, track them, check ranks on demand, and write keyword fields that fit in 100 characters without repeating what your name already covers.
Before you start
- Seed terms that describe your app.
- The storefronts you care about.
- For measured search data: an Admin key, once, to enable Apple's analytics reports.
How the agent runs it
- 01
Research
Your agent expands seed terms with autocomplete and checks who ranks for them.
- 02
Pick and track
Tracked keywords are checked on a schedule by MetaRun's rank Sentinel, which reports moves of five places or more and entries into the top ten.
- 03
Write the field
The agent drafts keywords and the lint checks them before the localization preview stages the change.
- 04
Measure
With search analytics enabled, Apple's own impression and conversion data shows whether the change moved anything.
An example session
Research keywords for a habit tracker in the US storefront. Start from 'habit', 'routine' and 'streak', and show who ranks top 5 for each.
- aso_suggest_keywordsAutocomplete for 'habit' in the US storefront.
- aso_keyword_leadersThe apps holding the top five spots for each candidate.
- aso_track_keywords15 terms tracked in the US and UK.
- aso_lint_metadataKeyword field: two words repeat the subtitle.
- apple_preview_set_version_localizationPreview: English (U.S.) keywords, 99 of 100 characters.
- Your agent asks before running apple_apply_set_version_localization. You read the preview above and approve.
- apple_apply_set_version_localizationApplied.
Illustrative: your apps, versions and numbers will differ. The tool names and their order are real.
The MetaRun tools involved
| Tool | What it does |
|---|---|
| aso_suggest_keywordsread | App Store autocomplete for a seed term in a storefront. |
| aso_check_rankread | Where the app ranks for a term right now. |
| aso_track_keywordsMetaRun | Track terms over time, per storefront. |
| aso_keyword_historyread | Rank history for a tracked term. |
| aso_keyword_leadersread | Which apps hold the top spots for a term. |
| aso_lint_metadataread | Rulebook check: wasted characters, repeats, limits. |
| aso_get_search_performanceread | Apple's measured search impressions and conversion, once reports are enabled. |
| aso_scan_rivalsMetaRun | What changed in competitors' listings since the last scan. |
Each preview has an apply twin that only runs with the confirm token from a fresh preview, and refuses if App Store Connect changed in between.
What Apple enforces along the way
The keyword field is 100 characters
Commas count. Spaces after commas are wasted, and words in your name or subtitle are already indexed, so repeating them spends characters for nothing.
Ranks differ per storefront
A term can rank 4th in the US and 60th in the UK. MetaRun tracks and checks per storefront.
Search analytics take a day or two
Apple's analytics reports need a one-time request with an Admin key, and the first reports arrive one to two days later.
Extra languages add keyword room
Storefronts index more than one listing language. The US indexes nine besides English (U.S.), each with its own keyword field.
Set up your agent
Connect once, then ask in plain words. Pick your agent:
Claude Code Anthropic
Run claude mcp add --transport http --scope user metarun https://metarun.dev/api/mcp, then run /mcp in Claude Code and sign in to MetaRun in your browser.
01 · Add the server
Run it in any terminal. --scope user makes MetaRun available in every project; leave it out to limit it to the current one.
claude mcp add --transport http --scope user metarun https://metarun.dev/api/mcp02 · Sign in
In a Claude Code session, run /mcp, choose metarun and authenticate. MetaRun opens in your browser, where you pick read-only or read and change. From a plain shell, claude mcp login metarun does the same.
/mcp03 · Optional: add the skills too
The MetaRun plug-in bundles the same server with six mission skills (release handoff, worldwide pricing, localization, review inbox, ASO audit, store media).
claude plugin marketplace add metarun/metarun-skills
claude plugin install metarun-skills@metarunThen ask Claude Code
- Ask Claude Code: Research keywords for a habit tracker in the US storefront. Start from 'habit', 'routine' and 'streak', and show who ranks top 5 for each.
- Ask Claude Code: Track the 15 best terms in the US and UK.
- Ask Claude Code: Rewrite the English (U.S.) keyword field using the tracked terms, lint it, and stage it.
claude -p runs one request with no interactive session. The browser sign-in can't complete inside -p, so sign in once interactively first, or configure the server with a personal access token in CI. Tools missing from --allowedTools are refused in -p mode.
Read-only check, safe to schedule
claude -p "Check the current rank of com.example.app for every tracked keyword and list the biggest moves since last week. Read only." \
--allowedTools "mcp__metarun__aso_suggest_keywords,mcp__metarun__aso_check_rank,mcp__metarun__aso_keyword_history,mcp__metarun__aso_keyword_leaders,mcp__metarun__aso_lint_metadata,mcp__metarun__aso_get_search_performance"Only reads and previews are on that list, so nothing can reach App Store Connect unattended. Run applies in an interactive session where Claude Code can ask you.
Codex OpenAI
Run codex mcp add metarun --url https://metarun.dev/api/mcp; Codex detects MetaRun's sign-in and opens it in your browser.
01 · Add the server
Codex sees that MetaRun offers sign-in and starts it straight away, in your browser. Pick read-only or read and change.
codex mcp add metarun --url https://metarun.dev/api/mcp02 · Sign in again later
If the sign-in expires or you disconnected it in MetaRun's settings. --no-browser prints the link instead, for SSH sessions.
codex mcp login metarun03 · Or edit ~/.codex/config.toml
The Codex CLI, the IDE extension and Codex in the ChatGPT desktop app read the same file, so one entry covers all three.
[mcp_servers.metarun]
url = "https://metarun.dev/api/mcp"Then ask Codex
- Ask Codex: Research keywords for a habit tracker in the US storefront. Start from 'habit', 'routine' and 'streak', and show who ranks top 5 for each.
- Ask Codex: Track the 15 best terms in the US and UK.
- Ask Codex: Rewrite the English (U.S.) keyword field using the tracked terms, lint it, and stage it.
codex exec runs one request without an interactive session and with its approval policy set to never. MetaRun's reads and previews still run, because they're marked read-only; anything that would ask is refused.
Read-only check, safe to schedule
codex exec "Check the current rank of com.example.app for every tracked keyword and list the biggest moves since last week. Read only."Applies are refused in codex exec by design. Don't set MetaRun's approval mode to approve just to make them pass; keep App Store changes in an interactive session.
Cursor Anysphere
Add https://metarun.dev/api/mcp to ~/.cursor/mcp.json (or use the install link) and sign in to MetaRun when Cursor opens your browser.
01 · Add to ~/.cursor/mcp.json (or .cursor/mcp.json for one project)
{
"mcpServers": {
"metarun": {
"url": "https://metarun.dev/api/mcp"
}
}
}02 · Or use the install link
Opens Cursor with the server filled in.
https://cursor.com/link/mcp/install?name=metarun&config=eyJ1cmwiOiJodHRwczovL21ldGFydW4uZGV2L2FwaS9tY3AifQ%3D%3D03 · Sign in
When Cursor connects, MetaRun opens in your browser. Pick read-only or read and change, and you're back in the editor with the tools listed under MCP.
Then ask Cursor
- Ask Cursor: Where do we rank for 'budget planner' in the US, Canada and Australia?
- Ask Cursor: Lint our keyword fields in every language.
- Ask Cursor: What changed in our top three competitors' listings this week?
The Cursor CLI runs one request without the editor with agent -p. Allow only the read tools the request needs in ~/.cursor/cli-config.json (Mcp(metarun:tool_name) rules), and keep MetaRun's apply tools out of that list.
Read-only check, safe to schedule
agent -p "Check the current rank of com.example.app for every tracked keyword and list the biggest moves since last week. Read only." --output-format jsonDon't run it with --force for MetaRun: that approves every tool, applies included.
Xcode Apple
In Xcode 27, add the plug-in from https://github.com/metarun/metarun-skills (Settings, Intelligence, Plug-ins, Add from URL) and click Sign in next to MetaRun.
01 · Add the MetaRun plug-in
In Xcode 27, open Settings, Intelligence, Plug-ins. Choose Add Plug-in, then Add from URL, and paste:
https://github.com/metarun/metarun-skills02 · Or with one click
Opens Xcode's plug-in sheet with the repository filled in.
xcode://agent-plugin-clone?repo=https%3A%2F%2Fgithub.com%2Fmetarun%2Fmetarun-skills03 · Sign in
Install MetaRun from the list, then click Sign in next to it. MetaRun opens in your browser; pick read-only or read and change.
04 · Ask the coding assistant
Claude Agent, Codex and Gemini in Xcode all get MetaRun's tools and its six workflow skills.
Attach build 312 to version 2.4 and tell me what blocks submission.Then ask Xcode
- Ask Xcode: Before submitting 2.4, check our keywords against what we now rank for.
- Ask Xcode: Enable search analytics so we get Apple's impression data.
- Ask Xcode: Suggest keywords for the new widget feature.
Claude Anthropic
In Claude, open Customize, Connectors, Add custom connector, paste https://metarun.dev/api/mcp and click Connect to sign in to MetaRun.
01 · Add a custom connector
In Claude, open Customize, then Connectors, and choose Add custom connector. Name it MetaRun and paste the server URL:
https://metarun.dev/api/mcp02 · Connect
Click Connect. Claude opens MetaRun in your browser to sign in; pick read-only or read and change.
03 · Team and Enterprise
An Owner adds the connector once under Organization settings, Connectors. Each member then clicks Connect and signs in to their own MetaRun account.
Then ask Claude
- Ask Claude: What keywords should my app target?
- Ask Claude: How do I rank for 'meal planner' right now?
- Ask Claude: Is my keyword field wasting characters?
Frequently asked questions
How many characters is the App Store keyword field?
100 per language. Apple's guides say 100 characters and its App Store Connect reference says 100 bytes, which is the same thing for plain English.
Should App Store keywords have spaces after commas?
No. Separate terms with commas only, like streak,reminder,mood. Spaces are fine inside a phrase.
Do App Store keywords need to be in the description?
No. Apple matches the name, subtitle, keywords and category, not the description, and asks you not to add keywords to the description for search.
Where are keywords in App Store Connect?
On the version page, in the Keywords field for each language. They're version metadata, so changes ship with your next version.
Can I use competitor names as App Store keywords?
No. Apple lists competing app names and unauthorized trademarks as keyword misuse and a common rejection reason, under guideline 2.3.7.
What are App Store keyword best practices?
Fill all 100 characters, skip spaces after commas, don't repeat words from the name, subtitle or category, use one form of each word, drop filler and generic words, and write a separate field per language based on how people there search.
Can I change App Store keywords without an update?
No. Keywords change only with a new version. Promotional text changes any time but doesn't affect search.
Does MetaRun show keyword search volume?
No, because Apple doesn't publish it and any number would be an estimate. MetaRun uses autocomplete, live ranks, who holds the top spots, and Apple's own impression data for your app once enabled.
How often are tracked keywords checked?
The rank Sentinel scans tracked keywords on a schedule and records findings such as moves of five or more places. Your agent can also check any term on demand.
Can your agent change my keywords directly?
It stages the change through the same localization preview as any listing edit. You approve it, and it's in your history if you want it back.
How many keywords can I track?
25 on Starter, 200 on Pro, unlimited on Studio, and 10 during the 14-day trial.
Sources
- Apple: App Store search
- Apple: Creating your product page
- Apple: Platform version information
- Apple: App Review Guidelines (2.3.7, 5.2.1)
- Apple: App Store localizations
- Apple: Localize app information
- Apple: View and edit app information
- Apple: Create a new version
- Apple Developer News: keywords for custom product pages (October 29, 2025)
- Apple Ads: Recommendations best practices (search popularity)
- Apple Ads: Keywords best practices
Related guides
Guide
All 50 App Store languages with their codes, which storefronts show and search each one, and how to add, remove or switch the primary language.
Guide
What's New and promotional text: the limits, when each one locks, examples for every kind of update, and what App Review rejects.
Guide
Every iPhone and iPad screenshot size in pixels, which ones are required, app preview specs and upload errors.
Guide
What decides whether ChatGPT and other assistants name your app, with data from a 78-category study.
All guides
Releases, TestFlight, pricing, subscriptions, localization, screenshots and more.
With MetaRun: ASO rank tracking
MetaRun
Do this from your AI agent or MetaRun's dashboard, with a preview before every change. 14-day free trial, no card.