Catalog coverage · lunaskye
Catalog coverage · lunaskye
Catalog coverage · lunaskye.com
Search products from lunaskye.com and retrieve product details as JSON through StoreRouter’s API. Access prices, images, descriptions, and available variant data, plus enriched attributes for filtering.
Snapshot from . Counts are approximate and refresh about daily.
Catalog
Median price $2,800 across 783 priced products. Current prices, in USD.
Example product response
Inspect a product from the search example below, then retrieve its details through the API.
Indexed response retrieved . Price and availability reflect this response and may change.

Luna Skye
$15,800.00In stock
Sizes: 14 inches, 15 inches, 16 inches
14kt gold grande Jackie O bezel tennis necklace *total diamond weight: approx. 11ct in 15 inches *each diamond bezel roughly .10ct
Source product pageProduct content returned by the lookup API, ready for a product page.
JSON response excerpt
{
"source": "indexed",
"catalogKey": "lunaskye",
"product": {
"title": "14kt gold grande Jackie O bezel tennis necklace",
"brand": {
"name": "Luna Skye"
},
"productUrl": "https://www.lunaskye.com/products/14kt-gold-grande-bezel-tennis-necklace",
"currentPrice": 15800,
"currency": "USD",
"inStock": true,
"description": "14kt gold grande Jackie O bezel tennis necklace *total diamond weight: approx. 11ct in 15 inches *each diamond bezel roughly .10ct",
"primaryImage": {
"url": "https://cdn.shopify.com/s/files/1/0258/8299/files/the-jackie-o-ls-2.jpg?v=1727120773",
"cdnUrl": "https://cdn.octogen.ai/ee6a4c9d0f3f31105b6389756865bde7/436109d199d5f13a9651d16b62fb2ec4.webp?request_id=13830934-9b3b-4ff3-9a0f-7cf27f07b68d",
"width": 5086,
"height": 5087,
"sizeBytes": 319834,
"mimeType": "image/webp"
},
"details": {
"materials": [],
"fit": [],
"dimensions": null,
"patterns": []
}
}
}StoreRouter classification and attributes. Use attribute_handles as search facet values.
JSON response excerpt
{
"source": "indexed",
"catalogKey": "lunaskye",
"product": {
"enrichment": {
"type": "tennis necklace",
"category_path": [
"Apparel & Accessories",
"Jewelry",
"Necklaces"
],
"styles": [
"luxurious",
"classic",
"elegant"
],
"attributes": {
"Jewelry type": [
"Fine Jewelry"
],
"Necklace design": [
"Riviera"
],
"Jewelry material": [
"Diamond",
"Gold",
"Rose Gold",
"White Gold"
]
},
"attribute_handles": {
"jewelry_type": [
"jewelry_type__fine_jewelry"
],
"necklace_design": [
"necklace_design__riviera"
],
"jewelry_material": [
"jewelry_material__diamond",
"jewelry_material__gold",
"jewelry_material__rose_gold",
"jewelry_material__white_gold"
]
}
}
}
}curl -sS https://api.storerouter.ai/v1/products/lookup \
-H "Authorization: Bearer $OCTOGEN_PLATFORM_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"url": "https://www.lunaskye.com/products/14kt-gold-grande-bezel-tennis-necklace",
"resolutionMode": "index_only"
}'Selected response fields are shown. API documentation
Developer quickstart
export OCTOGEN_PLATFORM_API_KEY="your-api-key". Requests use Authorization: Bearer; the SDKs read this variable automatically. Keep the key on your server.curl -sS https://api.storerouter.ai/v1/products/search \ -H "Authorization: Bearer $OCTOGEN_PLATFORM_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "catalogs": ["lunaskye"], "q": "necklaces", "limit": 5 }'# Requires Python 3.11+ and uv; install from the public SDK repository:
# git clone https://github.com/octogen-ai/octogen-dev.git
# cd octogen-dev
# uv sync --project sdks/python
# Save this sample as search.py here, then run:
# uv run --project sdks/python python search.py
import asyncio
from octogen_ai_sdk import OctogenClient
async def main() -> None:
async with OctogenClient(base_url="https://api.storerouter.ai/v1") as client:
page = await client.search_products(
catalogs=["lunaskye"],
q="necklaces",
limit=5,
)
for product in page.items:
print(product.title, product.current_price, product.product_url)
asyncio.run(main())// Node.js 20+; install: npm install @octogen-ai/sdk
// Save this sample as search.mjs, then run: node search.mjs
import { OctogenClient } from "@octogen-ai/sdk";
const client = new OctogenClient({ baseUrl: "https://api.storerouter.ai/v1" });
const page = await client.searchProducts({
catalogs: ["lunaskye"],
q: "necklaces",
limit: 5,
});
for (const product of page.items) {
console.log(product.title, product.currentPrice, product.productUrl);
}Indexed snapshot from this search, verified by URL lookup. Selected fields only; prices and availability may have changed since retrieval.
Search finds indexed products by query and filters within this retailer’s catalog.Product URL lookup retrieves one product: index_only uses the index and returns 404 on a miss; auto checks the index before resolving a miss on demand. For a fresh page read where supported, use resolutionMode: "on_demand_only" with onDemandCachePolicy: "refresh". On-demand results may be partial and do not guarantee live price or availability.
Attributes
Each attribute below is a search facet: the bar shows the share of Lunaskye products that have it, and each value shows the share tagged with that value. A product can have several values, so these can add up to more than 100%.
Jewelry material
jewelry_material
Product color
color
Color family
color_family
Pattern
pattern
Necklace design
necklace_design
Ring design
ring_design
Earring design
earring_design
Bracelet design
bracelet_design
| Field | Facet name | Source | Coverage | Values |
|---|---|---|---|---|
| Activewear | is_activewear | Merchant data | 100% | 1 |
| Product color | color | Merchant data | 98% | 13 |
| Color family | color_family | Merchant data | 98% | 7 |
| Age Group | age_groups | StoreRouter enrichment | 100% | 2 |
| Category at depth 0 | category_path.depth_0 | StoreRouter enrichment | 100% | 1 |
| Category at depth 1 | category_path.depth_1 | StoreRouter enrichment | 100% | 1 |
| Category at depth 2 | category_path.depth_2 | StoreRouter enrichment | 100% | 6 |
| Gender | gender | StoreRouter enrichment | 100% | 2 |
| Jewelry material | jewelry_material | StoreRouter enrichment | 99% | 11 |
| Jewelry type | jewelry_type | StoreRouter enrichment | 99% | 1 |
| Pattern | pattern | StoreRouter enrichment | 59% | 29 |
| Necklace design | necklace_design | StoreRouter enrichment | 30% | 8 |
| Ring design | ring_design | StoreRouter enrichment | 24% | 12 |
| Earring design | earring_design | StoreRouter enrichment | 23% | 8 |
| Bracelet design | bracelet_design | StoreRouter enrichment | 17% | 9 |
| Category at depth 3 | category_path.depth_3 | StoreRouter enrichment | 2% | 4 |
| Band color | band_color | StoreRouter enrichment | <1% | 2 |
| Band pattern | band_pattern | StoreRouter enrichment | <1% | 1 |
| Case color | case_color | StoreRouter enrichment | <1% | 2 |
| Dial color | dial_color | StoreRouter enrichment | <1% | 4 |
| Dial pattern | dial_pattern | StoreRouter enrichment | <1% | 3 |
| Watch display | watch_display | StoreRouter enrichment | <1% | 1 |
| Watch features | watch_features | StoreRouter enrichment | <1% | 1 |
| Watch material | watch_material | StoreRouter enrichment | <1% | 2 |
| Watch movement type | watch_movement_type | StoreRouter enrichment | <1% | 1 |
| Watch case shape | watch_case_shape | StoreRouter enrichment | <1% | 2 |
| Case pattern | case_pattern | StoreRouter enrichment | <1% | 1 |
| Chain link type | chain_link_type | StoreRouter enrichment | <1% | 1 |
| Ring size | ring_size | StoreRouter enrichment | <1% | 1 |
| Canonical brand name | brand_name | Brand | 100% | 1 |
Data
For agents
Every facet name and value on this page, ready for an agent or a script.
Are you an AI agent? Fetch https://storerouter.ai/llms.txt to learn how to get product data from StoreRouter, and how to make a storefront's products readable by agents.
One API key gives your agent search, product lookup, and similar-item results across every store StoreRouter indexes.
Get an API key