Skip to main content
The AppKittie API uses a credit-based billing system. Each API call consumes credits based on the endpoint and the amount of data returned.

Credit Costs

EndpointMethodCostUnit
/api/v1/appsGET1 creditPer app returned
/api/v1/apps/:appIdGET1 creditPer request
/api/v1/keywords/difficultyGET10 creditsPer keyword
/api/v1/keywords/difficultyPOST10 creditsPer keyword in batch

How List Apps billing works

The GET /api/v1/apps endpoint charges 1 credit per app included in the response. If you request limit=50 and 50 apps are returned, that costs 50 credits. If your remaining balance is less than the number of results, the response is automatically truncated to the number of credits you have left. For example, if you have 12 credits and request 50 apps, you’ll receive 12 apps and be charged 12 credits.

How Batch Keywords billing works

The POST /api/v1/keywords/difficulty endpoint charges 10 credits per keyword that returns results. Duplicate keywords are deduplicated before processing. If you submit 5 unique keywords, the maximum cost is 50 credits, but you’re only charged for keywords that return data.

Tracking Your Balance

Response Headers

Every response includes credit headers:
HeaderDescription
X-Credits-UsedCredits consumed by this request
X-Credits-RemainingYour remaining credit balance

Insufficient Credits

When your balance is too low, the API returns a 402 error:
{
  "error": "Insufficient credits"
}
The response also includes headers showing your current balance:
X-Credits-Used: 0
X-Credits-Remaining: 3
Check your credit balance from the API Keys page in the dashboard, or inspect the X-Credits-Remaining header on any API response.

Tips for Efficient Credit Usage

Apply filters to reduce the number of apps returned. Instead of fetching 100 apps and filtering client-side, use query parameters like minRating, minRevenue, or categories to get exactly what you need.
Set limit to the minimum number of apps you need. The default is 50, but if you only need 10, set limit=10.
App data doesn’t change by the minute. Cache responses for a reasonable period (e.g., 1–24 hours) to avoid redundant requests.
Instead of making 10 individual keyword requests (100 credits), use the batch endpoint with 10 keywords in one call (same cost, one request, fewer rate limit hits).