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