Get a top chart (free, paid, grossing) for a store, country and category, today or on a past date.

GEThttps://api.appgoat.ai/v1/charts
1 creditMCP tool get_chartsoperationId getChart

Entries carry delta (positions gained since the previous changed capture; negative = dropped) and is_new; dropped lists apps that fell out. Charts are captured daily for every country × category.

Request

curl "https://api.appgoat.ai/v1/charts?store=apple&country=us&chart=free&category=6014" \
  -H "x-api-key: $APPGOAT_API_KEY"

Query parameters

store"apple" | "play"

Default "apple"

countrystring

Default "us"

chart"free" | "paid" | "grossing"

Default "free"

categorystring
App Store genre id (36 or all = all apps, 6014 = games, …) or Play category (GAME_PUZZLE; APPLICATION = all apps).
datestring
The chart as of this date (ISO). Default the latest capture.
limitinteger

Default 100

Response

200 with data: Chart. See the envelope for meta.

storeStore
countrystring
chart"free" | "paid" | "grossing"
categorystring
datestring
previous_datestring | null
entriesAppCard[]
droppedAppCard[]
Example
{
  "data": {
    "store": "apple",
    "country": "us",
    "chart": "free",
    "category": "string",
    "date": "2026-10-22",
    "previous_date": "2026-10-22",
    "entries": [
      {
        "store": "apple",
        "app_id": "324684580",
        "title": "Spotify: Music and Podcasts",
        "developer_name": "string",
        "icon_url": "string",
        "category": "string",
        "rating": 4.5,
        "ratings_count": 1,
        "installs_min": 1,
        "price": 4.5,
        "rank": 1,
        "delta": 1,
        "is_new": false
      }
    ],
    "dropped": [
      {
        "store": "apple",
        "app_id": "324684580",
        "title": "Spotify: Music and Podcasts",
        "developer_name": "string",
        "icon_url": "string",
        "category": "string",
        "rating": 4.5,
        "ratings_count": 1,
        "installs_min": 1,
        "price": 4.5
      }
    ]
  },
  "meta": {
    "credits_used": 1,
    "credits_remaining": 9981,
    "request_id": "req_123"
  }
}

Status codes

200
The chart.
A parameter is missing or invalid (error.param names it).
Missing or invalid API key.
insufficient_credits (the call costs more than you have left; nothing was done) or plan_limit (a feature of a higher plan).
Not found.
Too many requests per second for your plan.