# Credits & Limits

How credits are charged and what the rate limits are.

## Limits

| Limit | Value | Counted per | Applies to |
| --- | --- | --- | --- |
| Requests per minute (default bucket) | **30** | API key | Most endpoints |
| Requests per minute (channel-info bucket) | **100** | API key | `/api/channels/:id/about`, `/videos`, `/shorts` — their own bucket so a folder dashboard can scan many channels in parallel |
| Requests per minute (status bucket) | **60** | API key | `/api/job-status/:job_id`, `/api/youtube-scraper/:job_id` — higher cap for poll loops |
| Live lookups per 24h (Starter) | **3,000** | Account | One limit shared by YouTube search, channel videos, Shorts, About, playlists, video data, comments, thumbnail downloads, handle and URL lookups, monetization checks, and what YouTube recommends |
| Live lookups per 24h (Professional) | **6,000** | Account | Same endpoints as above |
| Live lookups per 24h (Ultimate) | **12,000** | Account | Same endpoints as above |
| Per-tool daily caps | **see below** | Account | Every other tool has its own cap per 24h (Starter / Professional / Ultimate). There is no shared daily total. Generation endpoints that spend credits, job status checks, your credit balance and feedback have no daily cap. |
| Max page number | **20** | — | Search endpoints |
| Max results per page | **50** | — | Search endpoints |
| Max results per query | **1,000** | — | Search endpoints (20 pages × 50 results) |
| Max concurrent jobs (Starter) | **8** | Account | TTS, scraper, video, other media jobs |
| Max concurrent jobs (Professional) | **20** | Account | TTS, scraper, video, other media jobs |
| Max concurrent jobs (Ultimate) | **40** | Account | TTS, scraper, video, other media jobs |
| Max concurrent image jobs (Starter) | **10** | Account | Image generation — separate bucket, doesn't count against the cap above |
| Max concurrent image jobs (Professional) | **25** | Account | Image generation — separate bucket, doesn't count against the cap above |
| Max concurrent image jobs (Ultimate) | **50** | Account | Image generation — separate bucket, doesn't count against the cap above |
| Video downloads per hour (Starter) | **5** | Account | `/api/download-video` — only successful downloads count; cached repeats count, failures don't |
| Video downloads per hour (Professional) | **100** | Account | Same as above |
| Video downloads per hour (Ultimate) | **Unlimited** | Account | Same as above |
| Max download quality (all plans) | **1080p** | Account | `/api/download-video` |
| Concurrent downloads (Starter) | **1** | Account | `/api/download-video` — a request past the cap returns 429 immediately; nothing queues |
| Concurrent downloads (Professional) | **3** | Account | Same as above |
| Concurrent downloads (Ultimate) | **6** | Account | Same as above |
| Max videos per scrape | **100** | — | `/api/youtube-scraper` |
| Max script length | **45K–200K chars** | — | `/api/generate-simple` (varies by plan & provider) |

### Per-tool daily caps and pay-per-call

**These limits start on 15 November 2026.** Until then each account keeps one daily total of 1,000 / 2,000 / 4,000 calls (Starter / Professional / Ultimate), unless it switches early on the [limits page](/mcp-api/limits). An account can switch back once before 15 November.

Every tool has its own cap per account per 24 hours (the window starts at your first call). The cap is twice what comparable tools allow elsewhere. When a cap is reached the call returns `429` with `"code": "tool_daily_cap"` and `"limit": "<tool>"`.

| Tool | Starter / Professional / Ultimate per 24h | Past the cap |
| --- | --- | --- |
| Daily analytics | 100 / 200 / 400 | $0.20 a call from credits, up to 100 extra a day (pay-per-call on) |
| Channel stats (one channel) | 40 / 60 / 120 | $0.20 a call, up to 100 extra a day |
| Audience estimate | 40 / 60 / 120 | $0.20 a call, up to 100 extra a day |
| CMS lookup | 10 / 30 / 60 | $0.20 a call, up to 100 extra a day |
| Similar channels | 40 / 60 / 120 | $0.20 a search, up to 100 extra a day |
| Similar videos, similar thumbnails | 40 / 60 / 120 | $0.20 a search, up to 100 extra a day |
| Channel search, viral video search | 300 / 600 / 1,200 | $0.05 a search, up to 200 extra a day |
| Collabs | 300 / 600 / 1,200 | $0.05 a search, up to 200 extra a day |
| Channel trends | 200 / 400 / 800 | $0.05 a call, up to 200 extra a day |
| CMS network search | 10 / 30 / 60 | $0.20 a search, up to 100 extra a day |
| Trending title formats | 20 / 50 / 100 | Pauses |
| Trending subjects | 20 / 50 / 100 | Pauses |
| Channel title formats (one channel) | 100 / 200 / 400 | $0.20 a call, up to 100 extra a day |
| Saved library (folders, saved channels, alerts) | 400 / 1,000 / 2,000 | Pauses |
| Transcripts (one video each) | 150 / 250 / 500 | $0.0015 a transcript from credits (20 a credit), up to 10,000 extra a day |
| Face search (`/api/thumbnails/search-faces`, MCP `search_faces`) | 25 / 25 / 25 | $0.01 a search from credits (0.33 credits), up to 475 extra a day (pay-per-call on) |
| Demonetized channel search ($0.20 every search) | 40 / 60 / 120 | Up to 100 extra a day with pay-per-call on, at the same $0.20 |

