Appumi

API docs

Base URL https://api.appumi.sorakiton.com. All endpoints are GET and return JSON. CORS is open.

Authentication

No key needed. For higher limits, create a key on your account page and send it in the X-API-Key header.

curl -H "X-API-Key: YOUR_KEY" "https://api.appumi.sorakiton.com/api/apps?q=email&limit=3"

Keep keys server side.

Rate limits

  • Anonymous: 60 requests per minute per IP address
  • Free key: 120 requests per minute per key
  • Pro key: 600 requests per minute per key

The X-RateLimit-Limit header shows your limit. See pricing.

Errors

401
The X-API-Key header is invalid or the key is revoked.
{"error":"invalid or inactive api key"}
404
Unknown app handle.
{"error":"not found"}
429
Rate limit exceeded. Retry after the seconds in the Retry-After header.
{"error":"rate limit exceeded","retryAfter":60}
500
Server error. Retry later.
{"error":"failed to fetch stats"}

App fields

id, handle
The app's App Store handle (same value).
name
App name.
developer
Developer name, or null.
category
Primary category slug, or null.
pricingModel
free, freemium, free_to_install, free_trial, recurring, one_time, or null.
rating
Average star rating, or null.
reviewCount
Number of reviews, or null.
firstSeen
Date the app first appeared in Appumi (YYYY-MM-DD, UTC).
lastSeen
Date of the latest update (YYYY-MM-DD, UTC).

GET /api/stats

Totals for the whole dataset.

newToday and newThisWeek count apps added in that window. date is today in UTC.

curl "https://api.appumi.sorakiton.com/api/stats"
{
  "totalApps": 12345,
  "avgRating": 4.21,
  "newToday": 4,
  "newThisWeek": 37,
  "categories": 52,
  "topCategory": "store-design",
  "topCategoryCount": 1830,
  "date": "2026-10-31"
}

GET /api/apps

Search and list apps.

q
Substring match on the app name, up to 100 characters.
category
Exact category slug, as returned in the category field.
limit
1 to 200, default 50.
offset
0 to 10000, default 0.

total is the number of matches, ignoring limit and offset.

curl "https://api.appumi.sorakiton.com/api/apps?q=email&limit=1"
{
  "data": [
    {
      "id": "example-app",
      "handle": "example-app",
      "name": "Example App",
      "developer": "Example Developer",
      "category": "marketing-and-conversion",
      "pricingModel": "free_to_install",
      "rating": 4.8,
      "reviewCount": 1250,
      "firstSeen": "2026-09-12",
      "lastSeen": "2026-10-31"
    }
  ],
  "total": 1,
  "limit": 1,
  "offset": 0
}

GET /api/apps/:handle

One app by its App Store handle, with its latest snapshot.

The handle is the last part of the app's URL on apps.shopify.com. Unknown handles return 404.

curl "https://api.appumi.sorakiton.com/api/apps/example-app"
{
  "id": "example-app",
  "handle": "example-app",
  "name": "Example App",
  "developer": "Example Developer",
  "category": "marketing-and-conversion",
  "pricingModel": "free_to_install",
  "rating": 4.8,
  "reviewCount": 1250,
  "firstSeen": "2026-09-12",
  "lastSeen": "2026-10-31",
  "latestSnapshot": {
    "date": "2026-10-31",
    "rating": 4.8,
    "reviewCount": 1250
  }
}

GET /api/apps/:handle/history

Daily snapshots of rating and review count, newest first.

days
1 to 365, default 30.

At most one snapshot per app per day.

curl "https://api.appumi.sorakiton.com/api/apps/example-app/history?days=7"
{
  "handle": "example-app",
  "days": 7,
  "data": [
    {
      "date": "2026-10-31",
      "rating": 4.8,
      "reviewCount": 1250
    }
  ]
}

GET /api/movers

Apps whose review count changed the most over a window.

days
1 to 90, default 7.
limit
1 to 100, default 20.

Sorted by the absolute review count change. Fields in this response are snake_case.

curl "https://api.appumi.sorakiton.com/api/movers?days=7&limit=1"
{
  "days": 7,
  "data": [
    {
      "handle": "example-app",
      "name": "Example App",
      "developer": "Example Developer",
      "category": "marketing-and-conversion",
      "app_id": "example-app",
      "review_count_start": 1190,
      "review_count_end": 1250,
      "review_delta": 60,
      "rating_start": 4.8,
      "rating_end": 4.8,
      "rating_delta": 0
    }
  ]
}

GET /api/new

Apps added recently, newest first.

days
1 to 90, default 7.
limit
1 to 100, default 20.
curl "https://api.appumi.sorakiton.com/api/new?days=7&limit=1"
{
  "days": 7,
  "data": [
    {
      "id": "example-app",
      "handle": "example-app",
      "name": "Example App",
      "developer": "Example Developer",
      "category": "marketing-and-conversion",
      "pricingModel": "free_to_install",
      "rating": 4.8,
      "reviewCount": 1250,
      "firstSeen": "2026-10-30",
      "lastSeen": "2026-10-31"
    }
  ]
}