Developer Credits
Paid users receive 1,000 credits per internal month. Credits do not roll over.
Monthly grant#
Paid users receive 1,000 credits per internal month. Credits do not roll over.
Quarterly and half-year subscriptions still receive 1,000 credits one internal month at a time.
Operation costs#
Rankings cost 1 credit per actual 20 items; outlier search costs 2; found video detail costs 1; verify and balance cost 0.
Reserve and settle#
The server validates, reserves the maximum cost, executes, and settles once using the larger of all_data.items.length and filter_data.items.length; the two sets are never added together for billing. The difference is refunded atomically.
Zero-cost responses#
Empty results, not found, 304, invalid requests, auth errors, rate limits, and server errors cost 0.
Complete REST API credit table#
These are the current billing rules for every public Developer Platform V1 REST endpoint. Ranking and search endpoints settle once using the larger actual item count from all_data and filter_data; the two counts are not added and billing does not use the requested limit directly.
| Method | API | Purpose | Billing rule | Minimum | Maximum |
|---|---|---|---|---|---|
GET | /v1/auth/verify | Verify API key | Free | 0 | 0 |
GET | /v1/credits | Read credit balance | Free | 0 | 0 |
GET | /v1/credits/costs | Read billing catalog | Free | 0 | 0 |
GET | /v1/rankings/chinese-low-subscriber-long-videos | Chinese low-subscriber long-video ranking | 1 per 1–20 actual items | 0 | 3 |
GET | /v1/rankings/hot-today | Hot-today ranking | 1 per 1–20 actual items | 0 | 3 |
POST | /v1/videos/outliers/search | Outlier video search | 2 per 1–20 actual items | 0 | 6 |
GET | /v1/videos/{video_id} | Video detail | 1 when one video is returned | 0 | 1 |
Settlement by actual item count#
limit defaults to 20, with a minimum of 1 and maximum of 50. The actual item count is max(all_data.items.length, filter_data.items.length). Chinese and hot-today rankings use ceil(actual items ÷ 20) × 1; outlier search uses ceil(actual items ÷ 20) × 2.
For example, if limit=50 returns only 3 Chinese ranking items, the final cost is 1; if outlier search returns 3, the cost is 2. The maximum is reserved first, then the actual result is settled and the difference refunded atomically.
| Actual items returned | Chinese ranking | Hot today | Outlier search |
|---|---|---|---|
| 0 items | 0 | 0 | 0 |
| 1–20 items | 1 | 1 | 2 |
| 21–40 items | 2 | 2 | 4 |
| 41–50 items | 3 | 3 | 6 |
MCP tool credit table#
REST API and MCP use the same credit account and settlement rules.
| MCP tool | Operation | Cost |
|---|---|---|
get_chinese_low_subscriber_long_videos | Chinese low-subscriber long-video ranking | 1 per 1–20 items, maximum 3 |
get_hot_today | Hot-today ranking | 1 per 1–20 items, maximum 3 |
search_outlier_videos | Outlier search | 2 per 1–20 items, maximum 6 |
analyze_video_url | Video detail | 1 on success |
get_credit_balance | Credit balance | 0 |
Status and management requests that cost no credits#
Health checks, billing lookups, and key management in the web console do not consume Developer Credits. /control/v1/* is a signed internal interface between the ShortsMonkey website and Core API and must not be called directly by regular developers.
| Endpoint or operation | Purpose | Cost |
|---|---|---|
/health/live | Core API liveness check | 0 |
/health/ready | Database and service readiness check | 0 |
/v1/auth/verify | Verify API key | 0 |
/v1/credits | Read credit balance | 0 |
/v1/credits/costs | Read billing rules | 0 |
| Create, rotate, or revoke an API key | Web API Console management | 0 |
| Read usage and platform status | Web API Console management | 0 |
Zero-cost, refund, and duplicate-request rules#
A cache hit is not automatically free: hot today is still billed by actual returned items when the server cache is used. Only the cases below settle to 0.
| Case | Final cost |
|---|---|
| Invalid API key, no subscription, or insufficient scope | 0 |
| Invalid parameters, missing resource, or insufficient credits | 0 |
| Rate or concurrency limit exceeded | 0 |
| Service error or unavailable data | Reserved credits are refunded; final cost 0 |
Chinese ranking ETag hit returning 304 | 0 |
Retry with the same Idempotency-Key and parameters | Returns the original response without another charge |
| Same request without reusing the idempotency key | Treated and billed as a new request |
| MCP repeats the same key, tool, and normalized arguments within 30 seconds | Reuses the original result without another charge |
Read the charge in the response#
Every successful public API response returns the current cost, remaining balance, and credit-period end through X-Credits-Cost, X-Credits-Remaining, and X-Credits-Period-End.
The JSON fields credits.cost, credits.remaining, and credits.period_ends_at provide the same information. Use the response’s actual cost.