**Repeats are free.** A one-channel tool (daily analytics, channel stats, audience, CMS lookup, channel title formats, a transcript) counts each channel or video once per 24 hours, whatever the other parameters. Any other tool counts an identical request (same path, same parameters, same page) once per 24 hours. A repeat uses none of your limit and is never charged. Calls that fail, or find no data (an audience estimate not made yet), use none either.

**Pay-per-call** is off by default. Turn it on in [Settings > API](/settings?tab=api-keys#pay-per-call) ("Keep going past my daily limits"). With it on, a call past the cap on a tool with a price above is paid from your credits (the same balance images and videos use; 1 credit = $0.03) and goes through. The response carries `X-Algrow-Overage: 1` and `X-Algrow-Overage-Cost`. A paid call that fails or finds nothing (not found, bad input, our error, no data yet) is refunded, with its extra call for the day. Past the day's extra calls you get `429` with `"code": "overage_ceiling"`; with too few credits, `402` with `"code": "insufficient_credits"`. Pay-per-call works on the new limits only (from 15 November, or once you switch early), and not on the $1 trial or without a plan. The tools without a price never charge: they pause.

**Daily spending cap.** Pay-per-call never spends more than the cap you pick in Settings > API: $5 (the default), $20, $50, $100 or no cap. It is counted in money, not calls, over 24 hours from the day's first paid call, so with $4.90 spent on a $5 cap a $0.20 call is refused while a $0.05 one still fits. Demonetized channel searches count toward it too. Refunds give their spend back. At the cap you get `429` with `"code": "spending_cap"` and when it resets; every tool still works inside its own daily limit.

**Live lookups** (YouTube search, channel videos, shorts, about, playlists, video data, comments, thumbnail downloads, handle and URL lookups, monetization checks, what YouTube recommends) have no per-tool caps. They share one allowance: 3,000 / 6,000 / 12,000 a day on Starter / Professional / Ultimate. Past it they return `429` until the window resets; every other tool keeps working.

**Demonetized channel search** (`demonetized=yes` on `/api/longform-channels/search`, `demonetized=True` on the MCP tool `search_longform_channels`): long-form channels that lost ad monetization and have not got it back, newest first, each with `demonetized_at`. Every other filter still applies; `within=N` keeps losses from the last N days. $0.20 a search from credits, every search, refunded if it fails, up to 40 / 60 / 120 searches a day. Not on the $1 trial.

**Near a limit:** once you pass 80% of a tool's cap or the live lookups allowance, responses carry `limit_notice` (and the `X-Algrow-Limit-Notice` header): how much is used, when it resets, and what more costs. The same field says when pay-per-call starts for the day, at 80% of your spending cap, and when your credits run low; you also get those three as notifications in the app.

**Per key or per account?** The per-minute buckets are counted per API key, so a second key gives you a second burst allowance. The 24h caps (each tool's cap and the live lookups allowance) and the concurrent-job caps are counted per account and are shared by every key you own — minting more keys does not raise them. The extension's bulk data calls (channel briefs, bulk stats, Shorts baselines, video changes, performance trends, stats history, monetization profile, niche overview) share one limit of 30 a minute per account across all your keys; the desktop app has its own.

**Hitting 429?** The `error` message tells you which limit you hit. Rate-limit 429s read `"Rate limit exceeded (30 requests/min). Try again in Xs."` — back off for the suggested seconds. Daily 429s carry a `code`: `tool_daily_cap` (one tool's limit, with `limit` naming it), `overage_ceiling` (that tool's extra paid calls for the day), `spending_cap` (your pay-per-call cap) or none for live lookups and, until 15 November, the old daily total. Each window is a rolling 24h from the first call that counted, so wait for the reset, turn on pay-per-call, or move up a plan. Concurrent-job 429s read `"Concurrent job limit reached"` — wait for an existing job to finish before submitting another.

**Search query required on channel endpoints:** Channel search endpoints (`/api/channels/search`, `/api/longform-channels/search`, `/api/terminated-channels/search`) require a `q` parameter. `/api/viral-videos/search` is the exception — `q` / `video_id` / `video_url` are all optional; omit them to browse by filters alone.

## Credits & Billing

Algrow uses two credit systems: **TTS credits** (character-based) for voice generation, and **studio credits** for media generation and video processing. Credits are checked before each job and only deducted after successful completion — you are never charged for failed jobs.

### TTS Credits

| Package | Characters | Price | Per 1K chars |
| --- | --- | --- | --- |
| Starter | 1,000,000 | $7.20 | $0.0072 |
| Creator | 5,000,000 | $30.00 | $0.006 |
| Studio | 10,000,000 | $54.00 | $0.0054 |

### Studio Credits

**Studio credits are separate from TTS credits.** They are deducted upfront and automatically refunded if a job fails.

| Feature | Credits | Notes |
| --- | --- | --- |
| Image Generation | 0.35–2 | Varies by model and size; fast mode is 3 credits, 6 on Nano Banana Pro (see [available models](/docs/api/media-generation#generate-image)) |
| Video Generation | 2.43–364.65 | Varies by model, resolution, duration, and sound (see [available models](/docs/api/media-generation#generate-video)) |
| Caption Removal | 12 per minute | 0.2 per second, rounded up |

**Insufficient credits?** The API returns `402 Payment Required` with the exact number of credits available and needed. Purchase more credits from your Algrow dashboard.
