Tools / App Store ASO
App Store ASO icon

App Store ASO

ASO keywords, listings, competitors

Complete iOS App Store optimization toolkit. Analyze keyword difficulty, update metadata directly, track competitor rankings, manage in-app events, and monitor reviews. Built for developers and marketers who want higher rankings.

16 skillsv0.02
Analyze Keywords

Analyze keyword difficulty, traffic, and opportunity scores for iOS App Store. Returns difficulty (0-10), traffic (0-10), and opportunity scores for each keyword. Use this to find the best keywords to target for ASO.

Returns: Array of keyword analysis results, each with difficulty (0-10), traffic (0-10), and opportunity scores
Parameters
keywords *arrayList of keywords to analyze (max 20 per call)
countrystringCountry code for regional analysis (e.g. us, gb, de, jp)
Example
Analyze countdown-related keywords on iOS
curl -H "Authorization: Bearer $TOOLROUTER_API_KEY" \
  -d '{
  "tool": "appstore-aso",
  "skill": "analyze_keywords",
  "input": {
    "keywords": [
      "countdown",
      "countdown widget",
      "timer app"
    ],
    "country": "us"
  }
}' \
  https://api.toolrouter.com/v1/tools/call
Search Apps

Search the iOS App Store for apps matching a search term. Returns app title, developer, rating, reviews, and price for each result. Use this to see what apps rank for a given keyword.

Returns: List of matching iOS apps with title, developer, rating, review count, price, and app ID
Parameters
term *stringSearch term to look up
countrystringCountry code
numnumberNumber of results to return (max 20)
Example
Search iOS App Store for countdown apps
curl -H "Authorization: Bearer $TOOLROUTER_API_KEY" \
  -d '{
  "tool": "appstore-aso",
  "skill": "search_apps",
  "input": {
    "term": "countdown widget",
    "num": 10
  }
}' \
  https://api.toolrouter.com/v1/tools/call
App Details

Get full details for a specific app on the iOS App Store. Returns title, rating, reviews, description, version, category, developer info, and more. Use a numeric App Store ID (e.g. "1611434405").

Returns: Full app metadata including title, rating, reviews, description, version, category, and developer info
Parameters
app_id *stringNumeric App Store ID (e.g. "1611434405")
countrystringCountry code
Example
Get details for Spotify on iOS
curl -H "Authorization: Bearer $TOOLROUTER_API_KEY" \
  -d '{
  "tool": "appstore-aso",
  "skill": "app_details",
  "input": {
    "app_id": "324684580"
  }
}' \
  https://api.toolrouter.com/v1/tools/call
Competitor Analysis

Run a full competitor analysis for an iOS app. Finds similar apps, compares ratings and reviews, and optionally checks who ranks for specific keywords. Returns your app details, similar apps list, and keyword rankings.

Returns: Your app details, list of similar competing apps, and keyword ranking comparison
Parameters
app_id *stringYour iOS App Store ID (numeric)
countrystringCountry code
search_termsarrayKeywords to check competitor rankings for (max 5)
Example
Analyze competitors for a countdown app on iOS
curl -H "Authorization: Bearer $TOOLROUTER_API_KEY" \
  -d '{
  "tool": "appstore-aso",
  "skill": "competitor_analysis",
  "input": {
    "app_id": "1611434405",
    "search_terms": [
      "countdown",
      "countdown widget",
      "timer"
    ]
  }
}' \
  https://api.toolrouter.com/v1/tools/call
Keyword Hints

Get autocomplete keyword suggestions from Apple's App Store search. Returns suggested search terms with priority ranking. Use this for keyword brainstorming and discovery.

Returns: Autocomplete keyword suggestions from App Store search with priority ranking
Parameters
query *stringStarting query to get suggestions for (e.g. "countdown")
countrystringCountry code (us, gb, au, ca, de, fr, es, jp)
Example
Get keyword suggestions for "countdown"
curl -H "Authorization: Bearer $TOOLROUTER_API_KEY" \
  -d '{
  "tool": "appstore-aso",
  "skill": "keyword_hints",
  "input": {
    "query": "countdown",
    "country": "us"
  }
}' \
  https://api.toolrouter.com/v1/tools/call
Keyword Popularity

Get Apple Ads popularity scores (0-100) for keywords. Returns real Apple Search Ads data including popularity score and difficulty label. Requires an Apple Ads session cookie for authentication. Use this for data-driven keyword prioritization.

