skip to Main Content

I am trying to retrieve all categories using Woocommerce rest API.
here is my URL

https://wapi.sriyagcommerce.com//wp-json/wc/v2/products/categories?consumer_key=ck&consumer_secret=cs&per_page=100

while using above url I am getting Error.

code    "rest_invalid_param"
message "Invalid parameter(s): per_page"
data    
status  400
params  
per_page    "per_page must be between 1 (inclusive) and 100 (inclusive)"

I want to increase per page limit. I already have done with products by using below code and want to do the same with categories

function maximum_api_filter($query_params) {
    $query_params['per_page']["maximum"]=100000;
    return $query_params;
}

add_filter('rest_product_collection_params', 'maximum_api_filter');

2

Answers


  1. I must’ve commented very early in the morning

    There is NO Way of increasing the size per page past a 100 Its a limit set by the API team you cannot exceed a 100.

    Now I do not know what Your using to develop, But i’d consider using a Collection and just pull the first 100, Index the Page pull a 100 Combine Collections and so on.

    But as for Getting all 300 in one instance from one API call that cannot be done sadly.

    Login or Signup to reply.
  2. I also face the same problem.

    You couldn’t increase the list size. Maximum limit in Woocommerce is 100.

    You can follow bellow URL pattern to fetch 100 records,
    https://www.yourcompany.com/wp-json/wc/v2/products?per_page=100

    You can also specify pages with the ?page parameter
    https://www.yourcompany.com/wp-json/wc/v2/products?per_page=100&page=2

    You can find total number of pages and records from
    the X-WP-TotalPages and X-WP-Total HTTP headers.

    After getting total page from X-WP-TotalPages you can execute a loop with per_page=100&page=${pageNumber} and increase pageNumber dynamically.
    By this approach you can find all records.

    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search