EmmaOnThursday
EmmaOnThursday

Reputation: 177

Google Books API rate limiting information?

I can't find any information on rate limiting with the Google Books API. I'm interested in doing ~300K total ISBN queries to retrieve lists of book categories, and I want to throttle my requests to stay under their limit. I have a developer API key, but not OAuth. Does anyone know what the rate limits are for the Google Books API, or at least have a ballpark?

Upvotes: 8

Views: 12070

Answers (2)

Tom Lever
Tom Lever

Reputation: 435

After making 100 queries to https://www.googleapis.com/books/v1/volumes?q=isbn:<ISBN> in 1 minute, I receive the following error. I made queries via a local Python script. I remember receiving a setup error message and needing to use a browser and possibly my email account to allow my script to run. I presume that if I create a Google Cloud project rate-books, create an API key for that project, and add query parameter key=<API KEY> to the above URL, then requests will be associated with project rate-books and my email account. Then, I will have 100 queries as that user for that project. I can request a higher rate limit following the URL in the error message.

{
  "error": {
    "code": 429,
    "message": "Quota exceeded for quota metric 'Queries' and limit 'Queries per minute per user' of service 'books.googleapis.com' for consumer 'project_number:624717413613'.",
    "errors": [
      {
        "message": "Quota exceeded for quota metric 'Queries' and limit 'Queries per minute per user' of service 'books.googleapis.com' for consumer 'project_number:624717413613'.",
        "domain": "global",
        "reason": "rateLimitExceeded"
      }
    ],
    "status": "RESOURCE_EXHAUSTED",
    "details": [
      {
        "@type": "type.googleapis.com/google.rpc.ErrorInfo",
        "reason": "RATE_LIMIT_EXCEEDED",
        "domain": "googleapis.com",
        "metadata": {
          "quota_location": "global",
          "quota_metric": "books.googleapis.com/default",
          "quota_limit_value": "100",
          "consumer": "projects/624717413613",
          "service": "books.googleapis.com",
          "quota_limit": "defaultPerMinutePerUser"
        }
      },
      {
        "@type": "type.googleapis.com/google.rpc.Help",
        "links": [
          {
            "description": "Request a higher quota limit.",
            "url": "https://cloud.google.com/docs/quotas/help/request_increase"
          }
        ]
      }
    ]
  }
}

Upvotes: 1

Good Lux
Good Lux

Reputation: 983

According to this post,

https://groups.google.com/forum/#!topic/google-api-java-client/_TFuPpAKSew

Around 100k/day is not a problem.

You can also request more quota, if you need it, as follows:

  1. Go to the API Console (https://code.google.com/apis/console)
  2. Select "Quotas" on the left navigation pane.
  3. Click on the "Request more..." link and submit the form.

"Your quota request should be processed within a few business days at most. Basically we want to hear from our developers so we know what type of traffic they are sending, so we can add resources to accommodate them as necessary. But from what you describe, perhaps 100K/day, should not be a problem."

Upvotes: 8

Related Questions