Credits and limits for Agents

An agent using the MCP spends credits from your API plan exactly as your own code would. The difference is that an agent decides how many calls to make, and it will happily make more than you expected. This page is how to stay in control.

What costs, and what doesn't

Credits
Documentation tools (search-endpoints, get-endpoint, list-specs, start-here-guide, app-id-lookup, the guide tools)None. They read our indexed docs and never reach the API. No key required either.
execute-requestYes. Identical to calling the endpoint directly.

So exploration is free and unlimited. Only execution bills.

How a request is priced

Every request costs 1 credit for the request itself, plus the price of each datapoint it actually returns.

Three principles drive the model:

  • Not all data costs the same. Download estimates are expensive to produce; a metadata field isn't.
  • A date range is much cheaper than its length suggests. On historical endpoints the first available day costs the datapoint's base price and every additional day costs 10% of it.
  • You aren't charged for data we don't have. We compute a maximum cost up front, check your balance, fetch, then charge only for datapoints actually returned. Both numbers come back in the response as max_credit_cost and cost.

Current endpoints: 1 + (base price × apps × keywords × available datapoints).

Historical endpoints: 1 + for each app, keyword and datapoint — base price for the first available day, then 10% per additional day.

What that means in practice

A few reference points, so nothing surprises you:

RequestCredits
App metadata, 1 app11
Ratings + app power, 1 app, current21
Keyword rank, 5 keywords, 30 days196
Keyword rank and installs, 5 keywords, 30 days391
Downloads, 1 app, current501
Downloads, 1 app, 45 days2,701
Category downloads + revenues, 1 category, 30 days7,801
Conversion-rate benchmarks, 1 category1,001

Why agents spend faster than people

A developer writing code makes one considered call. An agent in a conversation may:

  • retry a call after misreading a parameter,
  • fetch the same range twice while refining an analysis,
  • fan out across apps or keywords one call at a time instead of batching,
  • loop day-by-day instead of asking for a range.

None of this is misbehaviour; it's how an exploratory loop works. It's also why the cost of an agent session is best measured rather than predicted.

Staying in control

Check the cost on every response. Every payload carries both figures:

"metadata": {
  "request": {
    "cost": 210,
    "max_credit_cost": 220,
    "status": 200
  }
}

max_credit_cost is what the request could have cost if every datapoint you asked for had been available — we check that against your balance before fetching. cost is what you were actually charged once we saw what came back. The gap between them is data we don't have and didn't bill you for.

Your remaining balance isn't in the response — see below.

Smoke-test with limit=1. Confirm the shape and the price before scaling.

Ask for one range, not many points. One 30-day historical call for a 10-credit datapoint costs 39 credits. Thirty current calls for the same thing cost 300. This is the single biggest lever available to you.

Batch what batches. Most endpoints accept several apps or keywords per call, and you pay 1 credit per request regardless. Keyword rankings cap at five keywords per call — that cap is a batching hint, not a suggestion to loop one at a time.

Tell your agent the budget. Instructions like "check the documented credit cost before executing, and ask me before any single call over 1,000 credits" work well and cost nothing to add. Put it in your AGENTS.md and it applies every session.

Have the agent check the balance — it's free. Remaining credits aren't part of the response envelope, so it takes a separate call: the usage/credits endpoint on apptweak-api. That endpoint costs nothing, so there's no reason not to call it at the start of a heavy session, or between batches. Ask your agent to check the balance first and report what it has to work with.

Move repeat work off the agent. Anything you run more than once belongs in a script calling the API directly — same credit cost, no agent overhead, no risk of an unplanned retry. See Build with AppTweak data.

Rate limit

60 requests per 10 seconds. An agent fanning out across many apps can hit this; so can a generated script with an uncapped loop. Build in a small delay or a retry with backoff.

Plans

MCP access needs an API plan — the MCP calls the same metered API. Plans and their credit allowances are on the pricing page; a 7-day free trial is available. Your key and current balance live in your API dashboard.

Remember that everything except execute-request is free and keyless, so you can have an agent explore the whole API before you subscribe.