I'm building a small personal project that checks whether used books are available on a particular site. To gather metadata, I query the Google Books API for a book's title, author, publisher, and publication year using its ISBN. For example: https://www.googleapis.com/books/v1/volumes?q=isbn:9788870786644&key=KEY_EXAMPLE&maxResults=1
The request is valid and sometimes returns the expected book data, but other times it fails with a 503 response containing the message "Service temporarily unavailable" and the reason "backendFailed." The behavior is inconsistent: sending the exact same request again in Postman can alternate between success and failure. With curl, the first few requests may work while the next few fail, and the same issue occurs from my Node.js application with several different valid ISBNs.
The Books API is enabled for the project, and quota usage is nearly zero, so this does not appear to be a quota problem or an invalid ISBN. I currently retry once and then fall back to Open Library, but metadata retrieval is still unreliable.
Is this a known Google Books API backend issue? Should I use exponential backoff with jitter and several retry attempts, or are there other configuration or request-handling details I should investigate?
4 Answers
Use retries, but avoid immediately sending the same request over and over. A reasonable strategy is three or four attempts with exponential backoff and random jitter—for example, wait roughly 500 ms, then 1 second, then 2 seconds, with a little randomness added to each delay. Only retry transient 5xx responses, and set a maximum overall timeout so a single ISBN does not hold up the entire job.
A 503 with a backendFailed reason generally indicates a temporary failure on the provider’s side, not a malformed ISBN or a problem with your API key. The same request succeeding and failing moments apart is a strong sign that the backend is unstable or that different requests are being routed to unhealthy service instances.
Keeping Open Library as a fallback is sensible. The Google Books volumes endpoint has had periods of intermittent failures and inconsistent search results, including empty results or irrelevant matches even when the ISBN is valid. Cache successful metadata, normalize and validate the returned ISBN before accepting a result, and switch providers after the retry limit is reached.
Other users have seen the same pattern recently: occasional 503 responses and, at times, poor search results. Since the failures happen across Postman, curl, and application code, changing clients probably will not fix it. Monitor the error rate and check the provider’s status or issue reports, but design the integration assuming that occasional failures are normal.

That makes sense, but it has continued for several days rather than being a brief outage. I’ll treat it as an intermittent provider issue and make the fallback behavior more robust.