Iterate through a chat history sequentially.

This convenience method does the same as repeatedly calling get_history() in a loop, thus saving you from the hassle of setting up boilerplate code. It is useful for getting the whole chat history with a single call.

  • chat_id (int | str) – Unique identifier (int) or username (str) of the target chat. For your personal cloud (Saved Messages) you can simply use “me” or “self”. For a contact that exists in your Telegram address book you can use his phone number (str).

  • limit (int, optional) – Limits the number of messages to be retrieved. By default, no limit is applied and all messages are returned.

  • offset (int, optional) – Sequential number of the first message to be returned.. Negative values are also accepted and become useful in case you set offset_id or offset_date.

  • offset_id (int, optional) – Identifier of the first message to be returned.

  • offset_date (int, optional) – Pass a date in Unix time as offset to retrieve only older messages starting from that date.

  • reverse (bool, optional) – Pass True to retrieve the messages in reversed order (from older to most recent).


Generator – A generator yielding Message objects.


for message in app.iter_history("pyrogram"):