WP 4.8.2

We need to increase the per_page limit on responses to a REST API request. afaik – the limit is 100

There used to be a way to filter that parameter, but it seems this filter hook is no longer working: rest_post_collection_params

Is there any way to increase that limit without hacking the code?

We understand the repercussions of increasing the limit, but we need to exceed the per_page in a single call for use in code that will not be distributed.


The collection params accessed via that filter appear to describe the available query params but are not actually used in the query.

I think what you actually want is the rest_{$this->post_type}_query filter which allows you to modify the args before they are passed to WP_Query::query().

Also keep in mind that on the API request the per_page arg might be set, but internally that is translated to posts_per_page for the actual query args.

Edit: I think I misread the original question...

The rest_{$this->post_type}_collection_params does indeed describe the available params.

You should be able to set the per_page max at $params['per_page']['maximum'].

  • I forgot to set the hook to the cpt name - argh. Thx for answer and the link. – shanebp Oct 4 '17 at 18:20

After some testing, it worked with the following:

function maximum_api_filter($query_params) {
    return $query_params;
add_filter('rest_page_collection_params', 'maximum_api_filter');

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.