fshy

fshy / Compute / Databases and KV / Storage

Upstash

upstash.com · Compute, Databases and KV, Storage · 6 records · JSON

Upstash Redis Databases and KV

★ qualifiesanonymousno cardMrequest-rate

upstash.com/docs/redis/overall/billing · serverless Redis and KV · databases-kv/upstash-redis · JSON · compare

Free tier250 MB data; 500,000 commands per month; 10 GB bandwidth per month; 10,000 commands per second; one database
unit mixed; metered on request-count
PriceUSD 0.20 per 100K commands; storage USD 0.25/GB-month beyond the first 1 GB
Per-object cap100 MB per record on Free; 10 MB per request
Retentiona database on a free account persists while the account is active. An anonymous database created with no account is deleted after 3 days unless claimed (3 days)
Egress10 GB bandwidth per month included on Free; pay as you go includes 200 GB then USD 0.03/GB
free_allowance: 10 GB per month
price_per_tb: USD 0.03/GB beyond 200 GB
Identityanonymous POST upstash.com/start-redis with an Idempotency-Key provisions a database with no account, no email and no card; the database is deleted after 3 days unless claimed in a browser. A permanent free database needs an email
Limits
  • request-rate 500,000 commands per month on Free, about 16,600 a day source
  • per-object-cap 100 MB per record; 250 MB total data source
  • request-rate 10 GB bandwidth per month source
adding a payment method moves every database to paid, and 'an account with a payment method cannot have free databases'
Bindingrequest-rate
Interfacerest, cli a body-style REST API that takes the command as a JSON array; the Redis protocol on the same endpoint; a developer API
Toolingredis-cli against the TLS endpoint, or any HTTP client against the REST form; @upstash/redis SDKs
Composes withthe cheapest free cache in front of a free Postgres: 100,000 reads a day off the database, if the write path fits 1,000 a day
Reliabilityan unclaimed database carries a warning not to store sensitive data because it is not tied to an account; the documented developer API host api.upstash.com did not resolve on 2026-10-22 while the per-database endpoint worked
NotesThe 10,000-commands-per-day figure in circulation is the pre-2025-03 plan. 500,000 a month is 16,600 a day, which is a different shape: a burst is fine and a steady 1/second is not.
Evidence rungmeasured a database was provisioned anonymously, PING/SET/GET/DBSIZE were run against it, and the 3-day expiry was read from the response. The free-plan limits are a first-party page.
Checked2026-10-23 (live); stale on 2026-12-22
Parsed numbers
  • $.limits[1].value limit:per-object-cap 100.0 MB
  • $.limits[2].value limit:request-rate 10.0 GB
  • $.price_per_tb_month price-per-tb USD0.25 GB / month
Evidence (4)
datesourcewhat it proved
2026-10-22probe:https://upstash.com/start-redisPOST with Idempotency-Key 5f4fd5c1-7624-43b4-bfc9-94192920d977 returned 200, 3239 bytes, in 7.0 s, with endpoint optimal-spaniel-201484.upstash.io, a bearer token, a console URL and 'Expires: 2026-10-25 (3 days from creation)'
2026-10-22probe:https://optimal-spaniel-201484.upstash.iobody-style REST calls returned PING -> PONG, SET k1 v1 -> OK, GET k1 -> v1, DBSIZE -> 1; each round trip 0.73 to 0.92 s
2026-10-22upstash.com/docs/redis/overall/billingFree: 250 MB data, 500K monthly commands, 10 GB monthly bandwidth, 10,000 commands/s, 10 MB request, 100 MB record, 1 database, no credit card
2026-10-22probe:https://api.upstash.com/v2/redis/databasescurl could not resolve api.upstash.com on 2026-10-22, so the documented developer API host is not reachable from this network even though the per-database endpoint is

Upstash Box Compute

caveatemailno cardDrequest-rate

upstash.com/pricing/box · container and VM sandbox · compute/upstash-box · JSON · compare

Free tierFree: USD 0, 10 concurrent boxes, 5 CPU hours a month, USD 1 of LLM token budget a month
unit hours; metered on wall-clock; after the LLM limit the API returns 400 Bad Request
Pricenone stated
Per-object capnot applicable
Retentionstandard boxes auto-pause when idle with no CPU charges; keep-alive boxes run continuously at a fixed monthly price
Egressnot published on the page read
Identityemail Free plan is USD 0; no card stated on the pricing page
Limits
  • request-rate Free 10 concurrent boxes; pay-as-you-go 1,000 by default source
  • per-object-cap largest size is Large: 8 vCPU / 16 GB / 20 GB disk source
