Limits at a glance
Paging
Whilehas_more is true, pass next_cursor back as cursor with the same filters, window, sort and page_size. A cursor only works for the partner and the query that produced it, and is at most 1,024 characters.
Rate limit
A throttled request returns429 Too Many Requests with Retry-After: 1, alongside the X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset headers. The body is:
Reporting allowance
Arun_performance_report on detail dimensions and a click search can return RESOURCE_EXHAUSTED with this exact message:
Parameter length limits
String parameters are validated before any backend call. A value over its limit is refused withINVALID_ARGUMENT.
Filter values may not contain quotes, backslashes, control characters or emoji. Exclusion syntax such as
!US is refused on report filters, on every activity filter and on the list_offers country filter. Report filters refuse empty values; an empty list_offers search or country, or an empty activity sub1 or country, is read as no filter.
Size limits
A cut value in an offer carries a
[truncated: N of M characters shown] marker.
Errors
When a tool call fails, the result hasisError: true and its text is a JSON object:
Error codes
HTTP-level answers
Authentication, access and the rate limit are answered by the HTTP layer before any tool runs, in this order, with a JSON object instead of the envelope above, for example{"Error":"Unable to authenticate request"}. HTTP-level answers use the capitalised key Error, while tool-level errors use code and message.
A request refused with
403 does not use any of your rate limit.
