# Lowes — 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.

> Search and browse products from Lowe's, including product listings by category, detailed product information, and pricing. Retrieve comprehensive details on specific items to compare options and make informed purchasing decisions.

**Category:** E-commerce | **Website:** [www.lowes.com/](https://www.lowes.com/) | **Docs:** [parse.bot/marketplace/f059f07d-30be-4345-950c-8231c4b068ab/lowes-com-api](https://parse.bot/marketplace/f059f07d-30be-4345-950c-8231c4b068ab/lowes-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-lowes-com-api-f059f07d/`
**Auth:** `Authorization: Bearer <LOCUS_API_KEY>`

## Endpoints

### get_category_products

Get product listings for a given category with prices, specs, and availability. Supports named lumber categories (dimensional-lumber, studs, pressure-treated-lumber, plywood, boards, deck-boards) or numeric category IDs. Returns results ordered by relevance. Each product includes specs, ratings, and inventory status for the specified store. Paginate manually via offset parameter; next_offset in response indicates the next page offset or null when exhausted.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `category` | string | No | Category name or numeric category ID. Named categories: dimensional-lumber, studs, pressure-treated-lumber, plywood, boards, deck-boards. |
| `limit` | integer | No | Maximum number of products to return per request. |
| `offset` | integer | No | Pagination offset (number of items to skip). |
| `store_number` | string | No | Lowe's store number for local pricing and inventory. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-lowes-com-api-f059f07d/get_category_products \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"category":"<string>","limit":"<integer>","offset":"<integer>","store_number":"<string>"}'
```

### get_product_detail

Get comprehensive product details including pricing, availability by fulfillment method, promotions, and specifications. Attempts the product detail API first, then falls back to the SSR product page. Returns enriched data beyond what list/search endpoints provide, including barcode, additional images, pricing breakdowns, and per-fulfillment-method availability.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `product_id` | string | Yes | Lowe's product ID (omniItemId), e.g. '4082896'. |
| `store_number` | string | No | Store number for local pricing and inventory. |
| `zip_code` | string | No | ZIP code for delivery availability. |
| `zip_state` | string | No | Two-letter state code corresponding to zip_code. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-lowes-com-api-f059f07d/get_product_detail \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"product_id":"<string>","store_number":"<string>","zip_code":"<string>","zip_state":"<string>"}'
```

### search_products

Search for products by keyword. Returns results with product details, pricing, and availability. Server-side search matches product descriptions and titles. Results ordered by relevance. Paginate manually via offset parameter; next_offset in response indicates the next page offset or null when exhausted.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `limit` | integer | No | Maximum products to return. |
| `offset` | integer | No | Pagination offset (number of items to skip). |
| `query` | string | No | Search keyword. |
| `store_number` | string | No | Lowe's store number for local pricing. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-lowes-com-api-f059f07d/search_products \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"limit":"<integer>","offset":"<integer>","query":"<string>","store_number":"<string>"}'
```
