Skip to content
DocsErrorsRequest-time API was called outside request

Request-time API was called outside request

Why This Error Occurred

A Request-time API was called outside a request scope. (Eg.: Global scope).

Note that Request-time APIs could have been called deep inside other modules/functions (eg.: third-party libraries) that are not immediately visible.

Possible Ways to Fix It

Make sure that all Request-time API calls happen in a request scope.

Example:

app/page.js
import { cookies } from 'next/headers'
 
- const cookieStore = await cookies()
export default async function Page() {
+ const cookieStore = await cookies()
  return ...
}
app/foo/route.js
import { headers } from 'next/headers'
 
- const headersList = await headers()
export async function GET() {
+ const headersList = await headers()
  return ...
}

generateStaticParams

Request-time APIs like headers(), cookies(), connection(), and draftMode() are not available inside generateStaticParams because it runs at build time to determine which pages to statically generate. There is no HTTP request in this context.

Note: Root param getters (import { lang } from 'next/root-params') are supported inside generateStaticParams for nested segments, as the parent params are known at that point.

Was this helpful?

supported.