# Napaonline — 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 NAPA Auto Parts' catalog to find compatible parts by vehicle type, get detailed product information with reviews, and discover similar products all in one place. Browse by vehicle year, make, and model to quickly locate the right parts and read what other customers think about them.

**Category:** Automotive | **Website:** [napaonline.com/](https://napaonline.com/) | **Docs:** [parse.bot/marketplace/7da4b94a-776f-41a4-a34f-53e09c083431/napaonline-com-api](https://parse.bot/marketplace/7da4b94a-776f-41a4-a34f-53e09c083431/napaonline-com-api)

Pay-per-use API proxy for Locus Pro. Each call burns credits from your workspace balance.

## Access

**Base URL:** `https://api.paywithlocus.com/api/wrapped/credits/napaonline/`
**Auth:** `Authorization: Bearer <LOCUS_CREDITS_SECRET_KEY>` (an `lcr_` secret key or a scoped `lcac_` agent credential)
**Required header:** `Idempotency-Key: <fresh UUID per call>`. A retry with the same key replays the stored result without a new charge.
**Response:** the provider response after any endpoint-specific normalization. `X-Locus-Credits-Charged` carries the charge and `X-Locus-Credits-Balance` the remaining balance. Insufficient credits return `402` before the provider is called.
**Pricing:** estimated costs below are USD. Locus debits the credit equivalent at your workspace rate.

Full call contract: https://docs.paywithlocus.com/api-reference/introduction

> Using a Pay With Locus wallet key (`claw_` prefix)? Wallet routes are documented separately: https://docs.paywithlocus.com/wrapped-apis/for-agents

## Endpoints

### Get categories

Browse the NAPA product category tree. Returns products/subcategories within the specified parent category ID. The root category is 'r0'.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `parent_id` | string | No | Parent category ID to get subcategories |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/credits/napaonline/get-categories \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"parent_id":"<string>"}'
```

### Get product details

Retrieve detailed information for a single product by its product ID, part number, or SKU. Returns fitment guide (compatible vehicles), parsed specifications, and feature/benefit bullets. The product is looked up across multiple ID fields (pid, part_number, field_sku, parent_product_id).

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `product_id` | string | Yes | Product ID (pid), part number, or SKU (e.g. 'PGI100474', 'NBE9848', 'AC_12670834') |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/credits/napaonline/get-product-details \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"product_id":"<string>"}'
```

### Get product reviews

Retrieve customer reviews for a product. Returns review text, ratings, and submission metadata. Products without reviews return an empty reviews array with total_results of 0.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `limit` | integer | No | Max reviews to return |
| `product_id` | string | Yes | Product ID (pid from search or product details, e.g. 'PGI100474') |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/credits/napaonline/get-product-reviews \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"limit":"<integer>","product_id":"<string>"}'
```

### Get similar products

Get similar or related products for a given product based on co-viewed item data. Returns products other customers also viewed when looking at the specified product.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `limit` | integer | No | Max similar products to return |
| `product_id` | string | Yes | Product ID in pid format (e.g. 'PGI100474') |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/credits/napaonline/get-similar-products \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"limit":"<integer>","product_id":"<string>"}'
```

### Get vehicle makes

List available vehicle makes for a given year. Second step in year/make/model selection after choosing a year from get_vehicle_years.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `year` | string | Yes | Vehicle year (e.g. '2020') |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/credits/napaonline/get-vehicle-makes \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"year":"<string>"}'
```

### Get vehicle models

List available vehicle models for a given year and make. Third step in year/make/model selection after choosing year and make.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `make` | string | Yes | Vehicle make (e.g. 'Toyota') |
| `year` | string | Yes | Vehicle year (e.g. '2020') |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/credits/napaonline/get-vehicle-models \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"make":"<string>","year":"<string>"}'
```

### Get vehicle years

List all available vehicle years in the NAPA fitment database. Returns years from oldest to newest, used as the first step in year/make/model vehicle selection.

**Estimated cost:** Metered

_No parameters required._

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/credits/napaonline/get-vehicle-years \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{}'
```

### Search by vehicle

Search for parts compatible with a specific vehicle by year/make/model. Filters results using buyers guide fitment data. Optionally narrow by keyword query. Returns only products whose fitment data confirms compatibility with the specified vehicle.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `limit` | integer | No | Max results to return |
| `make` | string | Yes | Vehicle make (e.g. 'Toyota') |
| `model` | string | Yes | Vehicle model (e.g. 'Camry') |
| `query` | string | No | Search keyword to narrow results (e.g. 'brake pads'). Omitting returns all compatible parts. |
| `year` | string | Yes | Vehicle year (e.g. '2020') |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/credits/napaonline/search-by-vehicle \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"limit":"<integer>","make":"<string>","model":"<string>","query":"<string>","year":"<string>"}'
```

### Search products

Full-text search over NAPA's auto parts catalog by keyword or part number. Returns a paginated list of products with pricing, images, and part details. Common keyword searches may be redirected to a matching category automatically. Pagination via page number; each page returns up to `limit` items.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `limit` | integer | No | Max results per page |
| `page` | integer | No | Page number (1-based) |
| `query` | string | Yes | Search keyword or part number (e.g. 'brake pads', 'oil filter', 'SG8507M') |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/credits/napaonline/search-products \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"limit":"<integer>","page":"<integer>","query":"<string>"}'
```

## Next steps

- [All wrapped API providers](https://paywithlocus.com/wapi/index.md): pick another provider.
- [Find and call tools](https://paywithlocus.com/agent/tools.md): price ceilings, async results, and errors.
- [Credits and billing](https://paywithlocus.com/agent/billing.md): what a call costs and how to add credits.
- [Agent docs index](https://paywithlocus.com/agent/index.md): every Locus agent page.