pageSize: The maximum number of rows to retrieve in a single request.
Defaults to the maximum page size of 1000 rows.
pageToken: The token of the page to return. If unspecified, the first
page is returned.
nextPageToken: The pageToken value to get the next page from an
accounts.reports.search
call.
When a pageToken is provided, all other parameters in the call must match the
previous call to avoid unexpected behavior.
For example, if you make the following query on an account that has 100,000
offer_id values, and the pageSize is set to 200, the result contains only
200 ReportRow objects in the first response, along with a nextPageToken:
To retrieve the next 200 rows, send the request again with the same page size,
but update the request's pageToken to the nextPageToken from the
preceding response.
[null,null,["Last updated 2025-08-07 UTC."],[[["\u003cp\u003eThe Merchant Center Query Language allows you to control the number of rows retrieved and navigate through large datasets using \u003ccode\u003epageSize\u003c/code\u003e and \u003ccode\u003epageToken\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003epageSize\u003c/code\u003e determines the maximum rows per request, defaulting to 1000, while \u003ccode\u003epageToken\u003c/code\u003e specifies the page to retrieve, starting with the first page if unspecified.\u003c/p\u003e\n"],["\u003cp\u003eTo get subsequent pages, use the \u003ccode\u003enextPageToken\u003c/code\u003e received in the previous response, ensuring all other query parameters remain consistent.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003enextPageToken\u003c/code\u003e will not be included in the response for the final batch of rows.\u003c/p\u003e\n"]]],[],null,["# Paginate query results\n\nThe [Merchant Center Query\nLanguage](/merchant/api/guides/reports/query-language) provides the following\nfields for pagination:\n\n- `pageSize`: The maximum number of rows to retrieve in a single request. Defaults to the maximum page size of 1000 rows.\n- `pageToken`: The token of the page to return. If unspecified, the first page is returned.\n- `nextPageToken`: The `pageToken` value to get the next page from an [`accounts.reports.search`](/merchant/api/reference/rest/reports_v1/accounts.reports/search) call.\n\nWhen a `pageToken` is provided, all other parameters in the call must match the\nprevious call to avoid unexpected behavior.\n\nFor example, if you make the following query on an account that has 100,000\n`offer_id` values, and the `pageSize` is set to 200, the result contains only\n200 `ReportRow` objects in the first response, along with a `nextPageToken`: \n\n SELECT offer_id, impressions, clicks, click_through_rate\n FROM product_performance_view\n WHERE date BETWEEN '2023-12-01' AND '2023-12-31'\n\nHere's sample response (the first five results, and the\n`nextPageToken`): \n\n {\n \"results\": [\n {\n \"productPerformanceView\": {\n \"offerId\": \"12345\",\n \"clicks\": \"0\",\n \"impressions\": \"59\",\n \"clickThroughRate\": 0\n }\n },\n {\n \"productPerformanceView\": {\n \"offerId\": \"12346\",\n \"clicks\": \"9625\",\n \"impressions\": \"276695\",\n \"clickThroughRate\": 0.034785594246372356\n }\n },\n {\n \"productPerformanceView\": {\n \"offerId\": \"12347\",\n \"clicks\": \"148\",\n \"impressions\": \"22045\",\n \"clickThroughRate\": 0.0067135404853708325\n }\n },\n {\n \"productPerformanceView\": {\n \"offerId\": \"12348\",\n \"clicks\": \"11\",\n \"impressions\": \"1100\",\n \"clickThroughRate\": 0.01\n }\n },\n {\n \"productPerformanceView\": {\n \"offerId\": \"12349\",\n \"clicks\": \"569\",\n \"impressions\": \"62977\",\n \"clickThroughRate\": 0.0090350445400701838\n }\n },\n ...\n ],\n \"nextPageToken\": \"CMgB\"\n }\n\nTo retrieve the next 200 rows, send the request again with the same page size,\nbut update the request's `pageToken` to the `nextPageToken` from the\npreceding response.\n| **Key Point:** `nextPageToken` isn't populated in the response that contains the last batch of rows."]]