API limits and errors

    These ceilings protect the shared service. Your dashboard shows request volume and any observed limit events.

    By Zainul Ariffin

    Requests

    120 / minute

    Per API key

    Response size

    4.5 MB

    Maximum JSON response

    Row threshold

    20,000

    Observed or enforced per response

    Rate-limit headers

    Every authenticated request includes the current window information.

    HeaderMeaning
    RateLimit-LimitMaximum requests in the current window.
    RateLimit-RemainingRequests remaining in the current window.
    RateLimit-ResetUnix timestamp, in seconds, when the allowance resets.
    Retry-AfterReturned with an enforced 429 response.
    X-Request-IDOpaque support identifier for tracing one request.

    Error reference

    Use the stable error code in application logic and the message for debugging.

    StatusCodeDescription
    401
    UNAUTHORIZEDThe bearer API key is missing, invalid, or no longer active.
    400
    INVALID_REQUESTThe request body or sheet reference is invalid.
    400
    SHEET_UNAVAILABLEThe sheet is private, unpublished, missing, or unavailable.
    413
    RESPONSE_TOO_LARGEThe upstream or serialized JSON response is larger than 4.5 MB.
    413
    ROW_LIMIT_EXCEEDEDThe parsed Sheet exceeded an enforced or hard row limit.
    429
    RATE_LIMITEDThe API key exceeded its enforced per-minute allowance.
    502
    GOOGLE_REQUEST_FAILEDGoogle could not return a usable sheet response.
    504
    GOOGLE_REQUEST_TIMEOUTThe upstream Google request exceeded the timeout.

    Usage diagnostics and retention

    SheetsDB records bounded operational diagnostics for dashboards and troubleshooting. Request telemetry does not store Sheet contents, response bodies, or raw bearer API keys. Sensitive request metadata is encrypted and expires automatically. See the privacy and retention guide.