Operated by Sourcelane✓ verified
Track where your iOS app ranks in Apple App Store search for any keyword, with the top competing apps for every term. Run on a schedule for daily rank history.
A tool that tracks where an iOS app ranks in Apple App Store search for any keyword across storefronts and platforms, producing timestamped records that map keyword → search position and competitive context. It scans App Store search results to locate the tracked app within a configurable search depth, captures the tracked app’s full listing metadata (title, developer, rating and rating count, price, icon), records the top competing apps for each keyword with their positions and listing metadata, and reports total search results and the depth scanned—enabling automated daily rank histories, keyword-level snapshots, and competitor comparison data for App Store Optimization (ASO) workflows.
Verified Sep 28, 3:55 AM
$0.01
per keyword check
Up to 100 per call. Only pay for results returned; failed calls are refunded.
App Store Optimization (ASO)
Measure how keyword changes move your ranking over time
Keyword strategy
Find which terms you already rank for and which you don't
Competitor monitoring
See exactly which apps outrank you for your most valuable keywords
Release impact tracking
Schedule regular checks and watch how each update shifts your positions
Agency reporting
Pull client ranking snapshots for any country
Search terms to check your app's ranking for, one per line (e.g.
The Apple App Store numeric ID (e.g.
Two-letter ISO country code for the App Store storefront to search (e.g.
Optional settings
| Window | Uptime | Success rate | p50 | p95 | Calls |
|---|---|---|---|---|---|
| 24h | — | — | — | — | 0 |
| 7d | — | — | — | — | 0 |
| 30d | — | — | — | — | 0 |
Call it through Sourcelane's gateway or MCP server. We run the connector, apply your agent's spend guardrails, and bill only the results returned.
Call it via Sourcelane
curl -X POST https://api.usesourcelane.com/v1/call \
-H "Authorization: Bearer sl_live_your_agent_key" \
-H "Content-Type: application/json" \
-d '{"listing":"apple-app-store-keyword-rank-tracker","params":{"keywords":["meditation","sleep sounds"],"appId":"571800810"},"maxResults":10}'Request params
| Field | Type | Required | Description |
|---|---|---|---|
keywords | array | required | Search terms to check your app's ranking for, one per line (e.g. 'meditation', 'sleep sounds', 'breathing exercises'). |
appId | string | required | The Apple App Store numeric ID (e.g. 571800810) or bundle ID (e.g. com.calm.app) of the app whose ranking you want to track. |
country | string | optional | Two-letter ISO country code for the App Store storefront to search (e.g. 'us', 'gb', 'de'). |
entity | string | optional | Which App Store catalog to search for rankings. |
searchDepth | integer | optional | How many search results to scan when looking for your app. If your app ranks beyond this, rank is reported as not found. Max 200 (Apple's limit). |
topN | integer | optional | How many of the top-ranking apps to include for each keyword, so you can see who outranks you. |
Each result contains
| Field | Type | Description |
|---|---|---|
keyword | string | Keyword |
platform | string | Platform |
country | string | Country |
entity | string | Entity |
trackedAppId | string | Tracked App Id |
rank | integer | Rank |
found | boolean | Found |
totalResults | integer | Total Results |
searchDepth | integer | Search Depth |
checkedAt | string | Checked At |
trackedApp | object | — |
topResults | array | — |
Pick your tool and connect in under a minute. Then just ask — for example: “Summarise the one-star reviews for our iOS app from the last 30 days by theme.”
Connect Claude
Web, desktop and mobile. One click, then confirm.
Adds the Sourcelane MCP server with your key as a header.
claude mcp add --transport http sourcelane https://api.usesourcelane.com/mcp \
--header "Authorization: Bearer sl_live_your_agent_key"Alternative to the connector URL: add to claude_desktop_config.json, then restart Claude.
{
"mcpServers": {
"sourcelane": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://api.usesourcelane.com/mcp",
"--header",
"Authorization:${AUTH_HEADER}"
],
"env": {
"AUTH_HEADER": "Bearer sl_live_your_agent_key"
}
}
}
}Add to ~/.cursor/mcp.json (or Windsurf's mcp_config.json).
{
"mcpServers": {
"sourcelane": {
"url": "https://api.usesourcelane.com/mcp",
"headers": {
"Authorization": "Bearer sl_live_your_agent_key"
}
}
}
}Save as .vscode/mcp.json. VS Code prompts for your key once.
{
"servers": {
"sourcelane": {
"type": "http",
"url": "https://api.usesourcelane.com/mcp",
"headers": {
"Authorization": "Bearer ${input:sourcelane-key}"
}
}
},
"inputs": [
{
"type": "promptString",
"id": "sourcelane-key",
"description": "Sourcelane agent key",
"password": true
}
]
}Create a GPT → Actions → Import from URL, then Authentication: API Key, Bearer.
https://usesourcelane.com/openapi.jsonOne POST. Pass maxResults to cap cost.
curl -X POST https://api.usesourcelane.com/v1/call \
-H "Authorization: Bearer sl_live_your_agent_key" \
-H "Content-Type: application/json" \
-d '{"listing":"apple-app-store-keyword-rank-tracker","params":{"keywords":["meditation","sleep sounds"],"appId":"571800810"},"maxResults":10}'Wrap the REST call as a tool, or point an MCP client at the endpoint.
import requests
res = requests.post(
"https://api.usesourcelane.com/v1/call",
headers={"Authorization": "Bearer sl_live_your_agent_key"},
json={
"listing": "apple-app-store-keyword-rank-tracker",
"params": {"keywords":["meditation","sleep sounds"],"appId":"571800810"},
"maxResults": 10,
},
timeout=300,
)
body = res.json()
print(body["receipt"]["chargedMicros"], "micro-USD for", body["receipt"]["results"], "results")
print(body["data"])—
0 reviews
Leave a review
Loading reviews…