Latest Topics API pagination

Hello everyone!

Similar to this topic, I’m looking for the proper way to do pagination on the /latest.json (Topics) endpoint, specifically knowing what’s the last page.

I’ve figured out that, when there are more results to be fetched, the response contains a "more_topics_url": "/latest?page=X" for the next page. However, from my tests, seems like even when there are no more results, we get another page under this field.

Is there a proper way to know when we hit the last page?

Thanks in advance!

I can’t reproduce this.

For example, you can request

https://meta.discourse.org/c/site-feedback/blog/l/latest.json?page=1

that contains 30 topics and a more_topics_url with "/c/site-feedback/blog/l/latest?page=2".

Then you request that and get 25 more topics and a missing more_topics_url because it’s the end.

2 Likes

Thanks for such quick response and for checking it out!

You’re right. I was messing on my development environment on the per_page settings trying to avoid creating 30+ topics to test this, and came across this method, but changing it there seems to have the side-effect I mentioned, though returning the amount of results I set there.

Seems like passing ?per_page=X doesn’t have any effect on this endpoint (following your example: https://meta.discourse.org/c/site-feedback/blog/l/latest.json?page=1&per_page=5, still returns 30 rows). Is there a proper way to adjust this setting?

Thanks again in advance!