# 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. Each call is automatically billed to your wallet in USDC.

## Access

**Base URL:** `https://api.paywithlocus.com/api/wrapped/parse-napaonline-com-api-7da4b94a/`
**Auth:** `Authorization: Bearer <LOCUS_API_KEY>`

## 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/parse-napaonline-com-api-7da4b94a/get_categories \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -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/parse-napaonline-com-api-7da4b94a/get_product_details \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -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/parse-napaonline-com-api-7da4b94a/get_product_reviews \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -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/parse-napaonline-com-api-7da4b94a/get_similar_products \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -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/parse-napaonline-com-api-7da4b94a/get_vehicle_makes \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -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/parse-napaonline-com-api-7da4b94a/get_vehicle_models \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -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/parse-napaonline-com-api-7da4b94a/get_vehicle_years \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -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/parse-napaonline-com-api-7da4b94a/search_by_vehicle \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -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/parse-napaonline-com-api-7da4b94a/search_products \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"limit":"<integer>","page":"<integer>","query":"<string>"}'
```
