- API credits are what calls spend, per month and per day.
- Rate and fetch limits are how fast you can call, and how many items Alura has never seen you can ask it to fetch from Etsy. Free calls count toward them too.
Two prices
- Find. Calls that discover things, such as search, similar products and trending, cost 10 API credits per page with results.
- Retrieve. Calls about something you named, such as a product, a shop, a keyword or one page of a shop’s reviews, cost 1 API credit per call, page or item.
GET /v1/me, GET /v1/usage, categories, languages and switching workspace. So is everything about saved folders and lists except reading the items in a list.
You are never charged for:
- an error of any kind;
- a
202while Alura fetches something new; - an empty page or an empty result. One exception: an empty page of Search orders with a
search_incompletenotice costs its credit, because it searched part of the orders; - items in a bulk call that come back pending, unfetched or not found;
- a write to your Etsy shop that doesn’t land: a
dry_run, a write Etsy refuses, or a removal of something Etsy no longer has; - a sync that every shop refuses, such as
429 sync_cooldown; expand, which adds related objects at no cost.
Allowances
- The month is the calendar month in UTC. Unused API credits don’t carry over.
- The daily ceiling caps what one UTC day can spend, so a runaway script can’t use the whole month at once. Free has none.
- An upgrade applies at once. What you used this month counts toward the new allowance.
What typical tasks cost
Seeing what you spend
Every authenticated response carries two headers:
MCP results carry the cost in
_meta.credits_charged. GET /v1/usage shows the month so far, by operation and by client. GET /v1/usage/events lists every charge from the last 90 days. See Usage and limits.
Rate limits
The rate is counted per API key and per workspace, so two keys in one workspace share the workspace’s minute. Every response carries the standard headers:
GET /v1/usage also returns your plan’s rate in rate_limit.requests_per_minute.
Fetch caps
Asking for a product, shop or keyword Alura has never seen starts a fetch from Etsy. Fetches have their own limits per workspace: a daily cap for each type and a rate per minute. Items Alura already knows don’t count.
Days are UTC days. Looking up a shop by a name Alura doesn’t know, with
GET /v1/research/lookup?name=, counts as a shop name lookup and a new shop. GET /v1/usage shows today’s caps and what you used:
202 and is free. See Freshness.
Sub-list throttle
Asking for the products or reviews of many different shops or products in a short time looks like copying the catalog. When a workspace does that, it is held to a low request rate for an hour, with429 throttled. Paging through one shop’s products or reviews never triggers it.
When a call is refused
Every
429 has retryable: true and a Retry-After header. Handling errors has a retry helper in curl, TypeScript and Python.
Before a call runs, Alura holds the most it can cost. When it finishes, Alura charges what it really cost and releases the rest. So a bulk call needs enough API credits for every ID up front, even though you pay only for the items that come back.
Cost of every operation
This table is generated from the API’s own operation list, so it always matches what the API charges. The same prices are in each endpoint’sx-alura-credits in the OpenAPI document, and in costs from GET /v1/usage.