How credits work
Prepaid, transparent, and always priceable before you commit.
The model
- One prepaid credit wallet covers the Data API, the Scraping API and the MCP connector.
- The Data API is billed per row returned, plus a flat rate for catalog/discovery calls.
- Scraping products are billed per item (per product page, per keyword, per shop). See the rate card for exact numbers, both APIs.
- Estimates are always free and exact — you see rows and credits before anything is charged.
- At zero balance requests are refused, never invoiced. No surprise bills.
A worked example
Say you want every SKU row for Facial Serum in Indonesia for one month. First, the free estimate:
POST /v1/exports {"country":"ID","category_3":["Facial Serum"],
"date_from":"2026-05","date_to":"2026-05","estimate":true}
→ {"estimate": {"rows": 289621, "credits": 4344315, "usd": 5430.39}, "charged": 0}The estimate above is exact — rows, credits and USD cost for this exact query, no separate math needed. If the price is wrong for your use case, narrow the scope — fewer months, a deeper category — and estimate again. Nothing is charged until you submit without the estimate flag.
Guard rails
The Python client adds a hard spend ceiling: max_credits on a submit refuses to run if the scope grew since you estimated. Failed scraping jobs are refunded server-side; free client-side validation catches malformed items before anything is spent.