Fetch() cache behaviour

With the following, the Response 's cf-cache-status header is BYPASS. I was expecting to see cache headers for the specified time instead.
url
is a URL to a third-party API. I have a change to the data on the third party service, triggered the worker within seconds, and I saw the change immediately - I was expecting it to stay cached. I need to verify how to cache these, as it's implied in the docs it should work.

fetch(url, {
  method: "GET",
  cf: {
    cacheEverything: true,
    cacheTtl: 30,
  },
  headers: {
    "Content-Type": `application/json`,
  },
});


In case it matters, I am on a paid worker plan. I am using a workers.dev subdomain.
The related website in the account is on the Free plan (I am not using it for a custom domain/route for the worker).
I am testing this via Wrangler.
Was this page helpful?