# Traderjoes — Wrapped API

> **You are on:** `https://api.beta.paywithlocus.com/api` | [llms.txt](https://beta.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.

> Access Trader Joe's product catalog, store locations, and recipes. Search products by keyword or category, retrieve full product details including nutrition and ingredients, find nearby store locations, and browse or look up recipes.

**Category:** Food & Dining | **Website:** [traderjoes.com/](https://traderjoes.com/) | **Docs:** [parse.bot/marketplace/1c49fd44-856e-4d56-a622-b40beb6cd45e/traderjoes-com-api](https://parse.bot/marketplace/1c49fd44-856e-4d56-a622-b40beb6cd45e/traderjoes-com-api)

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

## Access

**Base URL:** `https://api.beta.paywithlocus.com/api/wrapped/credits/traderjoes/`
**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 fearless flyer

Retrieve the current Fearless Flyer articles and content.

**Estimated cost:** Metered

_No parameters required._

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

### Get product detail

Get full details for a single product by SKU. SKUs are automatically zero-padded to 6 digits. Returns comprehensive product information including nutrition facts, ingredients, allergens, and related products.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `sku` | string | Yes | Product SKU (e.g. '82814' or '055005'). Automatically zero-padded to 6 digits. |
| `store_code` | string | No | Store code for availability filtering. Defaults to '729'. |

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

### Get products by category

Retrieve products by category ID via GraphQL. Returns paginated product listings for the specified category. Known category IDs include '8' (Food), '182' (Beverages), '194' (Coffee & Tea), '167' (Snacks & Sweets).

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `category_id` | string | Yes | Category ID (e.g. '8' for Food, '182' for Beverages, '194' for Coffee & Tea, '167' for Snacks & Sweets). |
| `page` | integer | No | Page number for pagination. |
| `page_size` | integer | No | Number of results per page. |
| `store_code` | string | No | Store code for availability filtering. Defaults to '729'. |

```bash
curl -X POST https://api.beta.paywithlocus.com/api/wrapped/credits/traderjoes/get-products-by-category \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"category_id":"<string>","page":"<integer>","page_size":"<integer>","store_code":"<string>"}'
```

### Get recipe detail

Get full recipe details by slug. Returns the complete AEM page model including recipe title, ingredients, directions, cooking time, servings, and related recipes. The recipe data is nested within the ':items' component tree under 'recipe_details'.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `slug` | string | Yes | Recipe slug from recipe URL path (e.g. 'tahini-salad-dressing', 'green-goddess-pasta-salad'). |

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

### Get recipes

Search for recipes by keyword. Returns a list of matching recipe summaries with title, URL slug, hero image, and category.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `page` | integer | No | Page number for pagination. |
| `page_size` | integer | No | Number of results per page. |
| `query` | string | No | Search keyword for recipes (e.g. 'salad', 'pasta', 'chicken'). |

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

### Get stores

Search for Trader Joe's store locations by address, city, or zip code. Returns up to 50 nearby stores with address, hours, phone, and distance from the searched location.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `query` | string | No | Address, city, or zip code to search near (e.g. 'New York', '90210'). Omitting returns stores near a default location. |

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

### Search products

Search for products by keyword via GraphQL. Returns paginated results with detailed product info including price, nutrition, ingredients, and category hierarchy. Results are scoped to a store for availability filtering.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `page` | integer | No | Page number for pagination. |
| `page_size` | integer | No | Number of results per page. |
| `query` | string | Yes | Search keyword (e.g. 'organic', 'coffee', 'snacks'). |
| `store_code` | string | No | Store code for availability filtering. Defaults to '729'. |

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

## Next steps

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