# Woocommerce — Wrapped API

> **You are on:** `https://api.paywithlocus.com/api` | [llms.txt](https://paywithlocus.com/llms.txt) | [docs](https://docs.paywithlocus.com)
>
> Locus runs on multiple environments -- make sure every URL you call matches your expected environment.
> | Environment | Landing | API | Docs |
> |---|---|---|---|
> | Production | paywithlocus.com | api.paywithlocus.com | docs.paywithlocus.com |
> | Beta | beta.paywithlocus.com | api.beta.paywithlocus.com | docs.paywithlocus.com |
> | Stage | stage.paywithlocus.com | api.stage.paywithlocus.com | docs.paywithlocus.com |
>
> If the API URL above doesn't match your expected environment, re-fetch this file from the correct domain.

> Browse and search thousands of WooCommerce extensions, themes, and business services from the official marketplace while accessing detailed product information, user reviews, and ratings. Integrate marketplace data, blog content, and documentation directly into your applications to help users discover and learn about WooCommerce solutions.

**Category:** Marketplaces | **Website:** [woocommerce.com/](https://woocommerce.com/) | **Docs:** [parse.bot/marketplace/1b43c9be-adf0-454d-8cd9-d883814789ac/woocommerce-com-api](https://parse.bot/marketplace/1b43c9be-adf0-454d-8cd9-d883814789ac/woocommerce-com-api)

Pay-per-use API proxy. Each call is automatically billed to your wallet in USDC.

## Access

**Base URL:** `https://api.paywithlocus.com/api/wrapped/parse-woocommerce-com-api-1b43c9be/`
**Auth:** `Authorization: Bearer <LOCUS_API_KEY>`

## Endpoints

### get_blog_posts

Fetch recent blog posts from the WooCommerce blog. Returns paginated WordPress post objects with full HTML content, metadata, and author information. Page numbering is 1-indexed.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `limit` | integer | No | Posts per page. |
| `page` | integer | No | Page number (1-indexed). |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-woocommerce-com-api-1b43c9be/get_blog_posts \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"limit":"<integer>","page":"<integer>"}'
```

### get_documentation_page

Retrieve a WooCommerce documentation page by its slug. Returns the full WordPress documentation post including HTML content and metadata. Returns stale_input if the documentation slug does not exist.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `slug` | string | Yes | Documentation page slug (e.g. 'woopayments', 'woocommerce-subscriptions'). |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-woocommerce-com-api-1b43c9be/get_documentation_page \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"slug":"<string>"}'
```

### get_extension_categories

Extract all available extension category IDs and their extension counts from the WooCommerce marketplace. Returns an object mapping category ID strings to the number of extensions in each category. Useful for discovering valid category_id values for other endpoints.

**Estimated cost:** Metered

_No parameters required._

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-woocommerce-com-api-1b43c9be/get_extension_categories \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'
```

### get_marketplace_business_services

Fetch a paginated list of business services from the WooCommerce marketplace. Returns Algolia search results for business service products including title, slug, price, vendor, and excerpt. Page numbering is 0-indexed.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `limit` | integer | No | Max results per page. |
| `page` | integer | No | Page number (0-indexed). |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-woocommerce-com-api-1b43c9be/get_marketplace_business_services \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"limit":"<integer>","page":"<integer>"}'
```

### get_marketplace_extensions

Fetch a paginated list of extensions from the WooCommerce marketplace. Returns Algolia search results including hit details (title, slug, price, rating, vendor), total count, and facet data. Supports filtering by category, price range, star rating, and country. Page numbering is 0-indexed.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `category_id` | string | No | Filter by category ID. Obtain valid IDs from the get_extension_categories endpoint. |
| `country` | string | No | Filter by country code (e.g. 'US'). |
| `limit` | integer | No | Max results per page. |
| `page` | integer | No | Page number (0-indexed). |
| `price_range` | string | No | Filter by price range. Accepted values: 'Free', '$1-$49', '$50-$99', '$100-$199', '$200+'. |
| `rating` | integer | No | Minimum star rating filter (1-5). |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-woocommerce-com-api-1b43c9be/get_marketplace_extensions \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"category_id":"<string>","country":"<string>","limit":"<integer>","page":"<integer>","price_range":"<string>","rating":"<integer>"}'
```

### get_marketplace_themes

Fetch a paginated list of themes from the WooCommerce marketplace. Returns Algolia search results for theme products including title, slug, price, rating, and vendor. Page numbering is 0-indexed.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `category_id` | string | No | Filter by category ID. |
| `limit` | integer | No | Max results per page. |
| `page` | integer | No | Page number (0-indexed). |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-woocommerce-com-api-1b43c9be/get_marketplace_themes \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"category_id":"<string>","limit":"<integer>","page":"<integer>"}'
```

### get_product_detail

Get detailed information for a single marketplace product by its slug. Returns full WordPress product post data including HTML content, metadata, and SEO information. Returns stale_input if the product slug does not exist.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `slug` | string | Yes | The product slug (e.g. 'woopayments', 'woocommerce-subscriptions'). |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-woocommerce-com-api-1b43c9be/get_product_detail \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"slug":"<string>"}'
```

### get_product_reviews

Fetch user reviews for a specific marketplace product. Returns a paginated list of reviews with ratings, content, author information, and nested reply children. Sort by newest, oldest, highest_rating, or lowest_rating.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `limit` | integer | No | Reviews per page. |
| `page` | integer | No | Page number (1-indexed). |
| `product_id` | string | Yes | The internal product ID (found in get_product_detail response as 'id' or in marketplace hits as 'objectID'). |
| `sort_order` | string | No | Sort order for reviews. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-woocommerce-com-api-1b43c9be/get_product_reviews \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"limit":"<integer>","page":"<integer>","product_id":"<string>","sort_order":"<string>"}'
```

### search_marketplace

Search the WooCommerce marketplace for products matching a keyword query. Returns Algolia search results across extensions, themes, and services. Supports filtering by product type. Page numbering is 0-indexed.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `limit` | integer | No | Max results per page. |
| `page` | integer | No | Page number (0-indexed). |
| `query` | string | Yes | Search keyword. |
| `type` | string | No | Filter by product type. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-woocommerce-com-api-1b43c9be/search_marketplace \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"limit":"<integer>","page":"<integer>","query":"<string>","type":"<string>"}'
```