5 GB, 10 GB and 20 GB of disk on Small, Medium and Large; disk is the tightest resource on this page
Bindingrequest-rate 5 CPU hours a month of active CPU is the allowance and the 5 GB disk is the shape
Interfacerest, cli REST and SDK; boxes run on AWS us-east-1 only
ToolingUpstash SDK and REST; BYOK for model providers on every plan
Composes withthe split between active-CPU billing and a fixed keep-alive price is the mechanism, and it makes one page carry two products
Reliabilityno reliability event recorded
NotesThe free tier is 5 CPU hours, which at 2 vCPU is about 2.5 hours of a Small box a month.
Evidence rungdocumented
Checked2026-10-22 (live); stale on 2026-11-21
Parsed numbers
  • $.extras.m10h_usd price USD3.29 / month
  • $.extras.m24h_usd price USD8.0 / month
  • $.limits[1].value limit:per-object-cap 16.0 GB
Evidence (3)
datesourcewhat it proved
2026-10-22upstash.com/pricing/boxFree: 10 concurrent boxes, 5 CPU hours a month, USD 1 LLM budget; Pay as You Go 1,000 concurrent
2026-10-22upstash.com/pricing/boxSmall 2 vCPU/4 GB/5 GB at USD 0.10 per active CPU hour or USD 8 a month keep-alive; storage USD 0.10 per GB-month on pay-as-you-go
2026-10-22upstash.com/pricing/boxstandard boxes auto-pause when idle and bill per active CPU hour; keep-alive boxes run continuously at a fixed monthly price
More fields (14)
{
 "shape": {
  "vcpu": 2,
  "ram_gib": 4,
  "disk_gib": 5,
  "gpu_class": null,
  "gpu_count": null
 },
 "billing_model": "consumed-cpu",
 "granularity": {
  "min_billed_s": 1,
  "rounding_s": 1
 },
 "session_cap": {
  "wall_clock_min": null,
  "idle_reap_s": null,
  "restart_required": false,
  "note": "standard boxes auto-pause when idle; the idle interval was not published on the page read"
 },
 "keep_rate": {
  "value": 0.0,
  "basis": "standard boxes auto-pause with no CPU charges",
  "source": "https://upstash.com/pricing/box"
 },
 "persistent_storage": {
  "included_gib": 5,
  "price_gib_month": "USD 0.10",
  "durability": "disk kept while the box exists",
  "survives_stop": true,
  "survives_destroy": false,
  "max_retention": "unpublished"
 },
 "network_out": {
  "allow_outbound": null,
  "allow_inbound_listen": null,
  "ports": null,
  "static_ip": null,
  "ipv6": null,
  "per_session_bytes": null
 },
 "free_tier_kind": "allowance",
 "m10h_usd": 3.29,
 "m24h_usd": 8.0,
 "price_arithmetic": "5 CPU-h / 2 vCPU = 2.5 h of a Small box a month on Free; pay-as-you-go 0.10 x 2 x 300 h = 60, but a keep-alive Small box is USD 8 a month flat",
 "price_note": "the page carries two products. Small as a keep-alive box is USD 8 a month flat, which prorates to USD 3.29 at 300 hours. Metered active CPU at 100% is USD 0.20 an hour, or USD 60 for 300 hours.",
 "price_basis": "10 h/day x 30 = 300 h; 24/7 x 30 = 730 h",
 "burst_x": 1.0
}
Unknown or withheld values (6)
  • $.egress.metered egress-unknown
  • $.extras.price_note partly-held
  • $.notes partly-held
  • $.per_object_cap.notes process
  • $.per_object_cap.stated not-applicable
  • $.reliability_note none-observed

Upstash (Redis / Vector / QStash) Storage

fails: quotaanonymousno cardRretention-clamped

upstash.com · paas · storage/upstash · JSON · compare

