{"jtbd":{"id":"llm-rate-limit-shield","slug":"llm-rate-limit-shield","name":"LLM rate-limit & backoff shield","shortName":"Rate-limit shield"},"recommended":{"role":"depot_pick","id":"cloudflare-ai-gateway","slug":"cloudflare-ai-gateway","name":"Cloudflare AI Gateway","website":"https://developers.cloudflare.com/ai-gateway/","editorialOverall":8.42,"scoreKind":"curated_estimate","scoreAsOf":"2026-09-14","price":{"available":false,"unavailableReason":"no_sourced_price","skus":[],"normalizedUsdPerMillionTokens":null,"normalizationStatus":"unavailable","normalizationReason":"no_sourced_price"}},"priceComparison":{"skuKind":"none","unit":null,"comparison":"no comparable sourced unit for this job; chat input $/1M and other units were not borrowed","amountLabel":"Matching price","reportsUsdPerMillion":false,"matchedCandidates":0},"cheapestInput":null,"cheapest":null,"recommendedWorkloadQuote":null,"representativeQuote":null,"estimatedTaskCost":null,"cheapestGoodEnough":{"band":{"rule":"editorial overall >= Depot Pick overall - 0.5","minOverall":7.92,"pickOverall":8.42,"points":0.5},"pick":null,"reason":"no_matching_sourced_price","cheaperButBelowBand":[]},"dates":{"scoreAsOf":"2026-09-14","scoreKind":"curated_estimate","priceVerifiedAsOf":null,"note":"scoreAsOf is when the editorial score was last set; priceVerifiedAsOf is the newest fact-check of the pick's price rows. They are separate: a fresh price check does not re-score."},"sourcedInputs":[],"pickIsPriceWinner":null,"priceWinnerReason":"no_comparison_no_candidate_has_matching_sourced_price","priceWinnerNote":"Nothing was compared. no comparable sourced unit for this job; chat input $/1M and other units were not borrowed pickIsPriceWinner is null.","excluded":3,"coverage":{"candidates":5,"withAnySourcedRow":2,"withSourcedInputUsdPerMillion":0,"withMatchingPrice":0,"excludedNoSourcedPrice":3,"excludedFromCheapestInput":5},"normalizedUsdPerMillionTokens":null,"normalizationReason":"input_and_output_are_not_blended","seo":{"published":false,"reason":"Only 0 candidate(s) have a matching Matching price (none). Need 3 before a crawlable price section. Quote JSON is still returned."},"cite":"Depot Pick for llm-rate-limit-shield: cloudflare-ai-gateway (asOf 2026-09-14). See GET /api/jtbds/llm-rate-limit-shield + GET /api/methodology.","asOf":"2026-10-27","honesty":["Recommended provider is the current Depot Pick from GET /api/decide. This quote does not change scores.","SKU rows are copied from data/pricing-rows.json via GET /api/pricing. No new pages were scraped for this response.","normalizedUsdPerMillionTokens on this quote is always null. Input and output stay on separate rows.","cheapestInput compares one native unit that matches this job. Chat and coding jobs use priceSortEligible input $/1M. Embedding jobs use embedding SKUs only. Speech-to-text uses a stored speech unit only (per minute when that unit exists; a voice-agent hosting minute and a speech-engine minute are not speech-to-text). Speech synthesis uses one stored TTS unit in preference order (per minute, then per 1k characters, then per million characters) and does not mix those units or a speech-engine minute. Hosted-browser jobs compare usd_per_browser_hour only (lowest tier per provider, not quality-adjusted); proxy per GB, CAPTCHA solves, monthly plans, and chat tokens are not included. Sandbox, code-interpreter, ephemeral CI, and persistent dev env compare usd_per_vcpu_hour only, and only when the Depot Pick has that row; GPU-hour, GiB-hour, and vCPU-second are not converted. Secret jobs compare identity-month or user-month, never both; if both are stored, cheapestInput is null (mixed_secret_units). Voice-agent platform jobs compare a voice-agent hosting minute only. Transactional email compares usd_per_1k_emails only. Marketing email compares usd_per_1k_emails when a non-transactional per-1k SKU exists; otherwise it ranks a marketing-labeled usd_per_email and does not convert that rate to per 1k or mix it with per-1k. Monthly plans are not a unit price (plan_not_a_unit_price). Outbound and inbound webhook jobs compare usd_per_message only. Queue jobs compare usd_per_100k_messages or usd_per_million_events, never both (mixed_units). Push does not rank MAU or monthly plans. Error observability ranks a unit only when every candidate shares it; per-error fractions are not ranked against monthly plans. MotherDuck CU-hours and flight hours are not vCPU-hours. Composio's unsplit sandbox token rate is not chat $/1M. CAPTCHA SKUs are not ranked. Other non-token jobs do not borrow a chat $/1M rate. If nothing matches, cheapestInput is null.","excluded counts candidates with zero sourced pricing rows. excludedFromCheapestInput also counts candidates whose rows are a different unit than this job.","A Depot Pick is not a price winner unless its matching sourced price is the lowest among candidates. The comparison is not quality-adjusted. pickIsPriceWinner is null (not false) when nothing was compared."],"links":{"decide":"/api/decide?jtbd=llm-rate-limit-shield","quote":"/api/quote?jtbd=llm-rate-limit-shield","pricing":"/api/pricing?provider=cloudflare-ai-gateway","leaderboardPrice":"/api/leaderboards?jtbd=llm-rate-limit-shield&sort=price","humanPage":"/jtbds/llm-rate-limit-shield#quote","methodology":"/api/methodology"},"sourceConflicts":[{"providerId":"helicone","field":"free storage on paid plans: '1 GB free' in the comparison table vs no free GB in the page's calculator and Helicone's billing tiers","sourceUrl":"https://www.helicone.ai/pricing","asOf":"2026-10-22","quotes":["Storage 1 GB 1 GB free + usage-based ↑ 1 GB free + usage-based ↑ 1 GB free + usage-based ↑ (comparison table, Hobby / Pro / Team / Enterprise, https://www.helicone.ai/pricing); 'On the Free plan, you get 10,000 free requests and 1 GB of storage.' (FAQ)","Storage 0.30 GB $ 0.97 … Requests 10K requests $ 0.00 … Estimated monthly total $ 0.97 (calculator default, i.e. 0.30 GB × $3.25 with no free GB); 'export const BYTE_PRICING = { ratePerGB: GB_PRICING_TIERS[0].ratePerGB, freeGB: 0, };' (https://raw.githubusercontent.com/Helicone/helicone/main/packages/pricing/tiers.ts)"],"safeAssumption":"Pro/Team storage is costed from the first GB (included 0) as the calculator and billing code do; at most $3.25/month higher than the table's '1 GB free'. Hobby keeps its 1 GB cap."},{"providerId":"portkey","field":"Portkey plan allowance unit: cards 'recorded logs per month' vs overage line, comparison table and FAQ 'requests'","sourceUrl":"https://portkey.ai/pricing","asOf":"2026-10-22","quotes":["'Start for Free 10k recorded logs per month Exceeding this limit doesn’t affect your requests; only logs beyond the limit are not recorded.' … 'Upgrade Now 100k recorded logs per month +$9 overages per additional 100k requests' (https://portkey.ai/pricing plan cards)","'Requests per Month No Limit 10K 100K Custom Requests per Month Overage No Overage Allowed $9/Month for Every 100K Up to 3M Requests Custom Pricing Overage' (https://portkey.ai/pricing Detailed Plan Comparision) … FAQ 'On the pro plan, you'll be charged for recording & storing  additional requests.'"],"safeAssumption":"No price impact: the same numbers (10K / 100K, $9 per 100K) appear under both words. Depot uses one meter, portkey_requests, and assumes one recorded gateway request = one recorded log; if Portkey counts logs differently (e.g. several logs per request), the estimate would be low and the user should count recorded logs from their Portkey dashboard."},{"providerId":"cloudflare-ai-gateway","field":"Workers Logs worked-example totals vs the Workers Paid $5 minimum","sourceUrl":"https://developers.cloudflare.com/workers/observability/logs/workers-logs/","asOf":"2026-10-22","quotes":["'Example 1 A Worker serves 15 million requests per month. Each request emits 1 invocation log and 1 console.log. … Logs | $6.00 | ((15,000,000 requests per month * 2 logs per request * 100% sample) - 20,000,000 included logs) / 1,000,000 * $0.60 | Total | $6.00' (https://developers.cloudflare.com/workers/observability/logs/workers-logs/)","'The Workers Paid plan includes Workers, Pages Functions, Workers KV, Hyperdrive, and Durable Objects usage for a minimum charge of $5 USD per month for an account.' (https://developers.cloudflare.com/workers/platform/pricing/)"],"safeAssumption":"The examples' 'Total' is the Workers Logs line item only. Depot prices the Workers Paid (Workers Logs) row as the $5 account minimum plus the log overage (30M log events → $5 + 10 × $0.60 = $11), which is the account's bill if nothing else on Workers Paid is used; if the account already pays the $5 for Workers, the marginal cost of AI Gateway logs is the overage alone ($6 in that example)."}],"volumeEstimateHint":"Add &volume=<number> for a plan-level monthly cost (GET /api/estimate?jtbd=llm-rate-limit-shield&workload=...)"}