@@ -230,6 +230,11 @@ def search_studies(self, **kwargs):
230230 display : bool, default False
231231 If True, render a small preview after parsing.
232232
233+
234+ skip : int, optional
235+ Number of studies to skip (for pagination). Use with ``limit`` to page through results.
236+ Example: ``limit=10, skip=10`` returns items 11–20.
237+
233238 Returns
234239 -------
235240 pandas.DataFrame
@@ -383,12 +388,23 @@ def search_studies(self, **kwargs):
383388
384389 df_recent = ds.search_studies(recent=True, limit=25)
385390 df_recent.head()
391+
392+ Limit and Skipping (for pagination)
393+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
394+ .. jupyter-execute::
395+
396+ # Limit up to first 10 results
397+ df_limit = ds.search_studies(earliest_year=12000, time_format="BP", time_method="overAny", limit=10)
398+ df_limit.head()
399+
400+ # Skip the first 10 results (i.e., get results 11-20)
401+ df_skip = ds.search_studies(earliest_year=12000, time_format="BP", time_method="overAny", limit=10, skip=10)
402+ df_skip.head()
386403 """
387404
388- for param in ("headerheaders_only" , "skip" ):
389- if param in kwargs :
390- log .warning ("%s is not supported and will be ignored." , param )
391- kwargs .pop (param , None )
405+ if "headers_only" in kwargs :
406+ log .warning ("%s is not supported and will be ignored." , param )
407+ kwargs .pop ("headers_only" , None )
392408
393409 if not any ([
394410 kwargs .get ("xml_id" ), kwargs .get ("noaa_id" ),
@@ -402,7 +418,7 @@ def search_studies(self, **kwargs):
402418 kwargs .get ("cv_whats" ), kwargs .get ("min_elevation" ),
403419 kwargs .get ("max_elevation" ), kwargs .get ("time_format" ),
404420 kwargs .get ("time_method" ), kwargs .get ("reconstruction" ),
405- kwargs .get ("species" ), kwargs .get ("recent" ),
421+ kwargs .get ("species" ), kwargs .get ("recent" ), kwargs . get ( "skip" )
406422 ]):
407423 raise ValueError (
408424 "At least one search parameter must be specified to initiate a query. "
0 commit comments