Free tierRedis Free: 250 MB max data, 10 GB bandwidth/month, 1 database. Vector Free: 1 GB total data, 200M vectors x dims. QStash Free: 1,000 messages/day, 50 GB bandwidth, 1 MB message.
unit GB; metered on unstated
Pricenone stated
Per-object capnot stated
RetentionUnclaimed ephemeral DBs deleted after 3 days. (3 days)
EgressRedis Free caps bandwidth at 10 GB/month with max data 250 MB — a 40x fetch amplification before the egress meter binds. Vector Free: bandwidth free/unmetered, storage 1 GB is the wall.
free_allowance: 10 GB per month
Identityanonymous derived from the record's prose, not from an identity field, and no signup was executed: art-redis` mints a keyless, unauthenticated free Redis with no signup (deleted after 3 days unless claimed); claimed ones become normal free DBs. Vector's 1 GB with 1 MB per vector and 200M
Limits
  • retention-clamped deleted after 3 days source
  • retention-clamped delete at 3 days source
250 MB is tiny. 1 database per account. QStash 1 MB max message size makes it useless as storage. Request size 10 MB (upgradeable). Unclaimed ephemeral DBs deleted after 3 days.
Bindingretention-clamped a clock, not a quota: bytes leave whether or not the client is finished with them
Interfacerest rest
ToolingRedis protocol (any redis client), REST API for all three products, @upstash/redis SDK; QStash is HTTP-only
Composes withOne free database per account on Redis Free ('Max databases | 1') — no per-project multiplication. BUT: GET https://upstash.com/start-redis mints a keyless, unauthenticated free Redis with no signup (deleted after 3 days unless claimed); claimed ones become normal free DBs. Vector's 1 GB with 1 MB per vector and 200M vectors is the better storage shape: unlimited vector COUNT, only total bytes capped.
ReliabilityEphemeral DBs (unclaimed) hard-delete at 3 days — data vanishes by design. Claimed free DBs are durable.
NotesRedis Free: 250 MB max data, 10 GB bandwidth/month, 1 database. Vector Free: 1 GB total data, 200M vectors x dims. QStash Free: 1,000 messages/day, 50 GB bandwidth, 1 MB message.
Evidence rungreported One page read moves it to documented.
Checked2026-10-21 (inherited); stale on 2026-11-04
Evidence (4)
datesourcewhat it proved
2026-10-21upstash.com/pricing/redis'Free | $0/month | - | 250 MB | 10 GB', 'Max databases | 1' on Free
2026-10-21upstash.com/pricing/vector'Free | $0 | 200M | 10K | 1 GB', 'Max total data/metadata size: 1 GB'
2026-10-21upstash.com/pricing/qstash'Free | $0/month | 1,000 | 50 GB | 1 MB'
2026-10-21upstash.com/start-redisprobe: GET -> 200, documents zero-signup POST with Idempotency-Key; 'Databases live for 3 days unless claimed'
More fields (1)
{
 "dead_end": {
  "failure_class": "egress",
  "why": "Redis Free: 250 MB max data, 10 GB bandwidth/month, 1 database. Vector Free: 1 GB total data, 200M vectors x dims. QStash Free: 1,000 messages/day, 50 GB bandwidth, 1 MB message.",
  "retry_when": null,
  "first_recorded": "2026-10-21"
 }
}
Unknown or withheld values (5)
  • $.extras.dead_end.retry_when process
  • $.free_tier.notes process
  • $.per_object_cap.notes not-extracted
  • $.per_object_cap.stated not-extracted
  • $.retention.notes not-extracted

Upstash Redis Storage

fails: quotaanonymousno cardRretention-clamped

upstash.com/redis · paas · storage/upstash-redis · JSON · compare

Free tier250 MB max data size on Free; 500K commands per month; 10 GB bandwidth/month
unit MB; metered on unstated
Pricenone stated
Per-object capnot stated
RetentionFree DBs minted anonymously are DELETED after 3 days unless claimed. (3 days)
EgressFree up to 10 GB/month on the Free plan (then metered on paid). 10 GB/month = ~333 MB/day vs a 500 GB/day target — 1,500x short.
free_allowance: 10 GB per month
Identityanonymous derived from the record's prose, not from an identity field, and no signup was executed: D, RESET, QUIT) are explicitly not charged. Free DBs minted anonymously are DELETED after 3 days unless claimed. Free tier is 1 database per account (pricing table: 'Max databases | 1'). 25
Limits
  • retention-clamped DELETED after 3 days source
