The Tumblrs API allows you to specify a limit of up to 20. Thus, your limit of 1000 is ignored, and instead you get 20. You will have to use paging in conjunction with the offset parameter.
You can write yourself some kind of generator that, like scrolling endlessly, requests the next page while you keep asking for more messages:
def getAllPosts (client, blog): offset = 0 while True: posts = client.posts(blog, limit=20, offset=offset) if not posts: return for post in posts: yield post offset += 20
source share