In short. Compare EdgeResponseStatus and OriginResponseStatus within each request record, using cache, security and request-source fields to interpret the result.
Definition: As of 17 October 2026, Cloudflare's HTTP request logs distinguish
EdgeResponseStatus, the status code Cloudflare returns to the client, fromOriginResponseStatus, the status returned by the upstream server hosting the website. Comparing these fields in the same request record shows which response reaches a crawler and whether an origin response is recorded.
Key facts
- Cloudflare's HTTP Requests field reference defines both status fields as integers and defines
RayIDas the request identifier. - Cloudflare's origin status FAQ explains that origin status
0occurs with cache hits, Worker responses, security blocks, redirects and internal subrequests. - Cloudflare's request-source reference identifies
eyeballas an end-user request andedgeWorkerFetchas a fetch made by a Worker, a script running on Cloudflare.
Which fields belong in the comparison?
A useful export keeps the requested URL and client information beside both status codes. In the field reference, ClientRequestURI includes the path and query string, while ClientRequestUserAgent contains the user agent reported by the client. EdgeStartTimestamp records when Cloudflare receives the request.
The following JSON fragment selects fields through output_options.field_names, the setting documented in Cloudflare's Log Output Options:
{
"output_options": {
"field_names": [
"EdgeStartTimestamp",
"RayID",
"ClientRequestHost",
"ClientRequestURI",
"ClientRequestUserAgent",
"ClientRequestSource",
"EdgeResponseStatus",
"OriginResponseStatus",
"CacheCacheStatus",
"SecurityAction",
"SecurityRuleID",
"WorkerSubrequest",
"ParentRayID"
]
}
}
This is a field-selection fragment. Updating a job replaces its entire output_options object, so an update must also preserve any existing options that should continue to apply, such as timestamp formatting or sampling.
How should response-code differences be investigated?
Start with the edge code for the crawler's request, then inspect the origin code in that record. Cloudflare's status-code guide states that an origin 5xx error is forwarded to the end user. An edge 522 indicates that Cloudflare cannot establish a TCP connection to the origin; 524 indicates an established connection without an HTTP response before the timeout.
For an edge 403, the same guide lists security features including the Web Application Firewall and Cloudflare challenges. The HTTP Requests reference defines SecurityAction and SecurityRuleID as the action and rule identifier associated with a terminating security action, if any. Those fields provide evidence of the rule involved when investigating crawler access.
What does an origin status of zero mean?
The field reference defines OriginResponseStatus=0 as no response received from the origin, with the response served by Cloudflare's edge, and explicitly includes a Workers-subrequest caveat. WorkerSubrequest identifies a Worker subrequest, and ParentRayID identifies its parent request.
Read CacheCacheStatus alongside that value. Cloudflare's cache-response documentation describes a cache hit as a resource found in Cloudflare's cache. It also explains that a custom firewall rule can block a request before it reaches cache, and a Worker can generate a response without making subrequests.
Cloudflare's origin status FAQ documents internal Early Hints cache lookups that return edge 504 on a cache miss. Its request-source reference supplies the corresponding ClientRequestSource value, earlyHintsCache. Separate these internal records before counting crawler failures.
Related terms
- HTTP status codes
- Server log analysis
- Which Cloudflare HTTP log fields help identify AI crawler requests?
FAQ
Does origin status zero mean Cloudflare blocked my crawler?
You need the surrounding fields to identify the cause. Cloudflare's origin status FAQ lists cache hits and Worker responses among the normal causes of origin status 0, alongside security blocks.
Which field shows the status returned to my crawler?
Use EdgeResponseStatus for the crawler's request record. Cloudflare's HTTP Requests reference defines it as the HTTP status code returned to the client.
Sources
- Cloudflare, "HTTP Requests", 14 September 2026
- Cloudflare, "504 responses with origin status 0 in Logpush", 23 April 2026
- Cloudflare, "ClientRequestSource field", 23 April 2026
- Cloudflare, "Log Output Options", 17 June 2026
- Cloudflare, "Status codes", 6 May 2026
- Cloudflare, "Cloudflare cache responses", 4 September 2026
Check how a page reads to answer engines. Open the GEO score analyzer