Returns: Apple Ads popularity scores (0-100) and difficulty labels for each keyword
Parameters
keywords *arrayList of keywords to check popularity for (max 50 per call)
app_idstringYour iOS App Store ID (numeric). Falls back to saved ios_app_id credential.
countrystringCountry code for regional popularity (e.g. us, gb, de, jp)
Example
Check popularity for countdown keywords
curl -H "Authorization: Bearer $TOOLROUTER_API_KEY" \
  -d '{
  "tool": "appstore-aso",
  "skill": "keyword_popularity",
  "input": {
    "keywords": [
      "countdown",
      "countdown widget",
      "timer app"
    ],
    "app_id": "1611434405",
    "country": "us"
  }
}' \
  https://api.toolrouter.com/v1/tools/call
Keyword Recommendations

Get related keyword suggestions from Apple Ads based on a seed keyword. Returns recommended keywords with their popularity scores. Requires an Apple Ads session cookie. Use this to discover new keyword opportunities.

Returns: Related keyword suggestions from Apple Ads with popularity scores
Parameters
seed_keyword *stringStarting keyword to get recommendations for
app_idstringYour iOS App Store ID (numeric). Falls back to saved ios_app_id credential.
countrystringCountry code for regional recommendations
min_popularitynumberMinimum popularity score to include (0-100)
Example
Get keyword recommendations for "fitness"
curl -H "Authorization: Bearer $TOOLROUTER_API_KEY" \
  -d '{
  "tool": "appstore-aso",
  "skill": "keyword_recommendations",
  "input": {
    "seed_keyword": "fitness",
    "app_id": "1611434405",
    "country": "us"
  }
}' \
  https://api.toolrouter.com/v1/tools/call
Audit Metadata

Audit all app metadata across locales via App Store Connect. Checks for missing or underutilized fields and generates warnings. Identifies empty keywords, keywords under 80 chars, missing subtitles, and titles over 30 chars. Requires ASC API credentials.

Returns: Metadata audit with per-locale warnings for empty keywords, short keywords, missing subtitles, and long titles
Parameters
app_id *stringYour iOS App Store ID (numeric, e.g. "1611434405")
Example
Audit metadata for an iOS app
curl -H "Authorization: Bearer $TOOLROUTER_API_KEY" \
  -d '{
  "tool": "appstore-aso",
  "skill": "audit_metadata",
  "input": {
    "app_id": "1611434405"
  }
}' \
  https://api.toolrouter.com/v1/tools/call
Export Metadata

Full JSON export of all app metadata from App Store Connect. Exports app info, current version, all app info localizations (title, subtitle), and all version localizations (keywords, description, whats new, promotional text). Use for backups before making changes.

Returns: Complete metadata export including app info, version, and all localizations
Parameters
app_id *stringYour iOS App Store ID (numeric, e.g. "1611434405")
Example
Export all metadata for an iOS app
curl -H "Authorization: Bearer $TOOLROUTER_API_KEY" \
  -d '{
  "tool": "appstore-aso",
  "skill": "export_metadata",
  "input": {
    "app_id": "1611434405"
  }
}' \
  https://api.toolrouter.com/v1/tools/call
Update Metadata

Update app metadata for a specific locale via App Store Connect. Supports title, subtitle, keywords, description, What's New, and promotional text. Defaults to dry-run mode (preview changes without applying). Set dry_run to false to apply changes.

Returns: List of metadata changes with old and new values, applied or previewed in dry-run mode
Parameters
app_id *stringYour iOS App Store ID (numeric)
locale *stringLocale to update (e.g. "en-US", "de-DE", "ja")
titlestringNew app title (max 30 chars)
subtitlestringNew app subtitle (max 30 chars)
keywordsstringNew keywords string (max 100 chars, comma-separated)
descriptionstringNew app description
whats_newstringNew What's New text for the current version
promotional_textstringNew promotional text (can be updated without a new version)
dry_runbooleanPreview changes without applying (default: true)
Example
Preview keyword update for en-US locale
curl -H "Authorization: Bearer $TOOLROUTER_API_KEY" \
  -d '{
  "tool": "appstore-aso",
  "skill": "update_metadata",
  "input": {
    "app_id": "1611434405",
    "locale": "en-US",
    "keywords": "countdown,timer,widget,clock,event",
    "dry_run": true
  }
}' \
  https://api.toolrouter.com/v1/tools/call
