How to Automate WooCommerce Data Export (No API Required)

Dec 25

Introduction

WooCommerce is a popular e-commerce platform built on WordPress. While WooCommerce offers API access, browser automation can serve as an effective alternative for exporting order data, payment information, and revenue reports from WooCommerce stores.

Why Use Browser Automation for WooCommerce?

  • Complete Order Export: Export all orders without API pagination limits
  • Payment Gateway Data: Access payment-specific data from various gateways
  • Customer Purchase History: Export comprehensive customer order history
  • Product Sales Reports: Generate detailed product performance reports
  • Tax and Compliance Data: Export tax-ready financial summaries

Automating WooCommerce Data Collection



import { chromium } from 'playwright';

const setupWooCommerceSession = async (storeUrl) => {
  const response = await fetch("https://api.anchorbrowser.io/api/sessions", {
    method: "POST",
    headers: {
      "anchor-api-key": "YOUR_API_KEY",
      "Content-Type": "application/json",
    },
    body: JSON.stringify({'headless': false}),
  });

  const { id } = await response.json();
  const connectionString = `wss://connect.anchorbrowser.io?apiKey=YOUR_API_KEY&sessionId=${id}`;

  const browser = await chromium.connectOverCDP(connectionString);
  const context = browser.contexts()[0];
  const ai = context.serviceWorkers()[0];
  const page = context.pages()[0];

  await page.goto(`${storeUrl}/wp-admin`);
  
  return { page, ai };
};




Exporting Order Data



const exportWooCommerceOrders = async (page, ai, dateRange) => {
  await ai.evaluate(JSON.stringify({
    prompt: 'Log in to WordPress admin and navigate to WooCommerce → Orders'
  }));
  
  await ai.evaluate(JSON.stringify({
    prompt: `Filter orders by date range ${dateRange.start} to ${dateRange.end}`
  }));
  
  await ai.evaluate(JSON.stringify({
    prompt: 'Click Export, select all order fields, choose CSV format, and download'
  }));
  
  const download = await page.waitForEvent('download');
  return await download.path();
};




Collecting Payment Data



const exportPaymentData = async (page, ai) => {
  await ai.evaluate(JSON.stringify({
    prompt: 'Navigate to WooCommerce → Reports → Payments'
  }));
  
  await ai.evaluate(JSON.stringify({
    prompt: 'Export payment data including: payment method, transaction ID, amount, date, and status'
  }));
  
  const download = await page.waitForEvent('download');
  return await download.path();
};




Product Sales Export



const exportProductSales = async (page, ai) => {
  await ai.evaluate(JSON.stringify({
    prompt: 'Navigate to WooCommerce → Reports → Products'
  }));
  
  await ai.evaluate(JSON.stringify({
    prompt: 'Export product sales data including: product name, SKU, units sold, revenue, and profit margin'
  }));
  
  const download = await page.waitForEvent('download');
  return await download.path();
};




Resources

Conclusion

Browser automation provides a flexible solution for WooCommerce data export, enabling comprehensive collection of order, payment, and product data that complements WooCommerce's API capabilities.

Other hubs

See all
No hubs found

Stay ahead in browser automation

We respect your inbox. Privacy policy

Welcome aboard! Thanks for signing up
Oops! Something went wrong while submitting the form.