title: BQ PY Client Library :: Iterate large results thought pagination
body: <p>I'm learning [BQ PY Client Libraries], CLs<a href="https://googlecloudplatform.github.io/google-cloud-python/latest/bigquery/usage.html" rel="nofollow noreferrer">1</a> </p>
  
  <p>my query returns large results (>1m rows) and would like to paginate through the results (for ex. fetch 100K results a time, instead all 1M row sin one go!)</p>
  
  <p>I checked <a href="https://cloud.google.com/bigquery/docs/reference/rest/v2/jobs/getQueryResults" rel="nofollow noreferrer">REST APIs doc</a> and it seems the parameter <code>maxResults</code> could be used to achieve that (setting it to desired # of rows in each page fetch?!)</p>
  
  <p>It seems Client Library methods don't yet support this parameter ? </p>
  
  <ul>
  <li><p>I'm using <code>job.result()</code> method to fetch results (after query status changes to <code>DONE</code>) and the <a href="https://github.com/GoogleCloudPlatform/google-cloud-python/blob/696b307594412102460d0ee66d601117118e5217/bigquery/google/cloud/bigquery/job.py#L2478" rel="nofollow noreferrer">GH code</a> doesn't mention any parameter to achieve that. Looking at HTTP request the CLs seem to make request with <code>?maxResults=0</code></p></li>
  <li><p>I also tried <code>job.result().pages</code> (to get pages iterator) and iterate through pages.. but each page seems to have arbitrary number of rows (close to 55K) (how do CLs decide that?) Cannot seem to specify any parameter value to control # rows per page? It doesn't seem so..</p></li>
  </ul>
  
  <p><strong>how can I iterate through pages using own custom maxResults value</strong></p>