Push Keywords

Push a keyword optimization strategy to multiple locales at once. Diffs your strategy JSON against live App Store data and applies changes. Strategy is an object mapping locale codes to title/subtitle/keywords. Defaults to dry-run mode.

Returns: Diff of all changes with action types (create/update/unchanged) and summary counts
Parameters
app_id *stringYour iOS App Store ID (numeric)
strategy *objectLocalizations map: { [locale]: { title?, subtitle?, keywords? } }. Each locale key maps to the fields to set.
dry_runbooleanPreview changes without applying (default: true)
Example
Push keyword strategy for US and DE locales
curl -H "Authorization: Bearer $TOOLROUTER_API_KEY" \
  -d '{
  "tool": "appstore-aso",
  "skill": "push_keywords",
  "input": {
    "app_id": "1611434405",
    "strategy": {
      "en-US": {
        "title": "Countdown Widget",
        "subtitle": "Days until your event",
        "keywords": "countdown,timer,widget,clock,event"
      },
      "de-DE": {
        "title": "Countdown Widget",
        "subtitle": "Tage bis zum Event",
        "keywords": "countdown,timer,widget,uhr,ereignis"
      }
    },
    "dry_run": true
  }
}' \
  https://api.toolrouter.com/v1/tools/call
List Reviews

Fetch recent iOS App Store reviews for an app. Returns review text, rating, user name, date, version, and vote count. Supports sorting by most recent or most helpful.

Returns: List of app reviews with rating, title, text, user, date, version, and vote count
Parameters
app_id *stringiOS App Store ID (numeric). Falls back to saved ios_app_id credential.
countrystringCountry code to fetch reviews from
numnumberNumber of reviews to return (max 50)
sortstringSort order: most recent or most helpful
Example
Get recent reviews for an app
curl -H "Authorization: Bearer $TOOLROUTER_API_KEY" \
  -d '{
  "tool": "appstore-aso",
  "skill": "list_reviews",
  "input": {
    "app_id": "1611434405",
    "country": "us",
    "num": 20,
    "sort": "recent"
  }
}' \
  https://api.toolrouter.com/v1/tools/call
List Events

List all in-app events for an iOS app via App Store Connect. Returns event details including reference name, badge, priority, purpose, territory schedules, and all localizations. Requires ASC API credentials.

Returns: All in-app events with their localizations, territory schedules, and state information
Parameters
app_id *stringYour iOS App Store ID (numeric)
Example
List all in-app events
curl -H "Authorization: Bearer $TOOLROUTER_API_KEY" \
  -d '{
  "tool": "appstore-aso",
  "skill": "list_events",
  "input": {
    "app_id": "1611434405"
  }
}' \
  https://api.toolrouter.com/v1/tools/call
Create Event

Create a new in-app event with localizations and territory scheduling via App Store Connect. Supports all badge types (LIVE_EVENT, PREMIERE, CHALLENGE, COMPETITION, NEW_SEASON, MAJOR_UPDATE, SPECIAL_EVENT). Events are created in DRAFT state.

Returns: Created event ID, reference name, and count of localizations created
Parameters
app_id *stringYour iOS App Store ID (numeric)
reference_name *stringInternal reference name (max 64 chars)
badge *stringEvent badge type displayed on the App Store
deep_linkstringDeep link URL to open in the app
prioritystringEvent priority level
purposestringTarget audience purpose
territory_schedulesarrayTerritory scheduling for the event
localizations *arrayLocalizations for the event (at least one required)
Example
Create a new seasonal event
curl -H "Authorization: Bearer $TOOLROUTER_API_KEY" \
  -d '{
  "tool": "appstore-aso",
  "skill": "create_event",
  "input": {
    "app_id": "1611434405",
    "reference_name": "Summer Sale 2026",
    "badge": "SPECIAL_EVENT",
    "priority": "HIGH",
    "purpose": "ATTRACT_NEW_USERS",
    "localizations": [
      {
        "locale": "en-US",
        "name": "Summer Sale",
        "short_description": "Huge savings this summer!",
        "long_description": "Get up to 50% off all premium features during our annual summer sale event."
      }
    ]
  }
}' \
  https://api.toolrouter.com/v1/tools/call
Update Event

