Get Product Price Comparison
curl --request GET \
--url https://omnicommerce.sg/api/v1/products/compare-prices/jobs/{jobId} \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://omnicommerce.sg/api/v1/products/compare-prices/jobs/{jobId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://omnicommerce.sg/api/v1/products/compare-prices/jobs/{jobId}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"id": "<string>",
"type": "price_comparison",
"status": "queued",
"productIds": [
"<string>"
],
"total": 4503599627370495,
"processed": 4503599627370495,
"remaining": 4503599627370495,
"results": [
{
"productId": "<string>",
"success": true,
"retryable": true,
"name": "<string>",
"sku": "<string>",
"currentPrice": 123,
"currency": "<string>",
"research": {
"success": true,
"queries": [
"<string>"
],
"gl": "<string>",
"count": 4503599627370495,
"items": [
{
"title": "<string>",
"price": 123,
"priceText": "<string>",
"source": "<string>",
"link": "<string>"
}
],
"stats": {
"min": 123,
"max": 123,
"avg": 123,
"percentiles": {
"p20": 123,
"p50": 123,
"p80": 123
}
},
"pricingBands": {
"low": 123,
"mid": 123,
"high": 123
},
"currency": "<string>"
},
"comparison": {
"metric": "catalog_price_vs_market_median",
"currency": "<string>",
"medianPrice": 123,
"differenceAmount": 123,
"differencePercent": 123
},
"markets": [
{
"marketplace": "shopee",
"storeId": "<string>",
"listingCountry": "<string>",
"country": "<string>",
"gl": "<string>",
"currency": "<string>",
"currentPrice": 123,
"priceSource": "marketplace_snapshot",
"priceAsOf": "<string>",
"success": true,
"retryable": true,
"research": {
"success": true,
"queries": [
"<string>"
],
"gl": "<string>",
"count": 4503599627370495,
"items": [
{
"title": "<string>",
"price": 123,
"priceText": "<string>",
"source": "<string>",
"link": "<string>"
}
],
"stats": {
"min": 123,
"max": 123,
"avg": 123,
"percentiles": {
"p20": 123,
"p50": 123,
"p80": 123
}
},
"pricingBands": {
"low": 123,
"mid": 123,
"high": 123
},
"currency": "<string>"
},
"comparison": {
"metric": "catalog_price_vs_market_median",
"currency": "<string>",
"medianPrice": 123,
"differenceAmount": 123,
"differencePercent": 123
},
"warnings": [
"<string>"
],
"error": "<string>"
}
],
"warnings": [
"<string>"
],
"error": "<string>"
}
],
"result": {
"success": true,
"productIds": [
"<string>"
],
"succeededCount": 4503599627370495,
"failedCount": 4503599627370495,
"results": [
{
"productId": "<string>",
"success": true,
"retryable": true,
"name": "<string>",
"sku": "<string>",
"currentPrice": 123,
"currency": "<string>",
"research": {
"success": true,
"queries": [
"<string>"
],
"gl": "<string>",
"count": 4503599627370495,
"items": [
{
"title": "<string>",
"price": 123,
"priceText": "<string>",
"source": "<string>",
"link": "<string>"
}
],
"stats": {
"min": 123,
"max": 123,
"avg": 123,
"percentiles": {
"p20": 123,
"p50": 123,
"p80": 123
}
},
"pricingBands": {
"low": 123,
"mid": 123,
"high": 123
},
"currency": "<string>"
},
"comparison": {
"metric": "catalog_price_vs_market_median",
"currency": "<string>",
"medianPrice": 123,
"differenceAmount": 123,
"differencePercent": 123
},
"markets": [
{
"marketplace": "shopee",
"storeId": "<string>",
"listingCountry": "<string>",
"country": "<string>",
"gl": "<string>",
"currency": "<string>",
"currentPrice": 123,
"priceSource": "marketplace_snapshot",
"priceAsOf": "<string>",
"success": true,
"retryable": true,
"research": {
"success": true,
"queries": [
"<string>"
],
"gl": "<string>",
"count": 4503599627370495,
"items": [
{
"title": "<string>",
"price": 123,
"priceText": "<string>",
"source": "<string>",
"link": "<string>"
}
],
"stats": {
"min": 123,
"max": 123,
"avg": 123,
"percentiles": {
"p20": 123,
"p50": 123,
"p80": 123
}
},
"pricingBands": {
"low": 123,
"mid": 123,
"high": 123
},
"currency": "<string>"
},
"comparison": {
"metric": "catalog_price_vs_market_median",
"currency": "<string>",
"medianPrice": 123,
"differenceAmount": 123,
"differencePercent": 123
},
"warnings": [
"<string>"
],
"error": "<string>"
}
],
"warnings": [
"<string>"
],
"error": "<string>"
}
],
"warnings": [
"<string>"
]
},
"error": "<string>"
}Products
Get Product Price Comparison
Read durable batch progress and ordered per-product results. Requires catalog:read and the job’s organization.
completed means every target was processed; inspect result.success, succeededCount, failedCount, and each result for partial failures. Session callers must supply organizationId.
GET
/
api
/
v1
/
products
/
compare-prices
/
jobs
/
{jobId}
Get Product Price Comparison
curl --request GET \
--url https://omnicommerce.sg/api/v1/products/compare-prices/jobs/{jobId} \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://omnicommerce.sg/api/v1/products/compare-prices/jobs/{jobId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://omnicommerce.sg/api/v1/products/compare-prices/jobs/{jobId}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"id": "<string>",
"type": "price_comparison",
"status": "queued",
"productIds": [
"<string>"
],
"total": 4503599627370495,
"processed": 4503599627370495,
"remaining": 4503599627370495,
"results": [
{
"productId": "<string>",
"success": true,
"retryable": true,
"name": "<string>",
"sku": "<string>",
"currentPrice": 123,
"currency": "<string>",
"research": {
"success": true,
"queries": [
"<string>"
],
"gl": "<string>",
"count": 4503599627370495,
"items": [
{
"title": "<string>",
"price": 123,
"priceText": "<string>",
"source": "<string>",
"link": "<string>"
}
],
"stats": {
"min": 123,
"max": 123,
"avg": 123,
"percentiles": {
"p20": 123,
"p50": 123,
"p80": 123
}
},
"pricingBands": {
"low": 123,
"mid": 123,
"high": 123
},
"currency": "<string>"
},
"comparison": {
"metric": "catalog_price_vs_market_median",
"currency": "<string>",
"medianPrice": 123,
"differenceAmount": 123,
"differencePercent": 123
},
"markets": [
{
"marketplace": "shopee",
"storeId": "<string>",
"listingCountry": "<string>",
"country": "<string>",
"gl": "<string>",
"currency": "<string>",
"currentPrice": 123,
"priceSource": "marketplace_snapshot",
"priceAsOf": "<string>",
"success": true,
"retryable": true,
"research": {
"success": true,
"queries": [
"<string>"
],
"gl": "<string>",
"count": 4503599627370495,
"items": [
{
"title": "<string>",
"price": 123,
"priceText": "<string>",
"source": "<string>",
"link": "<string>"
}
],
"stats": {
"min": 123,
"max": 123,
"avg": 123,
"percentiles": {
"p20": 123,
"p50": 123,
"p80": 123
}
},
"pricingBands": {
"low": 123,
"mid": 123,
"high": 123
},
"currency": "<string>"
},
"comparison": {
"metric": "catalog_price_vs_market_median",
"currency": "<string>",
"medianPrice": 123,
"differenceAmount": 123,
"differencePercent": 123
},
"warnings": [
"<string>"
],
"error": "<string>"
}
],
"warnings": [
"<string>"
],
"error": "<string>"
}
],
"result": {
"success": true,
"productIds": [
"<string>"
],
"succeededCount": 4503599627370495,
"failedCount": 4503599627370495,
"results": [
{
"productId": "<string>",
"success": true,
"retryable": true,
"name": "<string>",
"sku": "<string>",
"currentPrice": 123,
"currency": "<string>",
"research": {
"success": true,
"queries": [
"<string>"
],
"gl": "<string>",
"count": 4503599627370495,
"items": [
{
"title": "<string>",
"price": 123,
"priceText": "<string>",
"source": "<string>",
"link": "<string>"
}
],
"stats": {
"min": 123,
"max": 123,
"avg": 123,
"percentiles": {
"p20": 123,
"p50": 123,
"p80": 123
}
},
"pricingBands": {
"low": 123,
"mid": 123,
"high": 123
},
"currency": "<string>"
},
"comparison": {
"metric": "catalog_price_vs_market_median",
"currency": "<string>",
"medianPrice": 123,
"differenceAmount": 123,
"differencePercent": 123
},
"markets": [
{
"marketplace": "shopee",
"storeId": "<string>",
"listingCountry": "<string>",
"country": "<string>",
"gl": "<string>",
"currency": "<string>",
"currentPrice": 123,
"priceSource": "marketplace_snapshot",
"priceAsOf": "<string>",
"success": true,
"retryable": true,
"research": {
"success": true,
"queries": [
"<string>"
],
"gl": "<string>",
"count": 4503599627370495,
"items": [
{
"title": "<string>",
"price": 123,
"priceText": "<string>",
"source": "<string>",
"link": "<string>"
}
],
"stats": {
"min": 123,
"max": 123,
"avg": 123,
"percentiles": {
"p20": 123,
"p50": 123,
"p80": 123
}
},
"pricingBands": {
"low": 123,
"mid": 123,
"high": 123
},
"currency": "<string>"
},
"comparison": {
"metric": "catalog_price_vs_market_median",
"currency": "<string>",
"medianPrice": 123,
"differenceAmount": 123,
"differencePercent": 123
},
"warnings": [
"<string>"
],
"error": "<string>"
}
],
"warnings": [
"<string>"
],
"error": "<string>"
}
],
"warnings": [
"<string>"
]
},
"error": "<string>"
}Authorizations
Bearer API key for server-to-server access. Session auth is also supported in first-party UI flows.
Path Parameters
Query Parameters
Response
Current progress or completed results.
Allowed value:
"price_comparison"Available options:
queued, running, completed, failed Required range:
0 <= x <= 9007199254740991Required range:
0 <= x <= 9007199254740991Required range:
0 <= x <= 9007199254740991Show child attributes
Show child attributes
Show child attributes
Show child attributes