API reference
App Store + Google Play data for agents and apps. Base URL https://api.appgoat.ai/v1, key in the x-api-key header. Version 1.0.0.
This reference is generated from the OpenAPI 3.1 document, the same one the MCP server and SDKs are built from. Fetch it at https://api.appgoat.ai/v1/openapi.json (no key needed) or use the copy this page was built from, /docs/openapi.json. New to the API? Start with the quickstart and the concepts.
curl "https://api.appgoat.ai/v1/me" -H "x-api-key: $APPGOAT_API_KEY"Apps
- GET
/apps/{app}Get everything about one app (metadata, ratings, price, markets, linked app in the other store).1+ credits - GET
/apps/{app}/reviewsList an app's user reviews, newest first, with filters (rating, version, date, text).1+ credits - GET
/apps/{app}/historyGet an app's daily metric history (rating, ratings count, installs, star histogram, price).1+ credits - GET
/apps/{app}/changesList what changed in an app's store listing (version, title, subtitle, screenshots, price, IAP, …).1+ credits - GET
/apps/{app}/keywordsList the search keywords an app ranks for, best rank first, with popularity and difficulty.1 credit - GET
/apps/{app}/competitorsFind an app's competitors (store "similar apps" plus apps ranking for the same keywords).1 credit - GET
/apps/{app}/insightsReview intelligence for an app - top issues with trends and samples, topics per version, weekly sentiment.25 credits
Search & charts
Keywords
- GET
/keywordsGet keyword metrics (popularity, difficulty) for up to 25 terms; with include=related, keyword research.1+ credits - GET
/tracked-keywordsList your tracked keywords with their latest top 10.Free - POST
/tracked-keywordsStart tracking search ranks for keywords (daily re-rank; idempotent).Free - GET
/tracked-keywords/{id}Get one tracked keyword and its latest top 10.Free - PATCH
/tracked-keywords/{id}Change a tracked keyword's depth, cadence or tags.Free - DELETE
/tracked-keywords/{id}Stop tracking a keyword (frees its slot).Free - GET
/tracked-keywords/{id}/ranksGet a tracked keyword's ranking history (or one app's rank over time with app=).1 credit - POST
/tracked-keywords/{id}/runRe-rank a tracked keyword now instead of waiting for the next scheduled run (paid plans).1+ credits
Developers
Audits
- POST
/apps/{app}/auditRun an App Audit - prioritised ASO actions, metadata rewrites and findings with evidence (first one free).100+ credits - GET
/auditsList your organization's App Audits, newest first, with status and score (free).Free - GET
/audits/{id}Get one App Audit by id - poll this after POST /v1/apps/{app}/audit answered 202 (free).Free - PATCH
/audits/{id}White-label an App Audit report with your branding (Studio) or switch it back, and set its label (free).Free
Watches & events
- GET
/watchesList your watches (apps, competitor sets, keyword sets) with usage against your plan's limits.Free - POST
/watchesWatch an app, a set of competitors or a set of keywords and get events when something significant changes.Free - GET
/watches/{id}Get one watch with its apps, keyword slots, thresholds and event types.Free - PATCH
/watches/{id}Change a watch (apps, competitors, terms, countries, event types, thresholds) or pause it with active=false.Free - DELETE
/watches/{id}Stop watching (frees its apps and keyword slots; past events are kept).Free - GET
/eventsList significant changes on your watched apps and keywords, newest first (free; poll this to wake an agent).Free
Webhooks
- GET
/webhooksList your event endpoints (signed webhooks, Slack incoming webhooks, GitHub repository_dispatch).Free - POST
/webhooksSend events to a URL, a Slack channel or a GitHub repository (repository_dispatch) as they happen (paid plans).Free - GET
/webhooks/{id}Get one event endpoint with its delivery health (failure count, last success / failure).Free - PATCH
/webhooks/{id}Change an endpoint's URL, event types or description, re-enable it, or rotate its signing secret.Free - DELETE
/webhooks/{id}Delete an event endpoint and its delivery log.Free - POST
/webhooks/{id}/testSend atestevent to an endpoint now and see what it answered (status, body, latency).Free - GET
/webhooks/{id}/deliveriesList an endpoint's delivery log (every attempt's status, response and next retry), newest first.Free
Connections
- GET
/connectionsList the connected App Store Connect, Play Console and Apple Ads accounts (ids, linked apps, status; never secrets).Free - POST
/connectionsConnect an App Store Connect, Play Console or Apple Ads account (credentials are verified, then stored encrypted).Free - GET
/connections/{id}Get one connection (status, linked apps, non-secret account identifiers).Free - PATCH
/connections/{id}Rename a connection, switch it between read_only and actions, or change which apps it links.Free - DELETE
/connections/{id}Disconnect an account; its credentials are erased and open (draft / pending) actions are rejected.Free - POST
/connections/{id}/verifyRe-check a connection's credentials with the provider (after fixing a role or key); lists every app it can access.Free - GET
/connections/{id}/reviewsRead your own app's reviews from App Store Connect / Play Console with reply status; their ids feed review.reply.1 credit - GET
/connections/{id}/listingsRead your app's current listing text for one locale and which fields can be edited right now.1 credit - GET
/connections/{id}/adsRead Apple Ads campaigns, ad groups, keywords (with bids), negatives, or a performance report.1 credit
Actions
- GET
/actionsList proposed and applied actions (drafts, pending approval, applied, failed, rejected), newest first.Free - POST
/actionsPropose a write to a connected account (reply to a review, update a listing, set keywords, upload screenshots, change Apple Ads bids / keywords / negatives); always start with dry_run=true.0+ credits - GET
/actions/{id}Get one action with its diff, guardrail scores, status, result or error, and audit trail.Free - POST
/actions/{id}/approveGo ahead with a draft or pending action; applies it when a person approves (or a rule allows), else submits it for approval.1+ credits - POST
/actions/{id}/rejectDiscard a draft or pending action (nothing is written to the account).Free