curl --location --request POST 'https://api.stateset.com/api/v1/products/search' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer YOUR_API_KEY' \
--data-raw '{
"query": "wireless headphones",
"filters": {
"categories": ["Electronics"],
"price_range": {
"min": 5000,
"max": 20000
},
"in_stock": true
},
"sort": {
"field": "relevance",
"order": "desc"
},
"pagination": {
"limit": 10,
"offset": 0
}
}'
mutation SearchProducts($input: SearchProductsInput!) {
searchProducts(input: $input) {
results {
id
name
sku
description
category
brand
price {
amount
currency
}
relevance_score
}
total_count
facets {
categories {
value
count
}
brands {
value
count
}
}
}
}
const searchResults = await stateset.products.search({
query: "wireless headphones",
filters: {
categories: ["Electronics"],
price_range: {
min: 5000,
max: 20000
},
in_stock: true
},
sort: {
field: "relevance",
order: "desc"
}
});
search_results = stateset.products.search({
"query": "wireless headphones",
"filters": {
"categories": ["Electronics"],
"price_range": {
"min": 5000,
"max": 20000
},
"in_stock": True
},
"sort": {
"field": "relevance",
"order": "desc"
}
})
{
"results": [
{
"id": "prod_0901f083-aa1c-43c5-af5c-0a9d2fc64e30",
"name": "Wireless Bluetooth Headphones",
"sku": "WBH-001",
"description": "Premium noise-cancelling wireless headphones with 30-hour battery life",
"category": "Electronics",
"brand": "AudioTech",
"price": {
"amount": 14999,
"currency": "USD"
},
"relevance_score": 0.98,
"inventory_summary": {
"available": true,
"quantity": 145
}
},
{
"id": "prod_abc123def456",
"name": "Sport Wireless Earbuds",
"sku": "SWE-001",
"description": "Waterproof wireless earbuds perfect for workouts",
"category": "Electronics",
"brand": "FitAudio",
"price": {
"amount": 7999,
"currency": "USD"
},
"relevance_score": 0.85,
"inventory_summary": {
"available": true,
"quantity": 230
}
}
],
"total_count": 15,
"facets": {
"categories": [
{
"value": "Electronics",
"count": 15
}
],
"brands": [
{
"value": "AudioTech",
"count": 5
},
{
"value": "FitAudio",
"count": 3
},
{
"value": "SoundMax",
"count": 4
},
{
"value": "TechConnect",
"count": 3
}
],
"price_ranges": [
{
"range": "50-100",
"count": 3
},
{
"range": "100-150",
"count": 8
},
{
"range": "150-200",
"count": 4
}
],
"tags": [
{
"value": "wireless",
"count": 15
},
{
"value": "bluetooth",
"count": 12
},
{
"value": "noise-cancelling",
"count": 6
}
]
}
}
Search Products
Advanced product search with full-text search, filters, and faceted results
POST
/
api
/
v1
/
products
/
search
curl --location --request POST 'https://api.stateset.com/api/v1/products/search' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer YOUR_API_KEY' \
--data-raw '{
"query": "wireless headphones",
"filters": {
"categories": ["Electronics"],
"price_range": {
"min": 5000,
"max": 20000
},
"in_stock": true
},
"sort": {
"field": "relevance",
"order": "desc"
},
"pagination": {
"limit": 10,
"offset": 0
}
}'
mutation SearchProducts($input: SearchProductsInput!) {
searchProducts(input: $input) {
results {
id
name
sku
description
category
brand
price {
amount
currency
}
relevance_score
}
total_count
facets {
categories {
value
count
}
brands {
value
count
}
}
}
}
const searchResults = await stateset.products.search({
query: "wireless headphones",
filters: {
categories: ["Electronics"],
price_range: {
min: 5000,
max: 20000
},
in_stock: true
},
sort: {
field: "relevance",
order: "desc"
}
});
search_results = stateset.products.search({
"query": "wireless headphones",
"filters": {
"categories": ["Electronics"],
"price_range": {
"min": 5000,
"max": 20000
},
"in_stock": True
},
"sort": {
"field": "relevance",
"order": "desc"
}
})
{
"results": [
{
"id": "prod_0901f083-aa1c-43c5-af5c-0a9d2fc64e30",
"name": "Wireless Bluetooth Headphones",
"sku": "WBH-001",
"description": "Premium noise-cancelling wireless headphones with 30-hour battery life",
"category": "Electronics",
"brand": "AudioTech",
"price": {
"amount": 14999,
"currency": "USD"
},
"relevance_score": 0.98,
"inventory_summary": {
"available": true,
"quantity": 145
}
},
{
"id": "prod_abc123def456",
"name": "Sport Wireless Earbuds",
"sku": "SWE-001",
"description": "Waterproof wireless earbuds perfect for workouts",
"category": "Electronics",
"brand": "FitAudio",
"price": {
"amount": 7999,
"currency": "USD"
},
"relevance_score": 0.85,
"inventory_summary": {
"available": true,
"quantity": 230
}
}
],
"total_count": 15,
"facets": {
"categories": [
{
"value": "Electronics",
"count": 15
}
],
"brands": [
{
"value": "AudioTech",
"count": 5
},
{
"value": "FitAudio",
"count": 3
},
{
"value": "SoundMax",
"count": 4
},
{
"value": "TechConnect",
"count": 3
}
],
"price_ranges": [
{
"range": "50-100",
"count": 3
},
{
"range": "100-150",
"count": 8
},
{
"range": "150-200",
"count": 4
}
],
"tags": [
{
"value": "wireless",
"count": 15
},
{
"value": "bluetooth",
"count": 12
},
{
"value": "noise-cancelling",
"count": 6
}
]
}
}
This endpoint provides powerful search capabilities including fuzzy matching, relevance scoring, and aggregated facets for building filter UIs.
Request Body
string
Search query for full-text search across product names, descriptions, and SKUs
object
Additional filters to narrow results
Show Filter options
Show Filter options
array
Filter by one or more categories
array
Filter by one or more brands
object
boolean
Only show products with available inventory
array
Filter by product tags
string
Filter by status: “active”, “draft”, or “archived”
object
object
boolean
Include aggregated facets for building filter UIs (default: true)
Response
array
Array of matching products with relevance scores
integer
Total number of matching products
object
curl --location --request POST 'https://api.stateset.com/api/v1/products/search' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer YOUR_API_KEY' \
--data-raw '{
"query": "wireless headphones",
"filters": {
"categories": ["Electronics"],
"price_range": {
"min": 5000,
"max": 20000
},
"in_stock": true
},
"sort": {
"field": "relevance",
"order": "desc"
},
"pagination": {
"limit": 10,
"offset": 0
}
}'
mutation SearchProducts($input: SearchProductsInput!) {
searchProducts(input: $input) {
results {
id
name
sku
description
category
brand
price {
amount
currency
}
relevance_score
}
total_count
facets {
categories {
value
count
}
brands {
value
count
}
}
}
}
const searchResults = await stateset.products.search({
query: "wireless headphones",
filters: {
categories: ["Electronics"],
price_range: {
min: 5000,
max: 20000
},
in_stock: true
},
sort: {
field: "relevance",
order: "desc"
}
});
search_results = stateset.products.search({
"query": "wireless headphones",
"filters": {
"categories": ["Electronics"],
"price_range": {
"min": 5000,
"max": 20000
},
"in_stock": True
},
"sort": {
"field": "relevance",
"order": "desc"
}
})
{
"results": [
{
"id": "prod_0901f083-aa1c-43c5-af5c-0a9d2fc64e30",
"name": "Wireless Bluetooth Headphones",
"sku": "WBH-001",
"description": "Premium noise-cancelling wireless headphones with 30-hour battery life",
"category": "Electronics",
"brand": "AudioTech",
"price": {
"amount": 14999,
"currency": "USD"
},
"relevance_score": 0.98,
"inventory_summary": {
"available": true,
"quantity": 145
}
},
{
"id": "prod_abc123def456",
"name": "Sport Wireless Earbuds",
"sku": "SWE-001",
"description": "Waterproof wireless earbuds perfect for workouts",
"category": "Electronics",
"brand": "FitAudio",
"price": {
"amount": 7999,
"currency": "USD"
},
"relevance_score": 0.85,
"inventory_summary": {
"available": true,
"quantity": 230
}
}
],
"total_count": 15,
"facets": {
"categories": [
{
"value": "Electronics",
"count": 15
}
],
"brands": [
{
"value": "AudioTech",
"count": 5
},
{
"value": "FitAudio",
"count": 3
},
{
"value": "SoundMax",
"count": 4
},
{
"value": "TechConnect",
"count": 3
}
],
"price_ranges": [
{
"range": "50-100",
"count": 3
},
{
"range": "100-150",
"count": 8
},
{
"range": "150-200",
"count": 4
}
],
"tags": [
{
"value": "wireless",
"count": 15
},
{
"value": "bluetooth",
"count": 12
},
{
"value": "noise-cancelling",
"count": 6
}
]
}
}
⌘I