Accessing the Cloudflare Object
Access custom Cloudflare properties and control how Cloudflare features are applied to every request.
export default {  async fetch(req) {    const data =      req.cf !== undefined        ? req.cf        : { error: "The `cf` object is not available inside the preview." };
    return new Response(JSON.stringify(data, null, 2), {      headers: {        "content-type": "application/json;charset=UTF-8",      },    });  },};export default {  async fetch(req): Promise<Response> {    const data =      req.cf !== undefined        ? req.cf        : { error: "The `cf` object is not available inside the preview." };
    return new Response(JSON.stringify(data, null, 2), {      headers: {        "content-type": "application/json;charset=UTF-8",      },    });  },} satisfies ExportedHandler;import jsonfrom workers import Responsefrom js import JSON
def on_fetch(request):    error = json.dumps({ "error": "The `cf` object is not available inside the preview." })    data = request.cf if request.cf is not None else error    headers = {"content-type":"application/json"}    return Response(JSON.stringify(data, None, 2), headers=headers)Was this helpful?
- Resources
 - API
 - New to Cloudflare?
 - Products
 - Sponsorships
 - Open Source
 
- Support
 - Help Center
 - System Status
 - Compliance
 - GDPR
 
- Company
 - cloudflare.com
 - Our team
 - Careers
 
- 2025 Cloudflare, Inc.
 - Privacy Policy
 - Terms of Use
 - Report Security Issues
 - Trademark