Use WordPress API toManage WooCommerceProducts

Use WordPress REST API to Manage WooCommerce Products

Jul 18, 2025 |

13 minutes read

Use WordPress API toManage WooCommerceProducts

WooCommerce Product Management with REST API

Managing WooCommerce products through the WordPress REST API is more essential than ever for developers and store owners who want to automate workflows, sync inventory, and integrate WooCommerce with other applications seamlessly. Instead of manually updating thousands of products, APIs enable programmatic control over product creation, updates, and deletions—saving time and minimizing errors.

Whether you’re building custom dashboards, mobile apps, or third-party integrations, understanding how to leverage the WordPress REST API with WooCommerce is critical. This post dives deep into how you can harness this powerful tool to efficiently manage your WooCommerce products. If you want to scale your store, working with a WooCommerce Development Company can help you implement API strategies effectively. Using APIs is a smart way to reduce manual work while keeping your store data accurate.

What is the WordPress REST API?

The WordPress REST API is a set of HTTP endpoints that let you interact with your WordPress site programmatically. Introduced in WordPress 4.7, it enables external applications to retrieve, create, update, and delete content using standard HTTP requests. WooCommerce extends this API by adding its own endpoints specifically for managing store data such as products, orders, customers, and more.

By using RESTful API conventions, developers can build custom applications or automation scripts that communicate directly with WooCommerce product data — a huge productivity booster. Many store owners also use WooCommerce Custom Development to build advanced API solutions for their unique needs. It helps you automate your store and improve your workflow easily.

Setting Up API Authentication

Before accessing WooCommerce REST API endpoints, you need to authenticate your requests. WooCommerce supports multiple authentication methods:
1. Basic Authentication

  • Uses a username and password encoded in the HTTP header.
  • Simple to implement but less secure unless used over HTTPS.
  • Example header:
    Authorization: Basic base64_encode(consumer_key:consumer_secret)

2. OAuth 1.0a

  • A more secure, token-based authentication method.
  • Requires generating signatures for each request.
  • Supported in WooCommerce but more complex to implement.

3. Application Passwords (WordPress 5.6+)

  • Generates API-specific passwords per user.
  • Easier than OAuth, more secure than Basic Auth.
  • Compatible with WooCommerce endpoints.

    Tip:
    Use HTTPS and Application Passwords in production for best security.

WooCommerce REST API Endpoints Overview for Products

WooCommerce adds its own namespace to the WordPress REST API. The base endpoint for products is:
https://yourdomain.com/wp-json/wc/v3/products
Some important endpoints include:

  • GET /products — List all products
  • GET /products/{id} — Get a single product by ID 
  • POST /products — Create a new product 
  • PUT /products/{id} — Update an existing product 
  • DELETE /products/{id} — Delete a product 

You can also filter products, paginate results, and include embedded data like variations or categories.

CRUD Operations with WooCommerce API

Let’s walk through how to perform basic CRUD (Create, Read, Update, Delete) operations on WooCommerce products.

Create a Product
Endpoint:
POST /wp-json/wc/v3/products

Example curl Request:

curl -X POST https://yourdomain.com/wp-json/wc/v3/products \ 

-u consumer_key:consumer_secret \ 

-H “Content-Type: application/json” \ 