250 MB data; 10 MB max request size (LIVE-VERIFIED: a 20 MB SET returned 'ERR max request size exceeded. Limit: 10485760 bytes'); 100 MB max record size listed but the 10 MB request cap binds first; 10,000 max cmd/sec; 500K commands/month; 1 database
Bindingretention-clamped a clock, not a quota: bytes leave whether or not the client is finished with them
Interfacerest, cli rest
Toolingredis-cli over TLS, any Redis client, plus a body-style REST API (POST a JSON array command). Verified live: a free database can be minted with no signup via POST https://upstash.com/start-redis with an Idempotency-Key header.
Composes withFree tier is 1 database per account (pricing table: 'Max databases | 1'). 250 MB x N accounts. The command quota, not storage, is the wall: 500K commands/month = 16,667/day, and each GET returns at most 10 MB (verified), so max read throughput is 16,667 x 10 MB = 167 GB/day — 3x short of 500 GB/day even with a mythical 250 MB dataset read 667 times a day.
ReliabilityWorks and is fast; the killer is the command meter. Every GET, SET, EXISTS, and even pipelined command counts. Operational commands (PING, AUTH, INFO, CONFIG, SELECT, COMMAND, RESET, QUIT) are explicitly not charged. Free DBs minted anonymously are DELETED after 3 days unless claimed.
Notes250 MB max data size on Free; 500K commands per month; 10 GB bandwidth/month
Evidence rungreported One page read moves it to documented.
Checked2026-10-21 (inherited); stale on 2026-11-04
Evidence (5)
datesourcewhat it proved
2026-10-21upstash.com/pricing/redis'Free | $0/month | 250 MB | 10 GB' (Max Data / Max Bandwidth); FAQ: 'Free tier includes 250MB data size and 500K commands per month.'; 'Max databases | 1'
2026-10-21upstash.com/start-redisprobe: POST (Idempotency-Key header) -> 200, credentials returned, 'Expires: 2026-10-24 (3 days from creation)'
2026-10-21withheldprobe: SET of a 1,000,000-byte value -> {"result":"OK"}; GET -> 1,000,013 bytes returned; STRLEN -> 1000000; 9 MB and 10,000,000-byte SETs also OK; a 20 MB SET -> {"error":"ERR max request size exceeded. Limit: 10485760 bytes"}
2026-10-21withheldprobe: INFO memory on the freshly minted free DB -> maxmemory:67108864 (64 MB), maxmemory_policy:noeviction — i.e. the anonymous/agent database is provisioned at 64 MB, well under the advertised 250 MB
2026-10-21withheldarithmetic: 500,000 commands/month / 30 = 16,667 commands/day; x 10 MB max request = 167 GB/day ceiling. At a realistic 1 KB per command it is 16.7 MB/day — 30,000x short of 500 GB/day.
More fields (1)
{
 "dead_end": {
  "failure_class": "egress",
  "why": "250 MB max data size on Free; 500K commands per month; 10 GB bandwidth/month",
  "retry_when": null,
  "first_recorded": "2026-10-21"
 }
}
Unknown or withheld values (8)
  • $.evidence[2].url private-url
  • $.evidence[3].url private-url
  • $.evidence[4].url private-url
  • $.extras.dead_end.retry_when process
  • $.free_tier.notes process
  • $.per_object_cap.notes not-extracted
  • $.per_object_cap.stated not-extracted
  • $.retention.notes not-extracted

Upstash Vector Storage

fails: quotaemail?card?Rper-object-cap

upstash.com/vector · paas · storage/upstash-vector · JSON · compare

Free tier1 GB total data+metadata on Free; 10K daily queries; 200M vectors x dimensions
unit GB; metered on unstated
Pricenone stated
Per-object capnot stated
Retentionnot stated
EgressFree (bandwidth price $0 on Free), but 1 GB of stored data makes it moot.
Identityemail (placeholder) not published
Limits
  • per-object-cap 1 GB cap source
