Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion blog/2026-04-18-api-tips/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -154,7 +154,9 @@ Store the timestamp of your last successful sync and pass it on the next run. Th

## Use Conditional Requests to Avoid Redundant Work

Detail endpoints (`GET /api/{resource}/{id}/`) support HTTP conditional requests via `If-Modified-Since` / `Last-Modified` headers. If the resource has not changed since you last fetched it, the server returns `304 Not Modified` with an empty body — saving bandwidth and not counting against your quota in any meaningful sense while keeping your data fresh.
Detail endpoints (`GET /api/{resource}/{id}/`) support HTTP conditional requests via `If-Modified-Since` / `Last-Modified` headers. If the resource has not changed since you last fetched it, the server returns `304 Not Modified` with an empty body — saving bandwidth while keeping your data fresh.

> **Update (2026-08-21):** An earlier version of this post stated that conditional requests do not count against your daily rate limit quota. That's incorrect — a `304 Not Modified` response still counts as a request against both the burst and sustained limits. Conditional requests save bandwidth (and the cost of re-parsing a payload you already have), but they don't give you extra headroom in your daily quota. Factor that into any polling frequency you choose.

```python
import requests
Expand Down