{"jtbd":{"id":"object-storage","slug":"object-storage","name":"Object storage for agent artifacts","shortName":"Object storage for agent artifacts"},"recommended":{"role":"depot_pick","id":"r2","slug":"r2","name":"Cloudflare R2","website":"https://developers.cloudflare.com/r2/","editorialOverall":8.75,"scoreKind":"curated_estimate","scoreAsOf":"2026-10-19","price":{"available":true,"unavailableReason":null,"skus":[{"id":"r2-standard-storage","providerId":"r2","sku":"R2 Standard storage","unit":"usd_per_gb_month","amountUsd":0.015,"currency":"USD","sourceUrl":"https://developers.cloudflare.com/r2/pricing/","asOf":"2026-10-19","normalizationStatus":"unit_mismatch","normalizedUsdPerMillionTokens":null,"normalizationReason":"unit_mismatch_per_gb_month","priceSortEligible":false,"qualifier":"Storage at rest; 10 GB-month free per month (not netted). Class A $4.50 / Class B $0.36 per million operations are separate; egress free.","verifiedAsOf":"2026-10-27","sourceCheck":"reconfirmed","ageDays":0,"stale":false,"firstSeen":"2026-10-19","lastChanged":null,"frequentlyChanging":false}],"normalizedUsdPerMillionTokens":null,"normalizationStatus":"unit_mismatch","normalizationReason":"unit_mismatch"}},"priceComparison":{"skuKind":"object_storage","unit":"usd_per_gb_month","comparison":"min sourced standard object-storage USD per GB-month among candidates; storage at rest only (operations and egress are not folded in); TB-month and GiB-month were not converted; not quality-adjusted","amountLabel":"USD per GB-month","reportsUsdPerMillion":false,"matchedCandidates":2},"cheapestInput":{"providerId":"r2","slug":"r2","name":"Cloudflare R2","skuId":"r2-standard-storage","item":"R2 Standard storage","plan":"R2 Standard storage — Storage at rest; 10 GB-month free per month (not netted)","isFloorPrice":false,"floorWarning":null,"skuKind":"object_storage","unit":"usd_per_gb_month","comparison":"min sourced standard object-storage USD per GB-month among candidates; storage at rest only (operations and egress are not folded in); TB-month and GiB-month were not converted; not quality-adjusted","amountUsd":0.015,"usdPerMillionInputTokens":null,"sku":{"id":"r2-standard-storage","providerId":"r2","sku":"R2 Standard storage","unit":"usd_per_gb_month","amountUsd":0.015,"currency":"USD","sourceUrl":"https://developers.cloudflare.com/r2/pricing/","asOf":"2026-10-19","normalizationStatus":"unit_mismatch","normalizedUsdPerMillionTokens":null,"normalizationReason":"unit_mismatch_per_gb_month","priceSortEligible":false,"qualifier":"Storage at rest; 10 GB-month free per month (not netted). Class A $4.50 / Class B $0.36 per million operations are separate; egress free.","verifiedAsOf":"2026-10-27","sourceCheck":"reconfirmed","ageDays":0,"stale":false,"firstSeen":"2026-10-19","lastChanged":null,"frequentlyChanging":false},"tiedWith":[]},"cheapest":{"providerId":"r2","slug":"r2","name":"Cloudflare R2","skuId":"r2-standard-storage","item":"R2 Standard storage","plan":"R2 Standard storage — Storage at rest; 10 GB-month free per month (not netted)","isFloorPrice":false,"floorWarning":null,"skuKind":"object_storage","unit":"usd_per_gb_month","comparison":"min sourced standard object-storage USD per GB-month among candidates; storage at rest only (operations and egress are not folded in); TB-month and GiB-month were not converted; not quality-adjusted","amountUsd":0.015,"usdPerMillionInputTokens":null,"sku":{"id":"r2-standard-storage","providerId":"r2","sku":"R2 Standard storage","unit":"usd_per_gb_month","amountUsd":0.015,"currency":"USD","sourceUrl":"https://developers.cloudflare.com/r2/pricing/","asOf":"2026-10-19","normalizationStatus":"unit_mismatch","normalizedUsdPerMillionTokens":null,"normalizationReason":"unit_mismatch_per_gb_month","priceSortEligible":false,"qualifier":"Storage at rest; 10 GB-month free per month (not netted). Class A $4.50 / Class B $0.36 per million operations are separate; egress free.","verifiedAsOf":"2026-10-27","sourceCheck":"reconfirmed","ageDays":0,"stale":false,"firstSeen":"2026-10-19","lastChanged":null,"frequentlyChanging":false},"tiedWith":[]},"recommendedWorkloadQuote":{"providerId":"r2","providerName":"Cloudflare R2","skuId":"r2-standard-storage","item":"R2 Standard storage","plan":"R2 Standard storage — Storage at rest; 10 GB-month free per month (not netted)","unit":"usd_per_gb_month","amountUsd":0.015,"outputSkuId":null,"outputItem":null,"outputAmountUsd":null,"outputUnit":null,"sourceUrl":"https://developers.cloudflare.com/r2/pricing/","asOf":"2026-10-19","pricingLastVerifiedAt":"2026-10-27","isFlagshipForJob":true,"differsFromFloorCheapest":false,"representativeQuote":{"skuId":"r2-standard-storage","item":"R2 Standard storage","plan":"R2 Standard storage — Storage at rest; 10 GB-month free per month (not netted)","amountUsd":0.015,"inputOrUnitUsd":0.015,"unit":"usd_per_gb_month","outputUsd":null,"outputUnit":null,"sourceUrl":"https://developers.cloudflare.com/r2/pricing/","asOf":"2026-10-19"},"estimatedTaskCost":{"tasks":1000,"retryAndToolOverheadMultiplier":1.15,"retryToolOverheadMultiplier":1.15,"unitsPerTask":1,"baseCostPer1kTasksUsd":0.015,"totalUsd":0.0172,"estimatedTotalUsd":0.0172,"perTaskUsd":0.000017,"estimatedCostPerTaskUsd":0.000017,"formula":"Monthly base plan $0.015/mo covering 1,000 tasks (1.15x overhead buffer)","assumptions":"Monthly subscription plan amortized over 1,000 tasks/month."}},"representativeQuote":{"skuId":"r2-standard-storage","item":"R2 Standard storage","plan":"R2 Standard storage — Storage at rest; 10 GB-month free per month (not netted)","amountUsd":0.015,"inputOrUnitUsd":0.015,"unit":"usd_per_gb_month","outputUsd":null,"outputUnit":null,"sourceUrl":"https://developers.cloudflare.com/r2/pricing/","asOf":"2026-10-19"},"estimatedTaskCost":{"tasks":1000,"retryAndToolOverheadMultiplier":1.15,"retryToolOverheadMultiplier":1.15,"unitsPerTask":1,"baseCostPer1kTasksUsd":0.015,"totalUsd":0.0172,"estimatedTotalUsd":0.0172,"perTaskUsd":0.000017,"estimatedCostPerTaskUsd":0.000017,"formula":"Monthly base plan $0.015/mo covering 1,000 tasks (1.15x overhead buffer)","assumptions":"Monthly subscription plan amortized over 1,000 tasks/month."},"cheapestGoodEnough":{"band":{"rule":"editorial overall >= Depot Pick overall - 0.5","minOverall":8.25,"pickOverall":8.75,"points":0.5},"pick":{"providerId":"r2","slug":"r2","name":"Cloudflare R2","skuId":"r2-standard-storage","item":"R2 Standard storage","plan":"R2 Standard storage — Storage at rest; 10 GB-month free per month (not netted)","isFloorPrice":false,"floorWarning":null,"skuKind":"object_storage","unit":"usd_per_gb_month","comparison":"min sourced standard object-storage USD per GB-month among candidates; storage at rest only (operations and egress are not folded in); TB-month and GiB-month were not converted; not quality-adjusted","amountUsd":0.015,"usdPerMillionInputTokens":null,"sku":{"id":"r2-standard-storage","providerId":"r2","sku":"R2 Standard storage","unit":"usd_per_gb_month","amountUsd":0.015,"currency":"USD","sourceUrl":"https://developers.cloudflare.com/r2/pricing/","asOf":"2026-10-19","normalizationStatus":"unit_mismatch","normalizedUsdPerMillionTokens":null,"normalizationReason":"unit_mismatch_per_gb_month","priceSortEligible":false,"qualifier":"Storage at rest; 10 GB-month free per month (not netted). Class A $4.50 / Class B $0.36 per million operations are separate; egress free.","verifiedAsOf":"2026-10-27","sourceCheck":"reconfirmed","ageDays":0,"stale":false,"firstSeen":"2026-10-19","lastChanged":null,"frequentlyChanging":false},"tiedWith":[],"overall":8.75},"reason":null,"cheaperButBelowBand":[]},"dates":{"scoreAsOf":"2026-10-19","scoreKind":"curated_estimate","priceVerifiedAsOf":"2026-10-27","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":[{"providerId":"r2","slug":"r2","name":"Cloudflare R2","skuId":"r2-standard-storage","item":"R2 Standard storage","plan":"R2 Standard storage — Storage at rest; 10 GB-month free per month (not netted)","isFloorPrice":false,"floorWarning":null,"skuKind":"object_storage","unit":"usd_per_gb_month","amountUsd":0.015,"usdPerMillionInputTokens":null,"sku":{"id":"r2-standard-storage","providerId":"r2","sku":"R2 Standard storage","unit":"usd_per_gb_month","amountUsd":0.015,"currency":"USD","sourceUrl":"https://developers.cloudflare.com/r2/pricing/","asOf":"2026-10-19","normalizationStatus":"unit_mismatch","normalizedUsdPerMillionTokens":null,"normalizationReason":"unit_mismatch_per_gb_month","priceSortEligible":false,"qualifier":"Storage at rest; 10 GB-month free per month (not netted). Class A $4.50 / Class B $0.36 per million operations are separate; egress free.","verifiedAsOf":"2026-10-27","sourceCheck":"reconfirmed","ageDays":0,"stale":false,"firstSeen":"2026-10-19","lastChanged":null,"frequentlyChanging":false},"isDepotPick":true},{"providerId":"tigris","slug":"tigris","name":"Tigris","skuId":"tigris-standard-storage","item":"Standard data storage","plan":"Standard data storage — Storage at rest, same price in all regions","isFloorPrice":false,"floorWarning":null,"skuKind":"object_storage","unit":"usd_per_gb_month","amountUsd":0.02,"usdPerMillionInputTokens":null,"sku":{"id":"tigris-standard-storage","providerId":"tigris","sku":"Standard data storage","unit":"usd_per_gb_month","amountUsd":0.02,"currency":"USD","sourceUrl":"https://www.tigrisdata.com/pricing/","asOf":"2026-10-19","normalizationStatus":"unit_mismatch","normalizedUsdPerMillionTokens":null,"normalizationReason":"unit_mismatch_per_gb_month","priceSortEligible":false,"qualifier":"Storage at rest, same price in all regions. Class A $0.005 / Class B $0.0005 per 1,000 requests separate.","verifiedAsOf":"2026-10-27","sourceCheck":"reconfirmed","ageDays":0,"stale":false,"firstSeen":"2026-10-19","lastChanged":null,"frequentlyChanging":false},"isDepotPick":false}],"pickIsPriceWinner":true,"priceWinnerReason":"pick_is_cheapest","priceWinnerNote":"Pick is the cheapest matching USD per GB-month among candidates (0.015).","excluded":9,"coverage":{"candidates":11,"withAnySourcedRow":2,"withSourcedInputUsdPerMillion":0,"withMatchingPrice":2,"excludedNoSourcedPrice":9,"excludedFromCheapestInput":9},"normalizedUsdPerMillionTokens":null,"normalizationReason":"input_and_output_are_not_blended","seo":{"published":false,"reason":"Only 2 candidate(s) have a matching USD per GB-month (object_storage). Need 3 before a crawlable price section. Quote JSON is still returned."},"cite":"Depot Pick for object-storage: r2 (asOf 2026-10-19). See GET /api/jtbds/object-storage + 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=object-storage","quote":"/api/quote?jtbd=object-storage","pricing":"/api/pricing?provider=r2","leaderboardPrice":"/api/leaderboards?jtbd=object-storage&sort=price","humanPage":"/jtbds/object-storage#quote","methodology":"/api/methodology"},"sourceConflicts":[{"providerId":"digitalocean","field":"Pricing example container plan ($20 plan not in the current size table)","sourceUrl":"https://www.digitalocean.com/pricing/app-platform","asOf":"2026-10-22","quotes":["1 worker with 2 instances using the $10 container plan 1 service with 1 instance using the $20 container plan … Total monthly cost: $40 + any additional bandwidth overages (https://www.digitalocean.com/pricing/app-platform FAQ)","Current plans: apps-s-1vcpu-0.5gb … $5.00, apps-s-1vcpu-1gb-fixed … $10.00, apps-s-1vcpu-1gb … $12.00, apps-s-1vcpu-2gb … $25.00 … (no $20.00 size); legacy basic-s 1 shared 2 GiB 40 GiB per month $20.00 per month — 'Legacy plans apply only to apps created before 7 May 2024.' (https://docs.digitalocean.com/products/app-platform/details/pricing/)"],"safeAssumption":"The FAQ example uses a legacy $20 price ('for illustrative purposes only'). Depot prices only the current size table; legacy plans are not encoded."},{"providerId":"digitalocean","field":"Static-site app transfer allowance (free apps only, or every static-site app)","sourceUrl":"https://docs.digitalocean.com/products/app-platform/details/pricing/","asOf":"2026-10-22","quotes":["Deploying up to three apps that use only static site components. … Each additional app containing static website components costs $3.00 per month. 1 GiB of outbound data for each app. (https://docs.digitalocean.com/products/app-platform/details/pricing/)","Each free app includes 1 GiB of outbound data transfer per month Additional apps with static sites only are charged at $3.00 per month (https://www.digitalocean.com/pricing/app-platform FAQ)"],"safeAssumption":"Depot follows the docs ('1 GiB of outbound data for each app') and credits 1 GiB per static-site app, including the $3 ones. If only the 3 free apps get it, each extra app understates by at most 1 GiB × $0.02 = $0.02 per month."},{"providerId":"digitalocean","field":"Month length for a container (28-day billing cap vs monthly price; rename restarts the count)","sourceUrl":"https://docs.digitalocean.com/products/app-platform/details/pricing/","asOf":"2026-10-22","quotes":["App components are billed for the first 28 days of the month after creation. Renaming a component restarts the 28-day count, which can result in extra charges at the end of the month. For example, if you create a component on 1 July and rename it on 3 July, you are billed for 30 days in July instead of 28. (https://docs.digitalocean.com/products/app-platform/details/pricing/)","We bill apps for each second they exist, up to a maximum of 2,419,200 seconds (28 days) per monthly billing cycle. (https://docs.digitalocean.com/platform/billing/bandwidth/)","The table below shows monthly pricing per container (docs); '$/mo' (pricing page)"],"safeAssumption":"A container running the whole month is 1 container-month (the 28-day cap makes the monthly price a ceiling). Send seconds ÷ 2,419,200 for part months; a component renamed mid-month can bill up to 30/28 (send that fraction, the meter allows values above 1)."},{"providerId":"backblaze-b2","field":"storage rate: $6.95/TB/month on the pricing page vs $0.005/GB/month on the transaction-pricing page","sourceUrl":"https://www.backblaze.com/cloud-storage/transaction-pricing","asOf":"2026-10-22","quotes":["Starts at $ 6.95 / TB / mo … Service is billed monthly, based on the amount of data stored per byte-hour over the last month at a rate of $ 6.95 /TB/30-days (https://www.backblaze.com/cloud-storage/pricing)","Once uploaded, storage charges apply to all data after the first 10GB in your account at the rate of $ 0.005 /GB/month. (https://www.backblaze.com/cloud-storage/transaction-pricing)"],"safeAssumption":"Encoded $6.95 per 1,000 GB-month, the higher current rate on the pricing page (also its embedded price table 'b2-monthly-tb': 6.95, 'b2-monthly-gb': 0.00695 and calculator b2Cost 'input.storageTB * 6.95'). The developer page's $0.005/GB looks stale and is not used."},{"providerId":"backblaze-b2","field":"storage rate: $6.95/TB/month on the page vs $5/TB/month in the page's own schema.org FAQ markup","sourceUrl":"https://www.backblaze.com/cloud-storage/pricing","asOf":"2026-10-22","quotes":["Backblaze B2 Starts at $ 6.95 / TB / mo (visible pricing card)","Backblaze B2 pricing is flexible, scalable, on-demand cloud storage at $5/TB/month with no tiers and variance by region, no minimum file size or minimum storage duration, and downloads are $0.01/GB (FAQPage JSON-LD 'How does Backblaze pricing work?' in the same HTML)"],"safeAssumption":"Encoded the visible $6.95/TB rate (higher, and repeated in the billing FAQ and price table). The JSON-LD $5/TB answer and its 'B2 Reserve … 20TB+ for $1560/year' bundle are not encoded."},{"providerId":"backblaze-b2","field":"10 GB free storage: in the page text but not in the page's own cost calculator","sourceUrl":"https://www.backblaze.com/cloud-storage/pricing","asOf":"2026-10-22","quotes":["First 10GB storage is always free.","function b2Cost(input) { const storage = input.storageTB * 6.95; const freeEgressGB = input.storageGB * 3; const paidEgressGB = Math.max(0, input.egressGB - freeEgressGB); return { total: storage + paidEgressGB * 0.01, freeEgressGB } } (calculator script on the page)"],"safeAssumption":"Encoded the stated 10 GB free allowance (also on the transaction page: 'storage charges apply to all data after the first 10GB in your account'). The calculator's figure is at most 10 × $0.00695 = $0.07/month higher; check:limits shows both."}],"volumeEstimateHint":"Add &volume=<number> for a plan-level monthly cost (GET /api/estimate?jtbd=object-storage&workload=...)"}