The API does not send ETag or Last-Modified headers yet, and it does not answer 304 Not Modified. An If-None-Match or If-Modified-Since header is ignored, and every request is answered in full and costs its units.

Until it does, spend fewer units this way:

  • Keep what you fetched for at least as long as the route's freshness in the API reference. Asking again sooner returns the same answer and costs the same.
  • Ask for less. view=card on search and Popular returns the lean row; limit takes only the page you need; basic=true on a novel returns only its id and titles; include_chapters=false on one arc's recap leaves out the chapter summaries.
  • Find changes from your library, not by fetching every novel: GET /user-novels/bookmarks?new_chapters=true lists only the novels with chapters you have not read. See Keeping in sync.

When conditional requests arrive, this page and the site's changelog will say so; it will be an addition inside /api/v1, with nothing to change in a working client.