Update an existing in-app event's attributes or localizations via App Store Connect. Can update reference name, badge, deep link, priority, purpose, territory schedules, and localizations. Localizations with an ID are patched; without an ID they are created.

Returns: Event ID and list of all updates applied (attributes and localizations)
Parameters
event_id *stringThe event ID to update
reference_namestringNew reference name
badgestringNew badge type
deep_linkstringNew deep link URL
prioritystringNew priority level
purposestringNew target audience purpose
territory_schedulesarrayNew territory scheduling
localizationsarrayLocalizations to update or create. Include id to patch existing, omit id to create new.
Example
Update event badge and add a localization
curl -H "Authorization: Bearer $TOOLROUTER_API_KEY" \
  -d '{
  "tool": "appstore-aso",
  "skill": "update_event",
  "input": {
    "event_id": "evt-123",
    "badge": "MAJOR_UPDATE",
    "localizations": [
      {
        "locale": "de-DE",
        "name": "Sommer-Angebot",
        "short_description": "Tolle Angebote!",
        "long_description": "Erhalte bis zu 50% Rabatt auf alle Premium-Funktionen."
      }
    ]
  }
}' \
  https://api.toolrouter.com/v1/tools/call
Delete Event

Delete a draft in-app event from App Store Connect. Only events in DRAFT state can be deleted. Published or approved events cannot be deleted via this endpoint.

Returns: Confirmation of event deletion with event ID
Parameters
event_id *stringThe event ID to delete (must be in DRAFT state)
Example
Delete a draft event
curl -H "Authorization: Bearer $TOOLROUTER_API_KEY" \
  -d '{
  "tool": "appstore-aso",
  "skill": "delete_event",
  "input": {
    "event_id": "evt-123"
  }
}' \
  https://api.toolrouter.com/v1/tools/call
Loading reviews...
Loading activity...
v0.022026-03-22
  • Added subtitle, expanded description, and agent instructions
v0.012026-03-20
  • Initial release

Quick Start

MCP (Claude Code)
claude mcp add --transport stdio \
  --env TOOLROUTER_API_KEY=YOUR_API_KEY \
  toolrouter -- npx -y toolrouter-mcp
REST API
curl -H "Authorization: Bearer $TOOLROUTER_API_KEY" \
  -d '{"tool":"appstore-aso","skill":"analyze_keywords","input":{}}' \
  https://api.toolrouter.com/v1/tools/call

Use Cases

Open Research Competitor Keywords

Research Competitor Keywords

Discover which keywords your competitors rank for and find gaps to exploit in your App Store optimization.

App Store ASO icon
App Store ASO
4 agent guides
Open Search Papers by Topic

Search Papers by Topic

Find relevant academic papers on any research topic across millions of scholarly publications.

Academic Research icon
Academic Research
4 agent guides
Open Research Competitor Ad Creatives

Research Competitor Ad Creatives

Research what ads your competitors are running across Facebook and Google to understand their messaging and creative strategy.

Ad Library Search icon
Ad Library Search
4 agent guides
View all use cases for App Store ASO

Workflows

Open App Store Domination

App Store Domination

Dominate both app stores with keyword optimization, listing audits, review analysis, and cross-channel keyword strategy.

App Store ASO icon
App Store ASO
Play Store ASO icon
Play Store ASO
App Review Analysis icon
App Review Analysis
Keyword Research icon
Keyword Research
4 steps4 tools
Open ASO Screenshot Pipeline

ASO Screenshot Pipeline

Optimize app store screenshots with metadata auditing, multi-language localization, and visual restyling for maximum conversion.

App Store ASO icon
App Store ASO
Localize App Store Screenshots icon
Localize App Store Screenshots
Restyle App Store Screenshots icon
Restyle App Store Screenshots
3 steps3 tools

Frequently Asked Questions

Can it help me improve rankings or just analyze them?

It does both. The tool covers keyword difficulty, competitor ranking checks, and metadata updates, so you can move from research to changes in the same workflow.

What do I need connected before I can use it?

You need your iOS app bundle ID plus App Store Connect credentials. If you want keyword popularity data, the Apple Ads session cookie is also used.

Does it cover reviews and in-app events?

Yes. The manifest includes review monitoring and in-app event management alongside ASO research and metadata work.

Is this only for the iOS App Store?

Yes. It is built for App Store optimization on iOS, not for Google Play listings.