Skip to content

Supabase Auth errorSupabase Auth: over_request_rate_limit (429 Too Many Requests)

over_request_rate_limit is the Supabase Auth error for too many requests from one IP address. Sign-ups, magic links and password resets default to 30 requests per 5 minutes per IP. Common causes are a React effect that calls auth in a loop, or a server that sends every user’s sign-in from one IP.

Short answer

Check the network tab for repeated auth calls and fix the loop first. If sign-ins go through your own server, every user shares its IP: turn on IP address forwarding and send the user’s IP, or sign in from the browser. Raise the limits in Authentication > Rate Limits only for real traffic.

Rather not fix it yourself? App Fix Ticket starts with a fixed-price diagnosis, then a fixed price for the fix before any fix work.

Why Supabase is rate limiting, and the fix

  1. 01

    A React effect calls auth in a loop

    “Sometimes can indicate a bug in your application that mistakenly sends out too many requests (such as a badly written useEffect React hook).” Supabase docs, Auth error codes (over_request_rate_limit)

    An effect that calls getUser, signIn or refresh and also updates state it depends on runs again and again. Subscribe once with onAuthStateChange and clean up on unmount.

    useEffect(() => {
      const { data } = supabase.auth.onAuthStateChange((_event, session) => {
        setSession(session);
      });
      return () => data.subscription.unsubscribe();
    }, []); // run once, not on every session change
  2. 02

    Every sign-in comes from your server’s IP

    “Defaults to 30 requests per 5 minutes, with bursts up to 30 requests.” Supabase docs, Auth rate limits (Sign-ups and sign-ins)

    When a Next.js route or an Edge Function signs users in for them, Supabase sees one IP for all users and the limit fills quickly. Turn on IP address forwarding in Authentication > Rate Limits and set the Sb-Forwarded-For header with a secret API key, or sign users in from the browser.

  3. 03

    Token refreshes pile up

    “Defaults to 150 requests per 5 minutes, with bursts up to 30 requests.” Supabase docs, Auth rate limits (Token endpoint requests)

    Many tabs, or several Supabase clients in one app, each refresh the session. Create one client and share it, and let the library refresh on its own.

  4. 04

    Real traffic is higher than the default

    “When rate limits are exceeded, a 429 Too Many Requests error is returned.” Supabase docs, Auth rate limits

    A launch, a school or an office behind one IP can hit the limit honestly. Raise it in Authentication > Rate Limits, and show users a “try again in a few minutes” message on a 429.

Checked against the vendor’s docs on : Supabase docs: Auth error codes; Supabase docs: Auth rate limits.

Rather hand it over?

Fixed scope, fixed price, paid upfront. The work happens in writing; no call needed.

“Very responsive, attentive to fixing bugs, and completed the project as needed! Thank you!”
A buyer in the United States, July 2022. Shopify on Fiverr
All 127 Fiverr reviews

Related: Supabase email rate limit exceeded · Supabase users logged out (refresh token) · Supabase invalid login credentials · Supabase captcha_failed

Questions

More on this error

How long until the limit resets?

A few minutes. The limit refills over time, so a client that stops sending requests can sign in again shortly after.

Is this the same as the email rate limit?

No. over_email_send_rate_limit is about emails Auth sends, which the project limits. over_request_rate_limit counts auth requests from one IP address.

Can you fix it for me?

If one bug is the whole problem, the App Fix Ticket covers it: a written diagnosis first, then the fix. If the app has more going on, the Launch Check is a written check of the whole app. Each issue found is rated critical, high, medium or low, with where it is and how it was confirmed. No issues worth fixing, no charge. If the Launch Check finds nothing rated medium or higher, Simon refunds the full $450. You keep the report either way. This applies to the first 10 Launch Checks bought after October 30, 2026.

A different error?

Describe it and get a written quote

Send the error and what you were doing. You get a written scope, a fixed price and a timeline; Simon replies by email, usually within one business day.