Do App Store keyword research from Codex
Ask Codex what people type before they find apps like yours. MetaRun reads App Store autocomplete, checks where you rank in each storefront, tracks the keywords you pick, and lints the keyword field before you stage a change.
Setup checked October 2026 against Codex MCP docs, non-interactive mode
Connect Codex once
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"Prefer a personal access token (scripts, CI)?
Add the server with a token
Mint a personal access token in MetaRun under Settings, MCP. It's shown once and can be revoked any time. Codex reads it from the environment variable you name.
export METARUN_TOKEN="mr_pat_..."
codex mcp add metarun --url https://metarun.dev/api/mcp --bearer-token-env-var METARUN_TOKENOr in config.toml
[mcp_servers.metarun]
url = "https://metarun.dev/api/mcp"
bearer_token_env_var = "METARUN_TOKEN"What Codex handles here
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. Codex 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 it runs
- 01
Research
Codex 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 in 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.
- 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.
- Codex 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 Codex calls
| 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 (the same name with apply instead of preview) that only runs with the confirm token from a fresh preview, and refuses if App Store Connect changed in between. MetaRun tools save to your MetaRun workspace only (studio projects, tracked keywords), never to Apple.
What Apple enforces, and how MetaRun handles it
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.
What to 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.
Run it from a script with Codex
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.
How Codex asks before a change
Codex decides per tool from the hints MetaRun sends with each one. In its default mode it runs tools marked read-only, which covers MetaRun's reads and previews, and asks before the rest, which covers every apply. You can change that per server with default_tools_approval_mode, or per tool with tools.<name>.approval_mode in config.toml; keep the apply tools on prompt.
Frequently asked questions
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. Codex can also check any term on demand.
Can Codex 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.
How do I connect Codex to App Store Connect?
Run codex mcp add metarun --url https://metarun.dev/api/mcp; Codex detects MetaRun's sign-in and opens it in your browser. After that, ask for "aso keywords" in plain words and Codex picks the MetaRun tools.
Does Codex see my App Store Connect key?
No. Your App Store Connect API key stays envelope-encrypted on MetaRun's servers and is decrypted per request. Codex holds a MetaRun token that you can revoke in Settings at any time.
More with Codex
Codex
Localize your listing
Name, subtitle, keywords and description in every App Store language, limits checked.
OpenCodex
Reply to reviews
Triage App Store reviews, find the themes, and post replies you've approved.
OpenCodex
Screenshots
Design, caption, translate and upload App Store screenshots from a prompt.
OpenCodex
Release notes
Write What's New from your changelog and stage it in every language.
OpenASO keywords with another agent
In depth: ASO rank tracking
Agent access
14-day free trial with agent access. No credit card. Your Apple key stays encrypted on MetaRun.