---
id: next-route-handler-get-cache-defaults
title: Next.js Route Handler GET cache defaults
status: active
candidateKinds: ["uncached_route", "cache_header_gap"]
frameworks: ["next@>=15.0.0"]
priority: 91
citations:
  [
    "https://nextjs.org/docs/app/api-reference/file-conventions/route",
    "https://vercel.com/docs/caching/cdn-cache",
  ]
maxBriefChars: 850
---

## Investigation Brief

On Next.js 15+, GET Route Handlers are dynamic by default. For hot public GET handlers, verify whether uncached behavior is intentional before recommending cache headers or route config.

## Evidence To Check

Use method share, cache result, and source. Check `GET`, `revalidate`, `dynamic`, request headers, cookies, auth, query params, and response `Cache-Control`.

## Do Not Recommend When

Do not cache POST-style handlers, webhooks, per-user APIs, streaming responses, search requests with user-specific params, or handlers that read auth/cookies.

## Verification

Name the Next.js version, GET share, cache result mix, and the exact handler or header line that makes public caching safe.
