Bunny CDN provides raw request logs for all Pull Zones. Logs appear in near real-time for high-traffic zones, with up to a 5-minute delay for quieter zones. Searchable logs are retained for 3 days.
For longer retention, use Permanent Log Storage to automatically archive logs to Edge Storage.
Privacy & GDPR
IP addresses are anonymized by default. To enable full IP logging, sign the Data Processing Agreement (DPA) in your account settings, then disable anonymization in your Pull Zone logging settings.
API endpoint
Download raw log files from the logging API:
GET https://logging.bunnycdn.com/{MM}-{DD}-{YY}/{pull_zone_id}.log
Authenticate with your account API key:
Use gzip compression to reduce download size:
Example:
curl -H "AccessKey: your-api-key" \
-H "Accept-Encoding: gzip" \
"https://logging.bunnycdn.com/03-13-24/60367.log"
Query parameters
| Parameter | Description |
|---|
start | Number of log lines to skip from the beginning |
end | End index of log lines to return |
order | Sort order: asc or desc (default) |
Each request is stored as a pipe-separated line:
HIT|200|1507167062421|412|390|163.172.53.229|-|https://example.b-cdn.net/video.mp4|WA|Mozilla/5.0...|322b688bd63fb63f2babe9de30a5d262|DE
| Field | Description |
|---|
| Cache Status | HIT or MISS |
| Status Code | HTTP response code |
| Timestamp | UTC UNIX timestamp (milliseconds) |
| Bytes Sent | Total bytes sent to client |
| Pull Zone ID | ID of the Pull Zone |
| Remote IP | Client IP (anonymized by default) |
| Referer | Referer header value |
| URL | Requested URL |
| Edge Location | POP code that served the request |
| User Agent | Client user agent |
| Request ID | Unique request identifier |
| Country Code | Two-letter ISO country code |
Extended logging
Extended logging adds three additional fields (contact support to enable):
| Field | Description |
|---|
| Body Bytes Sent | Response body bytes (excluding headers) |
| Range Header | HTTP Range header value |
| Authorization Header | Authorization header value |
HTTP status codes
2XX Success
| Code | Description | Explanation |
|---|
| 200 | OK | Request successful, content served |
| 201 | Created | Request successful, new resource created |
| 204 | No Content | Request processed, no content to return |
| 206 | Partial Content | Partial GET request fulfilled (e.g., video range request) |
3XX Redirection
| Code | Description | Explanation |
|---|
| 301 | Moved Permanently | URL permanently changed, use new location |
| 302 | Found | URL temporarily moved |
| 303 | See Other | Response available at different location |
| 304 | Not Modified | Cached content still valid, no transfer needed |
4XX Client Errors
| Code | Description | Explanation |
|---|
| 400 | Bad Request | Server could not understand the request |
| 401 | Unauthorized | Authentication required |
| 403 | Forbidden | Server refuses to fulfill request (hotlink protection, token auth) |
| 404 | Not Found | File not found |
| 405 | Method Not Allowed | Request method not supported |
| 410 | Gone | Resource no longer available |
| 429 | Too Many Requests | Rate limit exceeded |
| 499 | Client Closed Request | Client terminated connection before response completed |
A 499 status code appears in logs when a client closes the connection before
the server finishes responding. This commonly occurs due to mobile network
interruptions, ad blockers, or users navigating away. It’s normal and doesn’t
indicate a server problem.
5XX Server Errors
| Code | Description | Explanation |
|---|
| 500 | Internal Server Error | Unexpected server error |
| 502 | Bad Gateway | Invalid response from upstream server |
| 503 | Service Unavailable | Server temporarily overloaded or under maintenance |
| 504 | Gateway Timeout | Upstream server didn’t respond in time |
502 and 504 errors typically indicate the CDN edge nodes cannot reach your
origin. Check if your origin firewall is blocking Bunny CDN IPs.
Cache statistics
The dashboard shows two important cache metrics:
| Metric | Description |
|---|
| Request Cache Hit Rate | Percentage of requests served directly from CDN edge cache |
| Bandwidth Hit Rate | Percentage of bandwidth served from CDN cache vs fetched from origin |
Higher percentages indicate better CDN efficiency—more content served from edge nodes without contacting your origin.