# Pagination

class tweepy.Cursor(method, *args, **kwargs)

  `Cursor` can be used to paginate for any `API` methods that support pagination

  Parameters

    - method – `API` method to paginate for

    - args – Positional arguments to pass to `method`

    - kwargs – Keyword arguments to pass to `method`

  items(limit=inf)

    Retrieve the items in each page/request

    Parameters

      limit – Maximum number of items to iterate over

    Returns

      Iterator to iterate through items

    Return type

      ItemIterator

  pages(limit=inf)

    Retrieve the page for each request

    Parameters

      limit – Maximum number of pages to iterate over

    Returns

      Iterator to iterate through pages

    Return type

      CursorIterator or DMCursorIterator or IdIterator or NextIterator or PageIterator

class tweepy.Paginator(method, *args, **kwargs)

  `Paginator` can be used to paginate for any `Client` methods that support pagination

  New in version 4.0.

  Parameters

    - method – `Client` method to paginate for

    - args – Positional arguments to pass to `method`

    - kwargs – Keyword arguments to pass to `method`

  flatten(limit=inf)

    Flatten paginated data

    Parameters

      limit – Maximum number of results to yield

## Example

    import tweepy

    auth = tweepy.AppAuthHandler("Consumer Key here", "Consumer Secret here")
    api = tweepy.API(auth)

    for status in tweepy.Cursor(api.search_tweets, "Tweepy",
                                count=100).items(250):
        print(status.id)

    for page in tweepy.Cursor(api.get_followers, screen_name="TwitterDev",
                              count=200).pages(5):
        print(len(page))

    import tweepy

    client = tweepy.Client("Bearer Token here")

    for response in tweepy.Paginator(client.get_users_followers, 2244994945,
                                     max_results=1000, limit=5):
        print(response.meta)

    for tweet in tweepy.Paginator(client.search_recent_tweets, "Tweepy",
                                  max_results=100).flatten(limit=250):
        print(tweet.id)