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

> Browse and search the complete Adafruit electronics catalog to find product details, pricing, availability, and stock status across categories like magnets and motor components. Discover new arrivals and featured products to stay updated on the latest electronics and components available.

**Category:** E-commerce | **Website:** [adafruit.com/](https://adafruit.com/) | **Docs:** [parse.bot/marketplace/57232e0c-851a-459a-878c-857ead86fef7/adafruit-com-api](https://parse.bot/marketplace/57232e0c-851a-459a-878c-857ead86fef7/adafruit-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/adafruit/`
**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 category products

Browse all products within a specific category. Returns category name and paginated product list up to the specified limit.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `category_id` | string | Yes | Numeric category ID to browse. |
| `limit` | integer | No | Max results to return. |

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

### Get featured products

Retrieve featured products shown on the Adafruit featured page. Returns the full list of currently featured products with name, price, stock status, and thumbnail.

**Estimated cost:** Metered

_No parameters required._

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

### Get new products

Get a list of recently added products from the Adafruit new products page. Paginates internally to collect results up to the specified limit.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `limit` | integer | No | Max results to return. |

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

### Get product details

Fetch full details for a single product by product ID. Returns product name, pricing, stock status, technical specifications, images, variants, quantity discounts, datasheets, related products, and breadcrumb path. Returns stale_input with kind 'input_not_found' if the product page does not exist.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `product_id` | string | Yes | Numeric product ID (SKU) to fetch details for. |

```bash
curl -X POST https://api.beta.paywithlocus.com/api/wrapped/credits/adafruit/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 stock status

Check current availability and pricing for a product. Returns stock status, current price, and any quantity discounts. Returns stale_input with kind 'input_not_found' if the product page does not exist.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `product_id` | string | Yes | Numeric product ID (SKU). |

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

### List all categories

Retrieve all top-level shop categories and their featured products. Returns a flat list of category entries each with a name, ID, and sample of featured products.

**Estimated cost:** Metered

_No parameters required._

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

### Search products

Search the Adafruit catalog by keyword. Supports sorting by best match or most recent, availability filtering, price range filtering, and category filtering. Paginates internally up to the specified limit.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `availability` | string | No | Availability filter as JSON array string: '["i"]' for In Stock, '["o"]' for Out of Stock, '["d"]' for Discontinued. Multiple values accepted. |
| `category_id` | string | No | Filter by category ID (numeric string). |
| `limit` | integer | No | Max results to return. |
| `price_ranges` | string | No | Price range filter as JSON array string: '["0"]' (<$5), '["1"]' ($5-$9.99), '["2"]' ($10-$24.99), '["3"]' ($25-$99.99), '["4"]' (>$100). Multiple values accepted. |
| `query` | string | Yes | Search keyword. |
| `sort` | string | No | Sort order. |

```bash
curl -X POST https://api.beta.paywithlocus.com/api/wrapped/credits/adafruit/search-products \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"availability":"<string>","category_id":"<string>","limit":"<integer>","price_ranges":"<string>","query":"<string>","sort":"<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.