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

# API credits over MCP

> What a tool call costs, what is free, and how to see what your assistant spent

An assistant connected over MCP spends the same API credits as a script calling the REST API, at the same prices, from the same monthly pool. The pool belongs to the connection's current workspace: switch workspace and the next call is paid by the new one.

## What a tool call costs

Each tool calls one REST operation and costs what that operation costs. The tool's description ends with its price, so the assistant knows it before it calls.

| Price | Tools |
| - | - |
| 10 API credits per page | `search_products`, `search_shops`, `find_similar_products`, `get_trending`, and `get_keyword_top_results` |
| 1 API credit per call or page | `get_shop`, `list_shop_products`, `get_reviews`, `get_sales_history`, `get_product_tags`, `lookup_etsy_url`, `get_related_keywords`, and one product with `get_products` or one keyword with `get_keyword_metrics` |
| 1 API credit per item returned | `get_saved_list_items`, and several IDs with `get_products` or several keywords with `get_keyword_metrics` |
| Free | `browse_categories`, `list_saved`, `create_saved_folder`, `create_saved_list`, `update_saved`, `add_to_saved_list`, `remove_from_saved_list`, `delete_saved`, `get_usage`, `list_workspaces`, and `switch_workspace` |

[Tools](/mcp/tools) has the exact price of every tool, and [API credits](/api-reference/api-credits) has the full cost table for REST.

A few things change the count, not the price:

* **Page size.** A page costs the same with 5 items or 50. List tools return 20 items by default and at most 50. Reviews, shop products and related keywords come in pages of up to 25.
* **`detail`.** `concise` returns fewer fields at the same price.
* **Product IDs.** `get_products` takes up to 30 IDs in one call over MCP (100 over REST).

## What is free

You never pay for:

* **Errors**, including limits, plan refusals and anything Alura got wrong.
* **Empty results.** A search with no matches costs nothing.
* **Items Alura doesn't have.** A product, shop or keyword that is unavailable, pending or not found costs nothing, alone or in a batch.
* **Results the assistant never received.** A result that fails Alura's own checks is not delivered and not charged.
* **Saved research writes and container lists**, usage, categories and workspace tools.

## Items Alura doesn't have

For now, Alura answers only with products, shops and keywords it already has. One it hasn't seen comes back as [`fetch_unavailable`](/errors/fetch_unavailable), or in a batch's `unfetched` list, and costs nothing.

When Alura starts fetching new items from Etsy on request, the server will wait for you: it checks again after 1, 2, 3, 4 and 5 seconds, for up to 20 seconds, and returns the product or keyword when it's ready. The waiting will be free; you pay once, for the result you get. A new shop takes minutes, so the tool will answer at once with `"status": "pending"` and `retry_after_seconds`.

## See what your assistant spent

* **In the chat.** Every tool result carries `_meta.credits_charged`, what that call cost. Not every assistant shows it.
* **Ask.** "How many Alura API credits do I have left this month?" calls `get_usage`, which is free and needs the `usage:read` permission.
* **In Alura.** **Settings** > **API** shows credits used this month, by day, and **By app**: Claude, ChatGPT, Cursor, scripts and other apps. Owners and admins see it.

## Monthly and daily limits

Credits reset on the 1st of each month at midnight UTC. Paid plans can use up to a quarter of the month's API credits in one UTC day; Free has no daily ceiling. When a limit is reached, the tool returns an error the assistant can read:

| Error | Meaning | What to do |
| - | - | - |
| [`credits_exhausted`](/errors/credits_exhausted) | The workspace used this month's API credits | Wait for the 1st, switch to a workspace with credits left, or change the plan in Alura's settings |
| [`daily_credit_cap_exceeded`](/errors/daily_credit_cap_exceeded) | The workspace hit today's ceiling | Wait until midnight UTC |
| [`credits_reserved`](/errors/credits_reserved) | Calls still running hold the remaining credits | Retry in a few seconds |

Allowances by plan are on [API credits](/api-reference/api-credits).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.