scribase
Fix guide

Supabase says you exceeded your egress quota. What now?

Egress is every byte Supabase sends to your clients: database rows, auth responses, file downloads, function output, realtime messages and log drains. The Free Plan includes 5 GB uncached plus 5 GB cached a month, and staying over it ends in 402 responses.

Last checked October 8, 2026.

What counts as egress

Supabase bills the network data sent out of the system to a connected client, for every service: Database, Auth, Storage, Edge Functions, Realtime and Log Drains. Cached egress is what the CDN serves from cache (mostly Storage via Smart CDN); uncached is everything else. They have separate quotas. Quotas apply to the whole organization: usage is summed across all its projects.

Included egress per month, from the Supabase egress docs (checked 2026-10-08)
PlanUncachedCachedOver the quota
Free5 GB5 GBGrace period, then restrictions (no paid overage)
Pro250 GB250 GB$0.09 per GB uncached, $0.03 per GB cached
Team250 GB250 GB$0.09 per GB uncached, $0.03 per GB cached

Sources: Supabase: Manage egress usage, Supabase: About billing

What happens when you go over

  • On the Free Plan, or with the Spend Cap on, Supabase emails the billing address and starts a grace period.
  • If usage stays over, restrictions apply. They can include pausing projects, read-only databases, and a 402 status for all API requests.
  • A restricted project answers with HTTP 402 and a description containing a code such as exceed_egress_quota (or exceed_db_size_quota for database size).
  • After one grace period, the dashboard keeps a warning, and going over again restricts the project with no new grace period.

Sources: Supabase: Billing FAQ, Supabase: HTTP status codes

How to get the project back

  1. Step 1

    Wait for the next billing cycle, or upgrade

    Restrictions caused by usage are lifted when the quota refills at the start of the next billing cycle. Upgrading a Free organization to Pro lifts them right away. Pausing or deleting a project stops new usage, but the usage already counted this cycle stays.

  2. Step 2

    Find what is sending the bytes

    The organization usage page shows egress per project, and the observability reports chart egress per service. The service with the steepest line is where to start.

Sources: Supabase: Billing FAQ, Supabase: Manage egress usage

Changes that cut egress the most

  • Select only the columns you render: .select('id,title') instead of .select('*'). Wide rows with JSON or text columns are the usual culprit.
  • Paginate with .range() and add limits to list queries; never ship a whole table to the browser to filter it there.
  • Stop returning full rows from writes you do not read back. In supabase-js an insert or update returns nothing unless you chain .select(); configure your ORM the same way.
  • Cache read-heavy queries on your server or edge, and avoid polling; a realtime subscription to the rows you show is cheaper than refetching a list every few seconds.
  • Serve images through the CDN (cached egress has its own quota and a lower overage price) and resize them instead of sending originals.
  • Exclude large tables from scheduled dumps that run through the pooler, or run them less often; backups taken over the network count too.

Sources: Supabase: Manage egress usage

Egress on Scribase

Each Scribase project is $25 a month and every environment in it includes 250 GB of egress. There is no per-GB line on the invoice: if a project needs more, a +250 GB block costs $10. A signed usage webhook fires at 80 percent and at the cap, so you hear about a viral day before your users do.

Your supabase-js code keeps working; the move is a new URL and key plus one importer run.

Sources: Scribase pricing

FAQ

Questions people ask

What does exceed_egress_quota mean?

It is the code Supabase puts in the 402 response of a restricted project whose organization kept using more egress than its plan includes. The restriction lifts when the quota refills at the next billing cycle, or immediately on upgrading from Free to Pro.

Is the Supabase Free egress quota per project?

The Free Plan quota is for the organization: all its projects share the 5 GB uncached and 5 GB cached.

Does deleting the project reset the egress counter?

No. Pausing or deleting stops new usage, but egress already used in the current billing cycle still counts.

Do database queries count as egress?

Yes. Rows returned to a client through the REST API or a direct Postgres connection count, as do Auth, Storage, Realtime, Functions and log drains.