The WooCommerce Legacy REST API extension is now available in WordPress.org

Three months ago we announced that the Legacy REST API will be removed from WooCommerce as of version 9.0. However, for those who have not been able to transition to the more modern REST API based on the WordPress JSON API, we have created an extension which allows you to continue using the WooCommerce Legacy REST API, even after deprecation. Back in December we made the extension available as a release in a dedicated GitHub repository, and from now the extension is available at the official WordPress.org plugins directory.

Who needs to install this extension?

As we mentioned in the original post, we recommend installing and activating the extension immediately if your site has a dependency on the WooCommerce Legacy REST API, so that everything will continue working when you update to WooCommerce 9.0. 

To learn more about whether your site has a dependency on the WooCommerce Legacy REST API, checkout the original announcement post

I have a dependency on the WooCommerce Legacy REST API. What should I do next?

You can install the extension directly from within the administration area of your WordPress site:

  1. Click Plugins in the main menu.
  2. Click the Add New button.
  3. Enter WooCommerce Legacy REST API in the search box.
  4. The extension should be the first one in the search results. Click the Install Now button in the extension information box.
  5. Once the install completes, click the Activate button and you are all set.

Alternatively, you can manually download the extension .zip file from the extension page (click the Download button) and upload it to your site. Detailed manual installation instructions are available in the release page in GitHub.


Keep yourself in the loop!

Sign up for the WooCommerce developer newsletter:
This field is hidden when viewing the form
This field is hidden when viewing the form
This field is hidden when viewing the form


7 responses to “The WooCommerce Legacy REST API extension is now available in WordPress.org”

  1. Is there a simple way to find out if a plugin still uses the legacy REST API.?

    1. That’s my question as well and has been asked many times under the original post. That API is active on my site, but I have no idea why and if it’s still used or not. I hope there will be the promised feature soon that shows which plugins (if any) actually use the API or of it’s just a holdover from years ago.

    2. konamiman Avatar

      In WooCommerce 8.5 we have included a mechanism that will write log entries and display a notice in the WordPress admin area whenever the Legacy REST API endpoints are hit in the site: https://github.com/woocommerce/woocommerce/pull/41804 – note that this mechanism is active only if the Legacy REST API is active and the separate extension is not installed.

      There’s no way to directly know which plugin (if any) are these requests associated to, but the log entries include the user agent header that came in the request, this should help in identifying the requester.

      1. Thanks!

        I looked at the logs. They help a little bit.
        But I got a lot of logs with User agent: WooCommerce API Client-Python/1.2.1
        Those are external SAAS services, and one of our customers uses several SAAS services on his shop. Some or all of them use that Python library. Just the user agent doesn’t help us identify which one it is.
        Could you add the IP to the logs. This will help determine the which servers are accessing the legacy API.

  2. sandyc1115 Avatar
    sandyc1115

    I installed the recommended new rest api plug in. I got an error message that it had been deactivated. I activated it again. What is the problem ?

  3. The biggest problem. Hpos will not work.

    1. Barry Hughes Avatar
      Barry Hughes

      You can still use HPOS but, for as long as you need the Legacy API to be active, you should also turn on Compatibility Mode. More information can be found here 😃

Leave a Reply

Your email address will not be published. Required fields are marked *