1 GB total; 10K queries/day (resets daily); 1 MB max per vector; 48 KB max metadata per vector; 1,536 max dimensions; 100 namespaces; 1 index
Bindingper-object-cap the per-object cap sets the shard size and therefore the object count; it bounds the total more tightly than any headline quota
Interfacerest rest
ToolingREST API, Python/TypeScript/Go SDKs; vectors are float arrays with up to 48 KB of metadata per vector, 1 MB max data per vector
Composes with1 GB per database, 100 namespaces per index and 1 index on Free. Namespaces share the 1 GB, so they do not multiply. 500 GB needs 500 free accounts.
ReliabilityStable managed service; queries are semantically searched rather than key-addressed, so it is a poor fit for blob retrieval anyway — you would use a 1-dimension vector as a pure key-value hack, which still hits the 1 GB cap.
Notes1 GB total data+metadata on Free; 10K daily queries; 200M vectors x dimensions
Evidence rungreported One page read moves it to documented.
Checked2026-10-21 (inherited); stale on 2026-11-04
Parsed numbers
  • $.limits[0].value limit:per-object-cap 1.0 GB
Evidence (1)
datesourcewhat it proved
2026-10-21upstash.com/pricing/vectorFree: 'Max Total Data | 1 GB'; 'Daily query limit | 10K'; 'Max data per vector | 1 MB'; 'Max metadata per vector | 48 KB'; 'Max namespaces | 100'
More fields (1)
{
 "dead_end": {
  "failure_class": "quota",
  "why": "1 GB total data+metadata on Free; 10K daily queries; 200M vectors x dimensions",
  "retry_when": null,
  "first_recorded": "2026-10-21"
 }
}
Unknown or withheld values (8)
  • $.extras.dead_end.retry_when process
  • $.free_tier.notes process
  • $.identity_cost.detail defaulted
  • $.identity_cost.kind identity-defaulted
  • $.per_object_cap.notes not-extracted
  • $.per_object_cap.stated not-extracted
  • $.retention.notes not-extracted
  • $.retention.stated not-extracted

upstash kafka Storage

deademail?card?R

upstash.com/blog/workflow-kafka · rejected-provider · storage/upstash-kafka · JSON · compare

Free tierDiscontinued. Deprecated 2024-09-11, shut down 2025-03-11. Do not plan around it; Upstash now points users at Workflow/QStash instead.
unit none; metered on none
Pricenone stated
Per-object capnot recorded
Retentionnot recorded
Egressnot recorded
Identityemail (placeholder) not published
Bindingnone no constraint of a named kind was recorded; the verdict rests on the quota sentence rather than on a named limit
Interfaceunknown
Toolingnot recorded
Composes withnot recorded
ReliabilityDiscontinued. Deprecated 2024-09-11, shut down 2025-03-11. Do not plan around it; Upstash now points users at Workflow/QStash instead.
NotesDiscontinued. Deprecated 2024-09-11, shut down 2025-03-11. Do not plan around it; Upstash now points users at Workflow/QStash instead.
Evidence rungreported
Checked2026-10-21 (inherited); stale on 2026-11-04
Evidence (2)
datesourcewhat it proved
2026-10-21upstash.com/blog/workflow-kafkaDiscontinued. Deprecated 2024-09-11, shut down 2025-03-11. Do not plan around it; Upstash now points users at Workflow/QStash instead.
2026-10-21community.fly.io/t/deprecation-notice-for-upstash-kafka/2177cited as the basis of the rejection: Discontinued. Deprecated 2024-09-11, shut down 2025-03-11. Do not plan around it; Upstash now points users at Workflow/QStash instead.
More fields (1)
{
 "dead_end": {
  "failure_class": "dead-service",
  "why": "Discontinued. Deprecated 2024-09-11, shut down 2025-03-11. Do not plan around it; Upstash now points users at Workflow/QStash instead.",
  "retry_when": null,
  "first_recorded": "2026-10-21"
 }
}
Unknown or withheld values (15)
  • $.chaining not-recorded
  • $.confidence_note withheld
  • $.egress.terms not-recorded
  • $.extras.dead_end.retry_when process
  • $.free_tier.notes process
  • $.identity_cost.detail defaulted
  • $.identity_cost.kind identity-defaulted
  • $.interface interface-unknown
  • $.interface_detail withheld
  • $.limits_note process
  • $.per_object_cap.notes not-recorded
  • $.per_object_cap.stated not-recorded
  • $.retention.notes process
  • $.retention.stated not-recorded
  • $.tooling not-recorded