# Jysk — 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 and browse JYSK.ca's furniture and home goods catalog across multiple stores, viewing detailed product information, dimensions, and real-time stock availability. Plan your purchases with precise measurements and find items at nearby locations with a single query.

**Category:** E-commerce | **Website:** [jysk.ca/](https://jysk.ca/) | **Docs:** [parse.bot/marketplace/74b4cd40-ff75-4771-afb7-4754751a879a/jysk-ca-api](https://parse.bot/marketplace/74b4cd40-ff75-4771-afb7-4754751a879a/jysk-ca-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-jysk-ca-api-74b4cd40/`
**Auth:** `Authorization: Bearer <LOCUS_API_KEY>`

## Endpoints

### get_category_products

Browse products in a specific category by path. Returns a paginated list of products. Category paths can be derived from the get_category_tree endpoint by extracting the path segment from category URLs (e.g. the URL 'https://www.jysk.ca/living-room-furniture/sofas-sofa-beds-futons.html' yields path 'living-room-furniture/sofas-sofa-beds-futons'). Not all category paths return products; some top-level categories only contain subcategories.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `category_path` | string | Yes | Category URL path segment without leading/trailing slashes or .html suffix (e.g. 'living-room-furniture/sofas-sofa-beds-futons'). Derive from get_category_tree subcategory URLs. |
| `page` | integer | No | Page number for pagination. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-jysk-ca-api-74b4cd40/get_category_products \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"category_path":"<string>","page":"<integer>"}'
```

### get_category_tree

Get the full category hierarchy from the site navigation menu. Returns top-level categories with nested subcategories including names and URLs. Use this to discover valid category_path values for get_category_products.

**Estimated cost:** Metered

_No parameters required._

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-jysk-ca-api-74b4cd40/get_category_tree \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'
```

### get_product_details

Get full details for a specific product including technical specifications, description, and variant options. For configurable products, specifications are fetched from the default variant via an internal API call.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `product_url` | string | Yes | Full URL of the product page (e.g. 'https://www.jysk.ca/juneau-sofa-bed-with-storage-chaise-reversible-beige.html'). Obtainable from search_products or get_category_products results. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-jysk-ca-api-74b4cd40/get_product_details \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"product_url":"<string>"}'
```

### get_product_dimensional_data

Extract dimensional and weight data from a product page. Returns measurements, package dimensions, and weight when available in the product specifications. Fields are null when the product does not include that specification.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `product_url` | string | Yes | Full URL of the product page (e.g. 'https://www.jysk.ca/juneau-sofa-bed-with-storage-chaise-reversible-beige.html'). Obtainable from search_products or get_category_products results. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-jysk-ca-api-74b4cd40/get_product_dimensional_data \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"product_url":"<string>"}'
```

### get_store_availability

Get stock status across all stores for a given product. Requires a leaf-level product ID (the SKU number of a specific variant, not a configurable/parent product ID). Leaf-level product IDs can be found in the sku field of search_products or get_category_products results. Quantities may be negative. The store_pickup_label field may be null for some stores.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `product_id` | string | Yes | Leaf-level numeric product ID (e.g. '42910', '47884'). Use the sku value from search_products or get_category_products, not configurable parent IDs. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-jysk-ca-api-74b4cd40/get_store_availability \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"product_id":"<string>"}'
```

### search_products

Search for products on JYSK.ca by keyword. Returns a paginated list of matching products with name, URL, SKU, and price. Pagination via page number; results are ordered by relevance.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `page` | integer | No | Page number for pagination. |
| `query` | string | Yes | Search keyword (e.g. 'sofa', 'mattress', 'desk'). |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-jysk-ca-api-74b4cd40/search_products \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"page":"<integer>","query":"<string>"}'
```
