Start watching free

Error library · Requests that crawl

Slow API requests: when a call takes 5+ seconds

Part of your app loads slowly: requests to your-project.supabase.co/rest/v1/orders take about 7 seconds, when a second or two is normal. Nothing breaks, but people are left watching a spinner.

Who it affects

Anyone using the part of the app that waits on this — 5 visitors so far, on /checkout — waits 7+ seconds, and many give up.

Numbers here are from an example app where 5 visitors hit it. How serious: Medium — annoying, and worth fixing soon.

How to fix it

Give this to the AI that builds your app. It’s the prompt Vigilia writes for this error — shown here for an example app (an orders table, a /checkout page); for your app, Vigilia fills in the real details from what your visitors hit.

For Lovable
Lovable can make this change. Performance: the request GET https://your-project.supabase.co/rest/v1/orders takes about 7s in production.

Evidence: "GET https://your-project.supabase.co/rest/v1/orders took 7s", request to https://your-project.supabase.co/rest/v1/orders (HTTP 200) — seen 12 times across ~5 sessions, on /checkout.

Find why and make it fast:
1. Check the query behind it: add an index on the columns it filters or sorts by, and select only the columns the page shows. Row-level security policies with subqueries are a common hidden cost.
2. Look for slow calls to other services made while the request waits, and for serverless cold starts.
3. Paginate or cache where it helps, and let the page render with a loading state instead of waiting for this data.

Acceptance criteria: the request returns in under 1 second for a typical visitor, and the page is usable while it loads.
For Bolt
Bolt can make this change. Performance: the request GET https://your-project.supabase.co/rest/v1/orders takes about 7s in production.

Evidence: "GET https://your-project.supabase.co/rest/v1/orders took 7s", request to https://your-project.supabase.co/rest/v1/orders (HTTP 200) — seen 12 times across ~5 sessions, on /checkout.

Find why and make it fast:
1. Check the query behind it: add an index on the columns it filters or sorts by, and select only the columns the page shows. Row-level security policies with subqueries are a common hidden cost.
2. Look for slow calls to other services made while the request waits, and for serverless cold starts.
3. Paginate or cache where it helps, and let the page render with a loading state instead of waiting for this data.

Acceptance criteria: the request returns in under 1 second for a typical visitor, and the page is usable while it loads.
For Cursor
Performance: the request GET https://your-project.supabase.co/rest/v1/orders takes about 7s in production.

Evidence: "GET https://your-project.supabase.co/rest/v1/orders took 7s", request to https://your-project.supabase.co/rest/v1/orders (HTTP 200) — seen 12 times across ~5 sessions, on /checkout.

Find why and make it fast:
1. Check the query behind it: add an index on the columns it filters or sorts by, and select only the columns the page shows. Row-level security policies with subqueries are a common hidden cost.
2. Look for slow calls to other services made while the request waits, and for serverless cold starts.
3. Paginate or cache where it helps, and let the page render with a loading state instead of waiting for this data.

Acceptance criteria: the request returns in under 1 second for a typical visitor, and the page is usable while it loads.
For Claude Code
Performance: the request GET https://your-project.supabase.co/rest/v1/orders takes about 7s in production.

Evidence: "GET https://your-project.supabase.co/rest/v1/orders took 7s", request to https://your-project.supabase.co/rest/v1/orders (HTTP 200) — seen 12 times across ~5 sessions, on /checkout.

Find why and make it fast:
1. Check the query behind it: add an index on the columns it filters or sorts by, and select only the columns the page shows. Row-level security policies with subqueries are a common hidden cost.
2. Look for slow calls to other services made while the request waits, and for serverless cold starts.
3. Paginate or cache where it helps, and let the page render with a loading state instead of waiting for this data.

Acceptance criteria: the request returns in under 1 second for a typical visitor, and the page is usable while it loads.
For any other tool
Performance: the request GET https://your-project.supabase.co/rest/v1/orders takes about 7s in production.

Evidence: "GET https://your-project.supabase.co/rest/v1/orders took 7s", request to https://your-project.supabase.co/rest/v1/orders (HTTP 200) — seen 12 times across ~5 sessions, on /checkout.

Find why and make it fast:
1. Check the query behind it: add an index on the columns it filters or sorts by, and select only the columns the page shows. Row-level security policies with subqueries are a common hidden cost.
2. Look for slow calls to other services made while the request waits, and for serverless cold starts.
3. Paginate or cache where it helps, and let the page render with a loading state instead of waiting for this data.

Acceptance criteria: the request returns in under 1 second for a typical visitor, and the page is usable while it loads.

Vigilia catches this automatically

When this happens on your live app, Vigilia recognises it at once — no waiting, no AI credits — tells you who it affects, hands your AI the fix, and confirms it held with real visitors.

More errors, explained