> ## Documentation Index
> Fetch the complete documentation index at: https://docs.appeeky.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Market Movers

> Top gainers, losers, new entries, and exits from App Store charts

Identifies apps with the biggest rank changes between chart snapshots. Compares the latest snapshot with the previous one to surface top gainers, top losers, new entries, and apps that dropped out.

```
GET /v1/market/movers?country=us&chart=top-free&genre=all&limit=10
```

## Query Parameters

| Parameter | Type   | Default    | Description                                        |
| --------- | ------ | ---------- | -------------------------------------------------- |
| `country` | string | `us`       | ISO country code                                   |
| `chart`   | string | `top-free` | Chart type: `top-free`, `top-paid`, `top-grossing` |
| `genre`   | string | `all`      | Genre ID (e.g. `6014` for Games) or `all`          |
| `limit`   | number | `10`       | Max results per section (1-25)                     |

## Response

```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
{
  "ok": true,
  "data": {
    "chartType": "top-free",
    "country": "us",
    "genreId": "all",
    "period": {
      "current": "2026-02-24",
      "previous": "2026-02-23"
    },
    "topGainers": [
      {
        "appId": "123456789",
        "appName": "Rising App",
        "developer": "Developer Inc",
        "iconUrl": "https://...",
        "genreId": "6014",
        "genreName": "Games",
        "currentRank": 12,
        "previousRank": 67,
        "rankChange": 55,
        "rating": 4.7,
        "reviewCount": 12500
      }
    ],
    "topLosers": [
      {
        "appId": "987654321",
        "appName": "Declining App",
        "developer": "Other Dev",
        "iconUrl": "https://...",
        "genreId": "6016",
        "genreName": "Entertainment",
        "currentRank": 89,
        "previousRank": 15,
        "rankChange": -74,
        "rating": 3.2,
        "reviewCount": 8000
      }
    ],
    "newEntries": [
      {
        "appId": "111222333",
        "appName": "Brand New App",
        "developer": "New Dev",
        "iconUrl": "https://...",
        "genreId": "6007",
        "genreName": "Productivity",
        "currentRank": 5,
        "previousRank": null,
        "rankChange": 96,
        "rating": 4.9,
        "reviewCount": 500
      }
    ],
    "droppedOut": [
      {
        "appId": "444555666",
        "appName": "Gone App",
        "developer": "Former Dev",
        "iconUrl": "https://...",
        "genreId": "6005",
        "genreName": "Social Networking",
        "currentRank": 0,
        "previousRank": 95,
        "rankChange": -6,
        "rating": 2.8,
        "reviewCount": 3000
      }
    ]
  }
}
```

## Rank Change Interpretation

| `rankChange`         | Meaning                                                |
| -------------------- | ------------------------------------------------------ |
| Positive             | App moved UP (e.g. +55 means went from rank 67 → 12)   |
| Negative             | App moved DOWN (e.g. -74 means went from rank 15 → 89) |
| `previousRank: null` | New entry to chart                                     |
| `currentRank: 0`     | Dropped out of top 100                                 |

## Credit Cost

3 credits per request.

## How It Works

Chart snapshots are taken every 6 hours (00:00, 06:00, 12:00, 18:00 UTC). This endpoint compares the two most recent snapshots to calculate rank changes.

Data availability depends on snapshot history — at least two snapshots on different dates are needed to show results.

## Use Cases

* **Competitive monitoring**: Track when competitors surge or fall in the charts
* **Breakout detection**: Spot apps entering the top 100 for the first time
* **Category trends**: Filter by genre to monitor specific verticals
* **Market research**: Understand overall chart volatility and seasonality
