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

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

## Access

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

## Endpoints

### get_fearless_flyer

Retrieve the current Fearless Flyer articles and content.

**Estimated cost:** Metered

_No parameters required._

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-traderjoes-com-api-1c49fd44/get_fearless_flyer \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -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.paywithlocus.com/api/wrapped/parse-traderjoes-com-api-1c49fd44/get_product_detail \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -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.paywithlocus.com/api/wrapped/parse-traderjoes-com-api-1c49fd44/get_products_by_category \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -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.paywithlocus.com/api/wrapped/parse-traderjoes-com-api-1c49fd44/get_recipe_detail \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -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.paywithlocus.com/api/wrapped/parse-traderjoes-com-api-1c49fd44/get_recipes \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -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.paywithlocus.com/api/wrapped/parse-traderjoes-com-api-1c49fd44/get_stores \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -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.paywithlocus.com/api/wrapped/parse-traderjoes-com-api-1c49fd44/search_products \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"page":"<integer>","page_size":"<integer>","query":"<string>","store_code":"<string>"}'
```