-d ‘{ 

  “name”: “Premium Coffee Mug”, 

  “type”: “simple”, 

  “regular_price”: “15.99”, 

  “description”: “A stylish coffee mug for everyday use.”, 

  “categories”: [{“id”: 9}], 

  “images”: [{“src”: “https://example.com/images/mug.jpg”}], 

  “stock_quantity”: 100, 

  “manage_stock”: true 

}’
This creates a new simple product named “Premium Coffee Mug” with stock tracking enabled.

Read Products

Get all products:
curl -X GET https://yourdomain.com/wp-json/wc/v3/products \
-u consumer_key:consumer_secret

Get a specific product by ID:
curl -X GET https://yourdomain.com/wp-json/wc/v3/products/123 \

-u consumer_key:consumer_secret

You can also add query parameters for pagination and filtering, e.g., ?per_page=20&category=9.

Update a Product

To update the price and stock of a product with ID 123:
curl -X PUT https://yourdomain.com/wp-json/wc/v3/products/123 \
-u consumer_key:consumer_secret \
-H “Content-Type: application/json” \
-d ‘{
“regular_price”: “17.99”,
“stock_quantity”: 80

This updates the product’s regular price and available stock.

}’

Delete a Product

To delete a product permanently (force delete):

curl -X DELETE https://yourdomain.com/wp-json/wc/v3/products/123?force=true \
-u consumer_key:consumer_secret

Best Practices

  • Secure Your API: Use HTTPS and Application Passwords or OAuth for authentication.
  • Respect Rate Limits: WooCommerce REST API has rate limiting — implement retries with backoff.
  • Use Nonces for Frontend Calls: When calling the API from JavaScript in the frontend, use WordPress nonces for security.
  • Paginate Requests: For large catalogs, paginate results to avoid timeout errors.
    Validate Data: Always validate your input before sending it to the API to prevent errors.

Common Mistakes to Avoid

  • Using Basic Auth without HTTPS, exposing credentials.
  • Forgetting to URL-encode query parameters.
  • Ignoring rate limits, which can cause your IP to be temporarily blocked.
  • Not handling errors returned by the API gracefully.
  • Over-fetching data without pagination, leading to performance issues.

Real-World Use Cases

  • Inventory Sync: Automatically update stock quantities from POS or warehouse software.
  • Bulk Product Updates: Adjust prices or descriptions across many products programmatically.
  • Mobile Apps: Power custom mobile store apps with live product data.
  • Third-Party Integrations: Connect WooCommerce with ERP, CRM, or marketing platforms.]
  • Automated Product Imports: Import products from external CSV or databases using API scripts.

Code Examples

PHP Example (using wp_remote_post)

$consumer_key = ‘ck_xxxxx’; 

$consumer_secret = ‘cs_xxxxx’; 

$url = ‘https://yourdomain.com/wp-json/wc/v3/products’; 

$args = [ 

‘method’  => ‘POST’, 

‘headers’ => [ 

     ‘Authorization’ => ‘Basic ‘ . base64_encode(“$consumer_key:$consumer_secret”), 

     ‘Content-Type’  => ‘application/json’, 

], 

‘body’ => json_encode([ 

     ‘name’ => ‘New API Product’, 

     ‘type’ => ‘simple’, 

     ‘regular_price’ => ‘19.99’, 

]), 

]; 

$response = wp_remote_post($url, $args); 

if (is_wp_error($response)) { 

error_log(‘API Error: ‘ . $response->get_error_message()); 

} else { 

$body = wp_remote_retrieve_body($response); 

$product = json_decode($body); 

// Process $product as needed 

JavaScript Example (using Fetch API)

const consumerKey = ‘ck_xxxxx’;
const consumerSecret = ‘cs_xxxxx’;
const url = ‘https://yourdomain.com/wp-json/wc/v3/products’;

const headers = new Headers();
headers.set(‘Authorization’, ‘Basic ‘ + btoa(consumerKey + ‘:’ + consumerSecret));
headers.set(‘Content-Type’, ‘application/json’);

const productData = {
name: “JavaScript API Product”,
type: “simple”,
regular_price: “29.99”
};

fetch(url, {
method: ‘POST’,
headers: headers,
body: JSON.stringify(productData)
})
.then(res => res.json())
.then(data => console.log(data))
.catch(error => console.error(‘Error:’, error));

Bonus: How to Use Postman for API Testing

Postman is a popular API client that simplifies testing WooCommerce REST API without writing code:

  1. Open Postman and create a new request. 
  2. Set method to GET, POST, PUT, or DELETE as needed. 
  3. Enter your WooCommerce product API endpoint URL. 
  4. Under Authorization, select Basic Auth and enter your consumer key and secret. 
  5. Under Headers, add Content-Type: application/json. 
  6. For POST/PUT requests, add JSON data in the Body tab. 
  7. Send the request and inspect the response. 

Using Postman helps debug API calls, validate your requests, and explore WooCommerce API capabilities interactively. 

Automate WooCommerce Product Management Easily

The Way Forward

Leveraging the WordPress REST API to manage WooCommerce products is a game changer. Whether you’re a developer building integration or a store owner automating your workflow, mastering this API opens a world of possibilities — from seamless inventory syncs to real-time product updates.

Start experimenting today with the examples above, implement best practices, and watch how automating WooCommerce product management can save you time, reduce errors, and grow your business efficiently. Using WooCommerce Development Services can help you implement these API strategies faster. It allows you to focus on growing your store while experts handle the technical setup.

Free Consultation

    developers



    MAP_New

    Global Footprints

    Served clients across the globe from38+ countries

    iFlair Web Technologies
    Privacy Overview

    This website uses cookies so that we can provide you with the best user experience possible. Cookie information is stored in your browser and performs functions such as recognising you when you return to our website and helping our team to understand which sections of the website you find most interesting and useful.