@abelardolg
The API documentation only details features that Canvas/Instructure support for use of the API. Based on the documentation, they are only officially supporting for users to get to the next page by using the "next" link in the Link Header. This is most likely to encourage users to take an approach that minimizes creating a strain on the system.
While there is a page query parameter, depending on the API endpoint it could be numeric based or bookmark based. The numeric based is predictable, but it could change to bookmark based if the developers choose to make that change. Since this isn't specifically documented, you would need to monitor for these changes yourself since it isn't something they would need to announce as a change.
As for the per_page amount, in most cases, it seems that 100 is the maximum supported amount for a single request. This is again to ensure that requests don't cause an unnecessary strain on the system. Since the documentation says the maximum allowable amount is unspecified, this could change, but based on conversations in the Canvas Developers group, it seems fairly stable as the maximum amount. Nonetheless, this would also need to be monitored since there is no official maximum stated.
I'm not sure what you are trying to achieve, but you may also want to consider utilizing Canvas Data 2, if the data doesn't have to be live and is ok to be partially delayed. You could also consider using the provisioning reports from Canvas to get some initial data that is live and then use that as a starting point for a script to automate additional actions that are needed. If you created a new post about what your goal is and what you have tried so far, some members of the Canvas Developers group may be able to make additional suggestions or point you towards something someone has already shared.