Skip to main content
GET
/
v1
/
analyst
/
price-dispersion
Analyze price spread across retailers for a category or department
curl --request GET \
  --url https://api.syntalic.com/v1/analyst/price-dispersion \
  --header 'Content-Type: application/json' \
  --data '
{
  "category": "electronics",
  "category_id": 1,
  "department": "Electronics",
  "country": "us"
}
'
{}

Query Parameters

category
string

Product category (e.g., electronics, grocery, beauty). Fuzzy human-readable input — the resolver maps it through tier 1-4 (id → exact name → trigram → embedding kNN) to a canonical category_id. Pair with category_id if you have a deterministic id from a prior call.

Minimum string length: 1
category_id
integer

Deterministic category id. When set, bypasses the fuzzy resolver cascade and uses tier 1 (id lookup) directly. Agents that learned a canonical id from a prior call's resolved.category_id should pin it here for round-trip stability.

Required range: x >= 1
department
string

Coarse depth-1 BrowseNodes department label (e.g., 'Electronics', 'Grocery', 'Toys & Games'). Exact-match, case-sensitive Title Case. Optional alongside category; either parameter alone or both together are accepted. Use this for stable cross-agent queries where the leaf-level category is too noisy.

Minimum string length: 1
country
enum<string>
default:us

Country (us or ca)

Available options:
us,
ca

Body

application/json

Query parameters as JSON (alternative to URL query string for agents that prefer body-based invocation).

category
string

Product category (e.g., electronics, grocery, beauty). Fuzzy human-readable input — the resolver maps it through tier 1-4 (id → exact name → trigram → embedding kNN) to a canonical category_id. Pair with category_id if you have a deterministic id from a prior call.

Minimum string length: 1
Example:

"electronics"

category_id
integer

Deterministic category id. When set, bypasses the fuzzy resolver cascade and uses tier 1 (id lookup) directly. Agents that learned a canonical id from a prior call's resolved.category_id should pin it here for round-trip stability.

Required range: x >= 1
Example:

1

department
string

Coarse depth-1 BrowseNodes department label (e.g., 'Electronics', 'Grocery', 'Toys & Games'). Exact-match, case-sensitive Title Case. Optional alongside category; either parameter alone or both together are accepted. Use this for stable cross-agent queries where the leaf-level category is too noisy.

Minimum string length: 1
Example:

"Electronics"

country
enum<string>
default:us

Country (us or ca)

Available options:
us,
ca
Example:

"us"

Response

Price dispersion data

The response is of type object.