API reference
Every endpoint, with its inputs and what it costs. The same list is the MCP server’s tools, and openapi.json.
Your account
Your balance and what each run costs. Free.
GET/api/v1/meFree · tool get_balanceYour balance. Your plan, the credits left this period (plan credits plus coupon credits), when they renew, your API limits, and what each run costs right now.
Example answer
{
"plan": {
"key": "pro",
"name": "Pro"
},
"credits": {
"total": 4500,
"used": 310,
"left": 4190,
"wallet": 0,
"resetsAt": "2026-11-01T00:00:00.000Z",
"counted": true
},
"limits": {
"perMinute": 180,
"keys": 20,
"running": 5
},
"prices": [
{
"endpoint": "reports.create",
"credits": 10
},
{
"endpoint": "creators.create",
"credits": 250
}
]
}Apps
Find an app by name or store link, and read its listing and revenue estimate. Free.
GET/api/v1/apps/searchFree · tool search_appsFind an app. Search the App Store and Google Play by name, or paste a store link or bundle id to get that exact app.
| Input | Type | About |
|---|---|---|
q | string | An app name, an App Store or Google Play link, or a bundle id. 1–300 characters |
store (optional) | "apple" | "play" | "both" | Which store to search. default "both" |
country (optional) | string | Two-letter storefront code, e.g. us, gb, de. default "us" |
Example answer
{
"results": [
{
"store": "apple",
"appId": "1234567890",
"title": "Example Meditation",
"developer": "Example Labs Ltd",
"icon": "https://is1-ssl.mzstatic.com/image/thumb/example/512x512bb.jpg",
"score": 4.7,
"ratingsTotal": 182340,
"genre": "Health & Fitness",
"free": true
}
],
"resolved": "search",
"errors": []
}GET/api/v1/apps/{store}/{appId}Free · tool get_appAn app’s listing. The store listing as the store publishes it: title, developer, rating, ratings count, price, genre, description, version and release dates.
| Input | Type | About |
|---|---|---|
store | "apple" | "play" | apple (App Store) or play (Google Play). |
appId | string | The store id: digits for the App Store (e.g. 1234567890), the bundle id for Google Play (e.g. com.example.app). 1–200 characters |
country (optional) | string | Two-letter storefront code, e.g. us, gb, de. default "us" |
Example answer
{
"app": {
"store": "apple",
"appId": "1234567890",
"title": "Example Meditation",
"developer": "Example Labs Ltd",
"icon": "https://is1-ssl.mzstatic.com/image/thumb/example/512x512bb.jpg",
"score": 4.7,
"ratingsTotal": 182340,
"genre": "Health & Fitness",
"free": true,
"description": "Guided meditations and sleep stories…",
"version": "6.2.0",
"released": "2019-03-01T00:00:00Z",
"updated": "2026-10-10T00:00:00Z"
}
}GET/api/v1/apps/{store}/{appId}/revenueFree · tool get_revenue_estimateRevenue estimate. Appleak’s estimate of an App Store app’s monthly revenue, as a range with its confidence and the signals behind it. App Store apps only.
| Input | Type | About |
|---|---|---|
store | "apple" | "play" | apple (App Store) or play (Google Play). |
appId | string | The store id: digits for the App Store (e.g. 1234567890), the bundle id for Google Play (e.g. com.example.app). 1–200 characters |
country (optional) | string | Two-letter storefront code, e.g. us, gb, de. default "us" |
downloads (optional) | integer | Monthly downloads, if you know them better than we do. |
Example answer
{
"estimate": {
"monthly": {
"low": 410000,
"mid": 620000,
"high": 900000
},
"mrr": {
"low": 380000,
"mid": 570000,
"high": 830000
},
"monetisation": "subscription",
"confidence": {
"label": "medium",
"reason": "signals agree within 1.9x"
},
"computedAt": "2026-10-19T12:00:00.000Z"
}
}Market
Top charts, new releases and the UGC video library. Free.
GET/api/v1/chartsFree · tool top_chartsTop charts. The stores’ top free charts, read live (held for 30 minutes): rank, title, developer, rating and genre. Narrow by store, country and genre.
| Input | Type | About |
|---|---|---|
store (optional) | "apple" | "play" | "both" | default "both" |
country (optional) | string | Two-letter storefront code, e.g. us, gb, de. default "us" |
limit (optional) | integer | How many places, 10–100. 10–100, default 50 |
appleGenre (optional) | string | An App Store genre id, e.g. 6013 for Health & Fitness. 0–10 characters |
playCategory (optional) | string | A Google Play category, e.g. HEALTH_AND_FITNESS. 0–40 characters |
Example answer
{
"country": "us",
"apps": [
{
"store": "apple",
"appId": "1234567890",
"title": "Example Meditation",
"developer": "Example Labs Ltd",
"icon": "https://is1-ssl.mzstatic.com/image/thumb/example/512x512bb.jpg",
"score": 4.7,
"ratingsTotal": 182340,
"genre": "Health & Fitness",
"free": true,
"rank": 1
}
],
"errors": []
}GET/api/v1/new-releases/categoriesFree · tool list_release_categoriesNew-release categories. The categories and storefronts New Releases can be asked about.
Example answer
{
"categories": [
{
"id": "fitness",
"name": "Fitness"
}
],
"countries": [
{
"code": "global",
"name": "Global"
},
{
"code": "us",
"name": "United States"
}
]
}GET/api/v1/new-releasesFree · tool new_releasesNew releases. Apps released on the App Store in the last 30 days in one category, best placed first, with their chart positions and ratings. `global` merges the US, UK, Japan and Germany.
| Input | Type | About |
|---|---|---|
category | string | A category id from /new-releases/categories, e.g. fitness. 1–60 characters |
country (optional) | string | A storefront code, or global. 2–6 characters, default "us" |
Example answer
{
"query": {
"categoryId": "fitness",
"countryCode": "us"
},
"last30Days": [
{
"id": "1234567890",
"name": "Example Run Club",
"developer": "Example Labs Ltd",
"releasedAt": "2026-10-02T00:00:00Z",
"rating": 4.8,
"ratingsCount": 212,
"best": {
"chart": "free",
"rank": 41
}
}
]
}GET/api/v1/videosFree · tool search_video_libraryUGC video library. Search the creator videos Appleak has matched to apps (TikTok, Instagram, YouTube Shorts): by app, kind of app or phrase.
| Input | Type | About |
|---|---|---|
q | string | An app, a kind of app, or a phrase. 2–120 characters |
limit (optional) | integer | 1–60, default 30 |
Example answer
{
"intent": {
"kind": "category",
"label": "Videos promoting fitness & gym apps"
},
"videos": [
{
"url": "https://www.tiktok.com/@example/video/1",
"platform": "tiktok",
"creator": "@example",
"views": 120400,
"app": "Example Run Club"
}
]
}Runs
The research Appleak does for you: reports, teardowns and searches. Each costs the same credits as in the app, and runs as a job.
POST/api/v1/reports1 credit · tool start_category_reportCategory report. Ask a question about a kind of app ("what do users hate about calorie trackers") and Appleak reads the charting apps’ reviews, ranks what users want and complain about, and writes the answer. Takes 10–45 minutes; the job’s result is the whole report.
| Input | Type | About |
|---|---|---|
question | string | The question, about a kind of app. 3–400 characters |
scope (optional) | "both" | "apple" | "play" | Which stores to read. default "both" |
country (optional) | string | Two-letter storefront code, e.g. us, gb, de. default "us" |
days (optional) | integer | How many days of reviews to read. The default is the report’s own. 7–365 |
force (optional) | boolean | Start a new run even when the same one is already queued or running for you. |
Example answer (202, the job)
{
"id": "6f1c2b9e-1d0a-4c55-9a51-2b7f0c3e8d41",
"object": "job",
"kind": "report",
"status": "queued",
"credits": 10,
"refunded": false,
"progress": null,
"createdAt": "2026-10-19T12:00:00.000Z",
"startedAt": null,
"finishedAt": null,
"error": null,
"result": null,
"links": {
"self": "/api/v1/jobs/6f1c2b9e-1d0a-4c55-9a51-2b7f0c3e8d41"
}
}POST/api/v1/research1 credit · tool start_researchResearch. Ask about one app (and up to two more to compare): its reviews, revenue, ads and social reach, read and answered in about a minute. With no app, a growth question ("organic, UGC or ads first?") is answered from the playbook, Ad Search, UGC videos and Influencer Search.
| Input | Type | About |
|---|---|---|
question | string | 3–600 characters |
app (optional) | object | The app the question is about. Leave out for a growth question with no app. |
compare (optional) | object[] | Up to two more apps, compared with the first. |
force (optional) | boolean | Start a new run even when the same one is already queued or running for you. |
Example answer (202, the job)
{
"id": "6f1c2b9e-1d0a-4c55-9a51-2b7f0c3e8d41",
"object": "job",
"kind": "research",
"status": "queued",
"credits": 1,
"refunded": false,
"progress": null,
"createdAt": "2026-10-19T12:00:00.000Z",
"startedAt": null,
"finishedAt": null,
"error": null,
"result": null,
"links": {
"self": "/api/v1/jobs/6f1c2b9e-1d0a-4c55-9a51-2b7f0c3e8d41"
}
}POST/api/v1/teardowns1 credit · tool start_teardownApp teardown. The full read of one app: its reviews over a window read by a model (complaints, praise, requests, each with the fix it implies), ratings, versions and chart history. A teardown read in the last six hours is answered from it and costs nothing.
| Input | Type | About |
|---|---|---|
store | "apple" | "play" | apple (App Store) or play (Google Play). |
appId | string | The store id: digits for the App Store (e.g. 1234567890), the bundle id for Google Play (e.g. com.example.app). 1–200 characters |
days (optional) | 7 | 30 | 90 | 3650 | The window: 7, 30 or 90 days, or 3650 for all time. default 30 |
refresh (optional) | boolean | Read afresh even if a read from the last six hours is held. Costs the credits. |
force (optional) | boolean | Start a new run even when the same one is already queued or running for you. |
Example answer (202, the job)
{
"id": "6f1c2b9e-1d0a-4c55-9a51-2b7f0c3e8d41",
"object": "job",
"kind": "teardown",
"status": "queued",
"credits": 25,
"refunded": false,
"progress": null,
"createdAt": "2026-10-19T12:00:00.000Z",
"startedAt": null,
"finishedAt": null,
"error": null,
"result": null,
"links": {
"self": "/api/v1/jobs/6f1c2b9e-1d0a-4c55-9a51-2b7f0c3e8d41"
}
}POST/api/v1/ad-search1 credit · Find more 10 · tool start_ad_searchAd Search. The ads running for a kind of app or a named app, from the Google, Apple, Meta and TikTok ad libraries, vetted so only real app ads are kept, with hooks and a summary. A search run in the last day is answered from it and costs nothing.
| Input | Type | About |
|---|---|---|
query | string | A kind of app ("budgeting apps") or an app’s name. 2–300 characters |
networks (optional) | "google" | "apple" | "meta" | "tiktok"[] | Which ad libraries to read. Leave out for Google and Apple. |
more (optional) | boolean | Find more: one page further in each library, for a query searched before. |
force (optional) | boolean | Start a new run even when the same one is already queued or running for you. |
Example answer (202, the job)
{
"id": "6f1c2b9e-1d0a-4c55-9a51-2b7f0c3e8d41",
"object": "job",
"kind": "ad_search",
"status": "queued",
"credits": 20,
"refunded": false,
"progress": null,
"createdAt": "2026-10-19T12:00:00.000Z",
"startedAt": null,
"finishedAt": null,
"error": null,
"result": null,
"links": {
"self": "/api/v1/jobs/6f1c2b9e-1d0a-4c55-9a51-2b7f0c3e8d41"
}
}POST/api/v1/creators1 credit · Find more 100 · tool start_creator_searchInfluencer Search. Creators on TikTok, Instagram and YouTube who post about a kind of app, each vetted by a model against their own posts, with reach and contact routes. A search run in the last day is answered from it and costs nothing.
| Input | Type | About |
|---|---|---|
query | string | What the creators should post about ("fitness creators", "budgeting apps"). 2–300 characters |
platforms (optional) | "tiktok" | "instagram" | "youtube"[] | |
more (optional) | string | Find more: the id of an earlier creators job of yours, to vet the creators it found and did not reach. |
force (optional) | boolean | Start a new run even when the same one is already queued or running for you. |
Example answer (202, the job)
{
"id": "6f1c2b9e-1d0a-4c55-9a51-2b7f0c3e8d41",
"object": "job",
"kind": "creators",
"status": "queued",
"credits": 250,
"refunded": false,
"progress": null,
"createdAt": "2026-10-19T12:00:00.000Z",
"startedAt": null,
"finishedAt": null,
"error": null,
"result": null,
"links": {
"self": "/api/v1/jobs/6f1c2b9e-1d0a-4c55-9a51-2b7f0c3e8d41"
}
}POST/api/v1/videos/search1 credit · tool start_video_searchUGC video search. Ask TikTok, Instagram, YouTube Shorts and Facebook now for creator videos about an app or a kind of app, beyond what the library has matched. A phrase searched in the last six hours is answered from it and costs nothing.
| Input | Type | About |
|---|---|---|
query | string | 2–120 characters |
platforms (optional) | "tiktok" | "instagram" | "youtube" | "facebook"[] | |
more (optional) | boolean | The next page of each platform, for a phrase searched before. |
force (optional) | boolean | Start a new run even when the same one is already queued or running for you. |
Example answer (202, the job)
{
"id": "6f1c2b9e-1d0a-4c55-9a51-2b7f0c3e8d41",
"object": "job",
"kind": "videos",
"status": "queued",
"credits": 4,
"refunded": false,
"progress": null,
"createdAt": "2026-10-19T12:00:00.000Z",
"startedAt": null,
"finishedAt": null,
"error": null,
"result": null,
"links": {
"self": "/api/v1/jobs/6f1c2b9e-1d0a-4c55-9a51-2b7f0c3e8d41"
}
}Jobs
Follow a run, read its result, cancel one that has not started. Free.
GET/api/v1/jobs/{id}Free · tool get_jobA job. A run’s status and, once it is done, its result. Pass wait (up to 30 seconds) to be answered as soon as it finishes rather than at once.
| Input | Type | About |
|---|---|---|
id | string | |
wait (optional) | integer | Seconds to wait for the run to finish before answering. 0–30, default 0 |
Example answer
{
"id": "6f1c2b9e-1d0a-4c55-9a51-2b7f0c3e8d41",
"object": "job",
"kind": "report",
"status": "done",
"credits": 10,
"refunded": false,
"progress": null,
"createdAt": "2026-10-19T12:00:00.000Z",
"startedAt": null,
"finishedAt": null,
"error": null,
"result": {
"reportId": "b3c1e0aa-…",
"report": {
"spec": {
"question": "meditation apps"
},
"apps": []
}
},
"links": {
"self": "/api/v1/jobs/6f1c2b9e-1d0a-4c55-9a51-2b7f0c3e8d41"
}
}GET/api/v1/jobsFree · tool list_jobsYour jobs. Your runs, newest first, without their results.
| Input | Type | About |
|---|---|---|
kind (optional) | "report" | "research" | "teardown" | "ad_search" | "creators" | "videos" | |
status (optional) | "queued" | "running" | "done" | "failed" | "cancelled" | |
limit (optional) | integer | 1–100, default 20 |
Example answer
{
"jobs": [
{
"id": "6f1c2b9e-1d0a-4c55-9a51-2b7f0c3e8d41",
"object": "job",
"kind": "report",
"status": "running",
"credits": 10,
"refunded": false,
"progress": null,
"createdAt": "2026-10-19T12:00:00.000Z",
"startedAt": null,
"finishedAt": null,
"error": null,
"result": null,
"links": {
"self": "/api/v1/jobs/6f1c2b9e-1d0a-4c55-9a51-2b7f0c3e8d41"
}
}
]
}DELETE/api/v1/jobs/{id}Free · tool cancel_jobCancel a job. Cancel a run that is still waiting its turn; its credits come back. A run already going finishes.
| Input | Type | About |
|---|---|---|
id | string |
Example answer
{
"id": "6f1c2b9e-1d0a-4c55-9a51-2b7f0c3e8d41",
"object": "job",
"kind": "report",
"status": "cancelled",
"credits": 10,
"refunded": true,
"progress": null,
"createdAt": "2026-10-19T12:00:00.000Z",
"startedAt": null,
"finishedAt": null,
"error": null,
"result": null,
"links": {
"self": "/api/v1/jobs/6f1c2b9e-1d0a-4c55-9a51-2b7f0c3e8d41"
}
}