How to see server-side network requests in Next.js

Updated 28 October 2026 · 5 min read

You open the Network tab, reload, and the call to your backend is not there. That is expected: in Next.js most data fetching happens on the server. Here is how to see those requests.

Why the Network tab does not show them

The browser's Network tab records requests the browser makes. When a Server Component, Route Handler, Server Action or generateMetadata calls an API, that request goes from the Node.js server straight to the API. The browser only receives the finished HTML or RSC payload, so there is nothing for DevTools to record.

Option 1: Next.js fetch logging

// next.config.ts
const nextConfig = {
  logging: { fetches: { fullUrl: true } },
};

export default nextConfig;

The terminal then lists every server fetch with its URL, status, cache hit or miss, and duration. It is built in and free, but it only covers fetch, and it never shows headers or bodies.

Option 2: log them yourself

With axios, an interceptor can log each request and response:

api.interceptors.request.use((config) => {
  console.log('→', config.method?.toUpperCase(), config.url, config.params);
  return config;
});

api.interceptors.response.use((response) => {
  console.log('←', response.status, response.config.url);
  return response;
});

This works, but it is code you have to add and remember to remove, it can print tokens into your logs, and the lines are hard to match to the page request that caused them.

Option 3: Node's experimental network inspection

Recent Node.js versions have an experimental --experimental-network-inspection flag that sends some of the server's HTTP traffic to the Network panel of DevTools for Node. Coverage depends on your Node version and it is still experimental, but it is worth knowing about.

Option 4: qaisdebugs

qaisdebugs was built for this. It hooks the dev server from outside, with no code changes, and records every outgoing call from fetch, axios, got, node-fetch and generated API clients:

npm install -g qaisdebugs
qaisdebugs dev     # instead of npm run dev
# open http://127.0.0.1:4983

The browser's own requests show up in the same list, and a call from the page to your own API is one row with both halves: what the browser sent and what the server did with it.